Add support for the Model Context Protocol (MCP) as a client, allowing Golem to connect to MCP servers and use their tools.
Overview
MCP is an open protocol that standardizes how AI agents connect to external data sources and tools. Implementing an MCP client would let Golem dynamically discover and use tools exposed by any MCP-compatible server.
Scope
- Implement MCP client that connects to MCP servers (stdio and/or SSE transport)
- Discover available tools from connected servers via
tools/list
- Register MCP tools in the
ToolRegistry so the ReAct loop can use them
- Call MCP tools via
tools/call and return results as Outcome
- Configuration for MCP servers (e.g. in a config file or CLI args)
Design considerations
- MCP tools should be indistinguishable from built-in tools to the ReAct engine
- Should support multiple MCP servers simultaneously
- Error handling: server disconnects, timeouts, invalid responses
- Consider
resources/ and prompts/ MCP capabilities as stretch goals
Add support for the Model Context Protocol (MCP) as a client, allowing Golem to connect to MCP servers and use their tools.
Overview
MCP is an open protocol that standardizes how AI agents connect to external data sources and tools. Implementing an MCP client would let Golem dynamically discover and use tools exposed by any MCP-compatible server.
Scope
tools/listToolRegistryso the ReAct loop can use themtools/calland return results asOutcomeDesign considerations
resources/andprompts/MCP capabilities as stretch goals