Skip to content

feat: implement MCP client support #39

Description

@assapir

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions