Camel MCP
Apache Camel catalog verification and route validation via JBang MCP
The Camel MCP server provides AI agents with real-time access to the Apache Camel component catalog — verifying that components, EIPs, data formats, and expression languages actually exist in the target Camel version before they appear in any design or code.
This is the enforcement mechanism for Iron Law 1: MCP Catalog Verification.
How It Runs
The Camel MCP is the official Apache Camel JBang MCP server (camel-jbang-mcp), launched automatically when camel-kit init configures the project:
{
"camel": {
"command": "jbang",
"args": [
"org.apache.camel:camel-jbang-mcp:{version}:runner"
]
}
}
It runs as a local process — no external API calls, no cloud dependencies. The catalog data comes from the Apache Camel release artifacts on Maven Central.
15 MCP Tools
How Camel-Kit Uses It
The AI generates component names from training data:
- route:
from:
uri: "camel-superqueue:orders" # ← hallucinated
steps:
- to: "camel-fastdb:customers" # ← doesn't exist
Components may be renamed, removed, or have different options between Camel versions. Training data can be months or years outdated.
Every component is verified before it enters the design or code:
AI: User mentioned "message queue"
→ camel_catalog_component(name="jms") ✓ exists
→ camel_catalog_component(name="amqp") ✓ exists
→ camel_catalog_component(name="kafka") ✓ exists
AI: "Which messaging system? JMS, AMQP, or Kafka?"
If a component doesn’t exist, the AI asks for clarification instead of guessing.
Configuration
camel-kit init generates MCP configuration per agent:
| Agent | Config File | Format |
|---|---|---|
| Claude Code | .mcp.json | JSON with mcpServers |
| IBM Bob | .bob/mcp.json | JSON |
| Gemini CLI | .gemini/settings.json | JSON |
| Qwen | .qwen/settings.json | JSON |
| OpenCode | opencode.json | JSON |
All configurations point to the same JBang-launched Camel MCP server — same tools, same catalog, different config file format.
Version Alignment
The Camel MCP server version matches the target Camel version:
| Property | Current Value |
|---|---|
| Camel MCP version | 4.20.0 |
| Camel Main default | 4.20.0 |
| Camel Spring Boot | 4.20.0 |
| Camel Quarkus | 4.18.0 |
When the user specifies a different Camel version via camel-kit init -p camelVersion=4.14.0, the MCP server loads the catalog for that specific version.
Next Steps
- Knowledge MCP — Documentation search (hybrid semantic search)
- Architecture Overview — Four-layer architecture
- Skills System — How skills invoke MCP tools