Expand description
Model Context Protocol (MCP) client implementation.
This module provides an MCP client that connects to stdio and HTTP-based MCP servers for tool discovery and execution.
§Configuration
MCP servers are configured via mcp.json:
{
"mcpServers": {
"kreuzberg": {
"command": "kreuzberg",
"args": ["mcp", "--transport", "stdio"]
},
"tavily": {
"url": "https://mcp.tavily.com/mcp/",
"env": { "TAVILY_API_KEY": "${TAVILY_API_KEY}" }
}
}
}§Tool Namespacing
Tools are namespaced by server name: server_name::tool_name
(e.g., time::now, tavily::search).
Modules§
- binding_
cache - Owner-isolated live MCP bindings with caller-owned, single-flight refresh.
- catalog
- Immutable host-owned MCP definitions, separate from executable connections.
- config
- exposure
- Host-owned, per-stream tool visibility. Discovery never grants execution.
- lifecycle
- Ordered, owner-scoped MCP lifecycle observations with bounded retention.
- preflight
- Required/optional MCP preparation after authority and policy selection.
- projection
- Pure, authority-aware MCP selection for one model step.
- registry
- runtime
- Host-owned MCP readiness and lazy startup, downstream of policy projection.