Commit 7d73718
feat(gateway): add MCP server support (#1558)
## Summary
- Add Model Context Protocol (MCP) endpoint at `/mcp` for tool discovery
and execution
- New MCP servers dialog in playground for managing HTTP-based MCP
server connections
- Integration with chat API to enable MCP tools in conversations
## Test plan
- [ ] Test MCP endpoint responds to tool listing requests
- [ ] Test MCP tool execution through the gateway
- [ ] Verify MCP servers dialog allows adding/removing servers in
playground
- [ ] Test chat completions with MCP tools enabled
🤖 Generated with [Claude Code](https://claude.com/claude-code)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Added Model Context Protocol (MCP) support: manage MCP servers
(add/edit/enable/disable, persisted locally) and integrate MCP tools
into chat streaming with tool-name display.
* **Bug Fixes**
* Improved tool detection and more robust cleanup/error handling for MCP
client connections and streaming flows.
* **UI**
* Replaced some filter controls with toggle switches for a cleaner
layout; tool headers now show tool titles.
<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Luca Steeb (bot) <contact@luca-steeb.com>1 parent e97917b commit 7d73718
File tree
15 files changed
+3212
-1536
lines changed- apps
- gateway
- src
- chat
- mcp
- playground
- src
- app/api/chat
- components
- playground
- ui
- hooks
- ui/src/content/migrations
15 files changed
+3212
-1536
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
35 | 35 | | |
36 | 36 | | |
37 | 37 | | |
| 38 | + | |
38 | 39 | | |
39 | 40 | | |
40 | 41 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| 21 | + | |
21 | 22 | | |
22 | 23 | | |
23 | 24 | | |
| |||
77 | 78 | | |
78 | 79 | | |
79 | 80 | | |
80 | | - | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
81 | 88 | | |
82 | | - | |
| 89 | + | |
83 | 90 | | |
84 | 91 | | |
85 | 92 | | |
86 | 93 | | |
87 | 94 | | |
88 | 95 | | |
| 96 | + | |
| 97 | + | |
89 | 98 | | |
90 | | - | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
91 | 104 | | |
92 | 105 | | |
93 | 106 | | |
| |||
237 | 250 | | |
238 | 251 | | |
239 | 252 | | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
240 | 260 | | |
241 | 261 | | |
242 | 262 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
260 | 260 | | |
261 | 261 | | |
262 | 262 | | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
263 | 280 | | |
264 | | - | |
265 | | - | |
266 | | - | |
267 | | - | |
| 281 | + | |
268 | 282 | | |
269 | 283 | | |
270 | 284 | | |
| |||
0 commit comments