metatools-mcp¶
MCP server that exposes the tool stack via standardized MCP tools with a progressive-disclosure flow.
Companion A2A surface: see metatools-a2a.
Motivation¶
- Provide a minimal, consistent MCP surface
- Keep discovery cheap and execution safe
- Enable pluggable search and optional code execution
Core responsibilities¶
- Expose
search_tools,list_namespaces - Expose
describe_tool,list_tool_examples - Expose
run_tool,run_chain - Optionally expose
execute_code - Use the official MCP Go SDK
Transport surface¶
stdio(default): local clients/Claude Desktop.streamable(recommended HTTP): MCP spec 2025-11-25 with session management.sse(deprecated): legacy web clients.
See metatools-mcp/docs/usage.md for the full config/env matrix.
Optional runtime integration¶
execute_code is enabled with the toolruntime build tag and selects a runtime profile at startup:
devprofile (default): unsafe subprocess backend.standardprofile: Docker sandbox (setMETATOOLS_RUNTIME_PROFILE=standard).METATOOLS_DOCKER_IMAGEoverrides the sandbox image name.METATOOLS_WASM_ENABLED=trueenables the WASM backend (wazero).METATOOLS_RUNTIME_BACKEND=wasmselects WASM for the standard profile.
Example¶
srv, _ := server.New(cfg)
_ = srv.Run(context.Background(), &mcp.StdioTransport{})
Diagram¶
Usability notes¶
- Small tool surface reduces prompt complexity
- Schemas and examples are fetched on demand