examples/MCP-tools Public
components: mcp-server: kind: worker description: >- The Worker. Serves MCP over Streamable HTTP at /mcp, statelessly: each POST gets a fresh McpServer with every tool registered. Also counts tool calls and serves them at /stats. owns: - src/index.ts - src/worker.ts - src/server.ts - src/usage.ts talks_to: - { to: tools, via: import } - { to: mcp-sdk, via: import } - { to: usage, via: kv } tools: kind: library description: >- The tools themselves: a name, a description written for models, zod input and output schemas and a pure run function each. No MCP, HTTP or bindings in here. owns: - src/tools/** talks_to: - { to: zod, via: import } usage: kind: kv description: Calls and errors per tool per UTC day, kept 90 days. Approximate by design. binding: USAGE mcp-sdk: kind: external description: The MCP TypeScript SDK. McpServer validates arguments and builds results; the Web-standard transport speaks Streamable HTTP. package: "@modelcontextprotocol/sdk" zod: kind: external description: Schema library for tool inputs and outputs. The SDK turns the schemas into JSON Schema for tools/list. package: zod