MCP Server Generator
Describe your tools, get a working Model Context Protocol server scaffold in Python (FastMCP) or TypeScript, plus the client config to wire it into Claude. Companion to MCP vs. RAG Is the Wrong Question. Runs entirely in your browser.
Tools
Running it
- Python:
pip install fastmcp, save asserver.py, thenfastmcp run server.pyor justpython server.py. - TypeScript:
npm install @modelcontextprotocol/sdk zod, save asserver.ts, run withnpx tsx server.ts. - Claude Code: drop the client config into
.mcp.jsonat your project root. Claude Desktop: same block insideclaude_desktop_config.json.
Scaffold opinions baked in
- Descriptions are the API. The model picks tools by reading your descriptions, so every tool and parameter field here feeds the schema. Vague descriptions are the number one cause of agents ignoring a tool.
- Return errors as content. The stubs return failure messages as tool output rather than raising, so the model can read what went wrong and retry sensibly.
- Small, sharp tools win. Five focused tools beat one mega-tool with a mode parameter. If a tool needs more than four or five parameters, it usually wants to be two tools.
When MCP is the right integration at all, and when plain retrieval is, is the subject of the essay.