Model Context Protocol

Curated MCP Server vs. Plain 1:1 Conversion

As described by Jeremiah Lowin in "Stop Converting Your REST APIs to MCP", naive 1:1 endpoint converters poison AI agents with context bloat, leaked internal endpoints and transport noise. RapiDoc’s client-side generator applies smart heuristics to a plain OpenAPI spec (here, the Swagger Petstore) to build a curated MCP manifest, exported with a runtime and a TypeScript server you can run as-is.

✨
Curated MCP Server
RapiDoc Smart Generator (Agent-First)
Recommended
  • Live token budgetcomputed from this spec with getMcpBudget()
  • Agent-friendly tool names from each operationId (findPetsByStatus → find_pets_by_status)
  • Concise descriptions from the operation summary, stripped of HTML and Markdown
  • Auto-Excluded operations marked x-internal, x-hidden or deprecated, and webhooks
  • Static Resources for parameterless reference lookups (/currencies, /status, ...)
  • Real JSON Schema arguments: nested request bodies, enums and required, with $refs inlined
  • Safety annotations: MCP readOnlyHint, destructiveHint and idempotentHint on every tool, so hosts can ask before delete_pet
  • Auth from securitySchemes: api_key and petstore_auth are applied by the runtime from API_KEY and PETSTORE_AUTH, never asked of the model
⚠️
Plain 1:1 Conversion
Traditional REST Wrapper (Human-Centric)
Anti-Pattern
  • Unbudgeted prompt context, with no warning when the tool catalog grows too large
  • Generic tool names and raw, Markdown-heavy descriptions
  • 0 Resources (static lookup tables pollute the active tool catalog)
  • Leaked Endpoints: internal and deprecated routes exposed to the agent
  • Transport Noise: Authorization, Cookie and X-API-Key headers exposed as tool arguments
  • No Safety Guardrails: destructive operations unflagged
Try it: Click "Export MCP Server" in the action bar above to download the zip, or inspect its files below: