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

Without MCP

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.

With MCP

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:

AgentConfig FileFormat
Claude Code.mcp.jsonJSON with mcpServers
IBM Bob.bob/mcp.jsonJSON
Gemini CLI.gemini/settings.jsonJSON
Qwen.qwen/settings.jsonJSON
OpenCodeopencode.jsonJSON

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:

PropertyCurrent Value
Camel MCP version4.20.0
Camel Main default4.20.0
Camel Spring Boot4.20.0
Camel Quarkus4.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