The split is finer than most: request body, response schema, path parameters and security schemes are separate calls, so a model answering "what does this POST need" pulls a few hundred lines rather than the file. Each instance is bound to the schema on its command line, which keeps answers unambiguous and means adding an API means adding a server.
A Node server that loads a single OpenAPI schema — JSON or YAML — named on the command line, and answers questions about it in YAML, which is easier for a model to read than raw JSON schema.
- list-endpoints for the paths and operations, get-endpoint for one of them
- get-request-body and get-response-schema for a single operation's shapes
- get-path-parameters for what a path expects
- list-components and get-component for the reusable definitions
- get-examples for the examples carried in the spec
- list-security-schemes for how the API authenticates
- search-schema across the whole specification
Node. Run with npx -y mcp-openapi-schema and the path to the schema file as its argument; with no argument it uses openapi.yaml in the current directory. One server instance per API, so several APIs means several entries in your client config.
One command — npx -y mcp-openapi-schema
