You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-**MCP Server**: A server implementing the Model Context Protocol, which typically a streamable HTTP endpoint.
27
27
-**Adapters**: Logical resources representing MCP servers in the gateway, managed under the `/adapters` scope. Designed to coexist with other resource types (e.g., `/agents`) in a unified AI development platform.
28
+
-**Tools**: Registered resources with MCP tool definitions that can be dynamically routed via the tool gateway router. Each tool includes metadata about its execution endpoint and input schema.
29
+
-**Tool Gateway Router**: An MCP server that acts as an intelligent router, directing tool execution requests to the appropriate registered tool servers based on tool definitions. Multiple router instances may run behind the gateway for session affinity.
28
30
-**Session-Aware Stateful Routing**: Ensures that all requests with a given `session_id` are consistently routed to the same MCP server instance.
29
31
30
32
## Architecture
31
33
32
34
```mermaid
33
35
flowchart LR
34
-
subgraph Clients["Clients"]
35
-
DataClient["Agent/MCP Data<br>Client"]
36
-
MgmtClient["Server Management<br>Client"]
37
-
end
38
-
39
-
subgraph DataPlane["Data Plane"]
40
-
Routing["Distributed Routing"]
41
-
end
42
-
43
-
subgraph ControlPlane["Control Plane"]
44
-
DeploymentManagement["Deployment Management"]
45
-
MetadataManagement["Metadata Management"]
36
+
subgraph Clients[" "]
37
+
direction TB
38
+
DataClient["🔌 Agent/MCP<br>Data Client"]
39
+
MgmtClient["⚙️ Management<br>Client"]
46
40
end
47
41
48
42
subgraph Gateway["MCP Gateway"]
49
-
Auth["AuthN - Bearer<br>AuthZ - RBAC/ACL"]
50
-
Auth2["AuthN - Bearer<br>AuthZ - RBAC/ACL"]
51
-
DataPlane
52
-
ControlPlane
43
+
direction TB
44
+
45
+
subgraph Auth1["Authentication & Authorization"]
46
+
Auth["🔐 Data Plane Auth<br>Bearer Token / RBAC"]
47
+
Auth2["🔐 Control Plane Auth<br>Bearer Token / RBAC"]
### Control Plane – RESTful APIs for MCP Server Management
73
122
123
+
#### MCP Server Management (Adapters)
124
+
74
125
-`POST /adapters` — Deploy and register a new MCP server.
75
126
-`GET /adapters` — List all MCP servers the user can access.
76
127
-`GET /adapters/{name}` — Retrieve metadata for a specific adapter.
@@ -79,16 +130,56 @@ flowchart LR
79
130
-`PUT /adapters/{name}` — Update the deployment.
80
131
-`DELETE /adapters/{name}` — Remove the server.
81
132
133
+
#### Tool Registration and Management
134
+
135
+
-`POST /tools` — Register and deploy a tool with MCP tool definition metadata.
136
+
-`GET /tools` — List all registered tools the user can access.
137
+
-`GET /tools/{name}` — Retrieve metadata and tool definition for a specific tool.
138
+
-`GET /tools/{name}/status` — Check the tool deployment status.
139
+
-`GET /tools/{name}/logs` — Access the tool server's running logs.
140
+
-`PUT /tools/{name}` — Update a tool deployment and definition.
141
+
-`DELETE /tools/{name}` — Remove a registered tool.
142
+
82
143
### Data Plane – Gateway Routing for MCP Servers
83
144
145
+
#### Direct MCP Server Access
146
+
84
147
-`POST /adapters/{name}/mcp` — Establish a streamable HTTP connection.
85
148
149
+
#### Dynamic Tool Routing via Tool Gateway Router
150
+
151
+
-`POST /mcp` — Route requests to the tool gateway router, which dynamically routes to registered tools based on tool definitions. The router itself is an MCP server with multiple instances hosted behind the gateway for scalability.
152
+
86
153
### Additional Capabilities
87
154
88
155
- Authentication and authorization support (production mode).
89
156
- Stateless reverse proxy with a distributed session store (production mode).
90
157
- Kubernetes-native deployment using StatefulSets and headless services.
91
158
159
+
### Tool Registration and Dynamic Routing
160
+
161
+
The MCP Gateway now supports **tool registration** with dynamic routing capabilities, enabling a scalable architecture for managing and executing MCP tools.
162
+
163
+
### How It Works
164
+
165
+
1.**Tool Registration**: Developers register tools via the `/tools` API endpoint, providing:
0 commit comments