Parsing, selection, generation, copying, and downloads happen in this browser. No OpenAPI document, endpoint, key, or note is uploaded or collected.
1 · Define the server
Choose a narrow API surface
OpenAPI JSON is parsed locally. YAML, remote URLs, callbacks, webhooks, and components are compatibility boundaries; convert them to JSON or endpoint lines first.
2 · Select tools
Expose only the operations you reviewed
3 · Download local files
Review the generated scaffold
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
// Expose a small, reviewed set of API operations to an MCP client.
// Generated from a locally pasted OpenAPI JSON document. Implement request logic and validate auth before production.
const server = new McpServer({
name: "custom-api",
version: "0.1.0"
});
const transport = new StdioServerTransport();
await server.connect(transport);
The server handler is intentionally a safe TODO. Add a reviewed HTTP client, parameter validation, timeout, host allowlist, and error redaction before production.
4 · Security gate
Do not ship until the boundary is explicit
Compatibility boundary
MCP transport and SDK notes
Generated code follows the TypeScript SDK registration shape and local stdio transport pattern. Verify the SDK version, client capability negotiation, tool annotations, structured content, and transport framing against your target client before rollout. This starter does not claim automatic compatibility with Streamable HTTP, legacy SSE, OAuth, remote deployment, or vendor-specific extensions.
Use the MCP Server Generator to scaffold a small custom MCP server when an existing marketplace server does not expose the data, tool, or workflow your AI coding setup needs. Parsing and generation stay in this browser; never paste keys, cookies, private payloads, or production data.
What This Generates
The workbench accepts OpenAPI JSON or equivalent METHOD /path | description lines, lets you select operations, and generates server.ts, package.json, and mcp.json. Handlers are safe TODOs and do not make network requests until you implement and review them.
OpenAPI And Compatibility Boundaries
Local parsing covers HTTP operations under paths. YAML, remote URLs, webhooks, callbacks, OAuth, Streamable HTTP, legacy SSE, and vendor-specific extensions need conversion or separate implementation. Verify the SDK version, client capability negotiation, tool annotations, and transport framing against the target client.
Launch Checklist
Expose only reviewed tools, add zod schemas for parameters, constrain base URLs and redirects, use environment variables or a secret manager, require approval and audit logs for writes, and pin reviewed SDK and dependency versions.
Related MCP Developer Tools
After generating a server, use a config generator to connect it, OpenAPI to MCP for conversion context, an MCP security scanner for scope review, and an MCP proxy to observe boundaries.
FAQ
Is this different from an MCP config generator?
Yes. The config generator creates mcp.json for existing servers; this page generates a starter server you can implement yourself.
Can I paste an OpenAPI YAML URL or API key?
No. The workbench parses locally pasted OpenAPI JSON or endpoint lines and does not fetch URLs or upload input. Do not paste API keys, bearer tokens, cookies, or private payloads.
What does endpoint selection do?
It controls which HTTP operations receive tool registrations in the generated scaffold. Selecting an endpoint does not implement its network request; you must add and review the handler.
Should a custom MCP server use stdio or HTTP?
Stdio is a simple local-first starting point. HTTP or Streamable HTTP can be useful for shared or remote deployment, but transport, authentication, session, and client compatibility must be implemented and tested separately.
What should the first tool do?
Start with one read-only tool that returns useful context. Add write actions only after permission, approval, idempotency, audit, and error-redaction behavior are clear.