feat: Implement support for MCP Servers (Claude Tools) - Stdio and SSE via json config
… Servers
EDIT: initial support for SSE servers is now also implemented and tested using https://github.com/supercorp-ai/supergateway.
This implements support for Stdio MCP Servers (ie local exe). There is a stub for SSE Servers, I am currently finishing the implementation.
With this PR you can configure local stdio mcp servers, their tools are then available to the agent like built in tools. The tool prompt is being dynamically built based on information the mcp server returns when listing tools.
It also installs a few dependencies useful for some MCP servers out there.
It adds local nginx for playwright/puppeteer access to local files (not possible via file:// because of enabled web-security in these agent browsers)
Configuration is json for now similar to claude desktop. Might enhance ui with input fields but it's not a prio for now i guess.
would suggest to make it more broad and able to work with both Claude and be able to be configured for other MCP service such as for IDEs or really anywhere. Also, this feature would allow for better control via Kubernetes and other orchestration strategies for individual instances of A0, if that makes sense.
In the end configuration via UI is the goal. Connecting to claude desktop etc. : i do not know how to understand this. EDIT: Okay, now I get this. But this PR does not make a0 expose an mcp server, it adds support to consume mcp resources just like claude, cursor etc. do.