Skip to content

Commit 28e8491

Browse files
committed
Added a blog post showing Wanaku and Apache Camel together
1 parent 43592ce commit 28e8491

File tree

2 files changed

+148
-0
lines changed

2 files changed

+148
-0
lines changed
805 KB
Loading
Lines changed: 148 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,148 @@
1+
---
2+
title: "Apache Camel Meets MCP: Securely Exposing Your Enterprise Routes as MCP Tools with Wanaku"
3+
date: 2025-10-22
4+
draft: false
5+
authors: [ orpiske ]
6+
categories: ["Camel", "AI"]
7+
preview: "Apache Camel Meets MCP: Securely Exposing Your Enterprise Routes as MCP Tools with Wanaku"
8+
---
9+
10+
The biggest challenge for enterprises in the rapidly evolving world of Generative AI isn't just building "smarter" LLMs or agents — it's securely connecting that AI to the decades of business logic and data locked away in enterprise systems. How do you let an AI agent interact with your Salesforce data, your Kafka topics, or your internal databases without rewriting everything or creating a massive security hole?
11+
12+
It turns out the answer may already be running in your organization.
13+
14+
If you're using Apache Camel, you already have the most powerful, flexible, and comprehensive integration toolset on the planet. With its 300+ components, you've already built the bridges to your most critical systems.
15+
16+
Today, I am excited to show you how to connect those battle-tested Camel routes directly to AI agents using [Wanaku](https://wanaku.ai) and the [Model Context Protocol (MCP)](https://modelcontextprotocol.io/docs/getting-started/intro).
17+
18+
## What is Wanaku?
19+
20+
Before we dive in, let's briefly introduce the new player. [Wanaku](https://wanaku.ai) is an open source integration service designed to securely connect AI agents with enterprise systems.
21+
At its core, it's an MCP Router—a central, secure gateway that manages and governs how AI agents access specific "Tools" (functions) and "Resources" (data).
22+
23+
It acts as a proxy, filtering and securing the capabilities you want to expose to your LLMs. And thanks to its new [Camel Integration Capability](https://wanaku.ai/docs/camel-integration-capability/), Apache Camel is now a first-class citizen in this new AI-driven world.
24+
25+
## The Magic: From Camel Route to AI Tool
26+
27+
The new capability allows you to take a standard Apache Camel route and, with a simple mapping file, expose it as a native MCP Tool that any compliant AI agent can use.
28+
29+
Let's walk through an example: promoting an employee.
30+
31+
### Step 1: Your Existing Apache Camel Route
32+
33+
First, imagine you have a standard Camel route definition written in YAML. This one defines a few internal endpoints for handling employee promotions.
34+
35+
```yaml
36+
- route:
37+
id: route-3103
38+
from:
39+
id: from-4035
40+
uri: direct
41+
parameters:
42+
name: initiate-promotion
43+
steps:
44+
- log:
45+
id: log-2526
46+
message: Initiating promotion process for employee ${header.EMPLOYEE}
47+
- setBody:
48+
simple:
49+
expression: Promotion process for employee ${header.EMPLOYEE} has started.
50+
- route:
51+
id: route-3104
52+
from:
53+
id: from-4035-1797
54+
uri: direct
55+
parameters:
56+
name: confirm-promotion
57+
# ... steps to confirm ...
58+
- route:
59+
id: route-3105
60+
from:
61+
id: from-9762
62+
uri: file
63+
parameters:
64+
directoryName: /.../promote-employee
65+
fileName: employee-history.txt
66+
# ... steps to load file ...
67+
```
68+
69+
This is pure, standard Apache Camel. We have two `direct` endpoints for initiating and confirming a promotion and a `file` endpoint for retrieving a resource. Notice that the first route expects a header named `EMPLOYEE`.
70+
71+
### Step 2: The Wanaku "Rules" Mapping
72+
73+
Now, here's the bridge. We create a separate Wanaku rules file. This file declares our MCP Tools and maps them directly to our Camel routes.
74+
75+
```yaml
76+
mcp:
77+
tools:
78+
- initiate-employee-promotion:
79+
route:
80+
id: "route-3103"
81+
description: "Initiate the promotion process for an employee"
82+
properties:
83+
- name: employee
84+
type: string
85+
description: The employee to confirm the promotion
86+
required: true
87+
mapping:
88+
type: header
89+
name: EMPLOYEE
90+
- confirm-employee-promotion:
91+
route:
92+
id: "route-3104"
93+
# ... other properties ...
94+
resources:
95+
- employee-performance-history:
96+
route:
97+
id: "route-3105"
98+
description: "Obtain the employee performance history"
99+
```
100+
101+
Look at what's happening here. We're defining an MCP Tool named `initiate-employee-promotion`.
102+
103+
1. We give it a human-readable `description` for the AI.
104+
2. We link it directly to our Camel `route-3103`.
105+
3. We define an input property `employee` for the AI.
106+
4. Crucially, we use the `mapping` block to tell Wanaku: "Take the AI's `employee` argument and inject it as a Camel header named `EMPLOYEE`".
107+
108+
We do the same for the `employee-performance-history`, mapping it as an MCP Resource to our `file`-based route (`route-3105`).
109+
110+
### Step 3: The Result
111+
112+
When Wanaku loads these two files, the following happens automagically:
113+
114+
1. An AI agent connects to Wanaku sees a new tool available: `initiate-employee-promotion`, which takes one argument: `employee`.
115+
2. The agent decides to use it: "Please initiate the promotion for 'Jane Doe'."
116+
3. Wanaku receives this request, validates it, and triggers your `route-3103` in Apache Camel.
117+
4. It injects "Jane Doe" into the `EMPLOYEE` message header.
118+
5. Your Camel route runs exactly as it always has, logging the message and returning a confirmation.
119+
6. Wanaku passes this response back to the AI.
120+
121+
Your enterprise-grade Camel route is now an AI tool, and you didn't have to write a single line of new integration code.
122+
123+
## From 300+ Components to 300+ AI Tools
124+
125+
This example is simple, but now think bigger. That `uri` in your Camel route doesn't have to be `direct` or `file`. It can be:
126+
127+
* `kafka:my-topic`
128+
* `salesforce:getSObject`
129+
* `sql:select * from ...`
130+
* `jms:queue:my-queue`
131+
* `aws2-s3:my-bucket`
132+
133+
Anything you can do in Apache Camel, you can now securely expose to an AI agent. This opens up a new frontier for integration. You can even visually design your routes in a tool like Kaoto or Camel Karavan, export the YAML, add the Wanaku rules file, and instantly
134+
create a new AI-powered tool.
135+
136+
### Secure by Default
137+
138+
The best part? This isn't the Wild West. Wanaku is built for the enterprise. It provides a full MCP Authentication flow, including support for OIDC. This means you can use your existing identity provider (like Keycloak) to define exactly which agents, users, or applications are allowed to access which tools.
139+
140+
You have fine-grained control, ensuring that only an "HR-Admin" agent can run the initiate-employee-promotion tool, while a "Public-Chatbot" agent cannot.
141+
142+
### Conclusion
143+
144+
Generative AI is a powerful new interface, but its true value is unlocked when it can interact with the systems that run your business. With Apache Camel and Wanaku, you don't have to rebuild your integrations for the AI era. You can leverage the powerful, reliable, and secure routes you've already perfected.
145+
146+
This is the ultimate bridge between established enterprise integration and the future of AI.
147+
148+
Ready to give your Camel routes AI superpowers? Check out the Wanaku documentation to get started: https://wanaku.ai/docs/

0 commit comments

Comments
 (0)