One line of code gives your server human-readable docs and a machine-readable spec.
Open-source. TypeScript & Python.
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import { mcpspec } from "@mcpspec-dev/typescript"; const server = new McpServer({ name: "my-server", version: "1.0.0" }); // register your tools, resources, prompts... const app = mcpspec(server, { info: { title: "My Server", version: "1.0.0" } }); app.listen(3000); // → /docs human-readable docs // → /mcpspec.yaml machine-readable spec // → /mcp MCP endpoint
from mcp.server.fastmcp import FastMCP from mcpspec import McpSpec mcp = FastMCP("my-server") # register your tools, resources, prompts... spec = McpSpec(mcp, info={ "title": "My Server", "version": "1.0.0" }) mcp.run(transport="streamable-http") # → /docs human-readable docs # → /mcpspec.yaml machine-readable spec # → /mcp MCP endpoint
mcpspec never executes tools, reads resources, or accesses prompt content. Only list endpoints. Only metadata. Server authors control what's exposed.
MIT licensed. Built in the open.