📦
Openapi2mcp
Create MCP Servers that compile to Wasm given an OpenAPI spec
0 installs
Trust: 34 — Low
Docs
Ask AI about Openapi2mcp
Powered by Claude · Grounded in docs
I know everything about Openapi2mcp. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Loading tools...
Reviews
Documentation
OpenAPI to MCP Server Generator
Generate MCP server tools from OpenAPI specifications. Works with mcp-server-template-ts.
Usage
Install via npm
npm install -g openapi2mcp
Or run directly with npx:
npx openapi2mcp <spec.yaml> --project-path <output-dir>
Generate an MCP Server
Start with an MCP project using our template:
git clone https://github.com/cosmonic-labs/mcp-server-template-ts.git my-mcp-server
Generate MCP tools into the server project from an OpenAPI specification:
openapi2mcp path/to/openapi.yaml --project-path my-mcp-server
CLI Options
| Option | Description |
|---|---|
--project-path <path> | Path to the project root directory (default: .) |
--include-tools <regex> | Regex pattern for tools to include |
--include-methods <methods> | Comma-separated HTTP methods to include (e.g., GET,POST) |
--skip-long-tool-names | Skip tools with names exceeding max length instead of erroring |
--oauth2 | Enable OAuth2 authentication |
--oauth2-auth-url <url> | OAuth2 authorization URL (required if --oauth2 is set) |
--oauth2-token-url <url> | OAuth2 token URL (required if --oauth2 is set) |
--oauth2-refresh-url <url> | OAuth2 refresh token URL |
Example with Options
openapi2mcp api-spec.yaml \
--project-path ./my-server \
--include-methods GET,POST \
--include-tools "users|products" \
--oauth2 \
--oauth2-auth-url "https://auth.example.com/authorize" \
--oauth2-token-url "https://auth.example.com/token"
Building from Source
Prerequisites
- Rust toolchain with
wasm32-wasip2target - Node.js 18+
- jco
Build
npm install
npm run build
This compiles the Rust code to WASM and transpiles it to JavaScript.
Run from Source
git clone https://github.com/cosmonic-labs/mcp-server-template-ts.git tests/petstore/generated
node index.js tests/petstore/input.json --project-path tests/petstore/generated
