mcp-openapi
Allows AI agents to discover, search, and call any REST API described by an OpenAPI or Swagger document.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-openapisearch for pet endpoints"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@avidian/mcp-openapi
MCP server for OpenAPI/Swagger — gives AI agents the ability to discover, search, and call any REST API described by an OpenAPI or Swagger document.
Point it at a single OpenAPI/Swagger document (URL or local file, 2.0/3.0/3.1) and it exposes:
The full, dereferenced document as a readable MCP resource
A keyword search tool for finding the right operation when a spec defines many of them
One MCP tool per operation, which proxies a real HTTP request to the underlying API
Installation
npm (requires Node.js ≥ 20)
npm install -g @avidian/mcp-openapiCompiled binary (no runtime needed)
Download from GitHub Releases.
Related MCP server: Swagger Navigator MCP Server
Usage
mcp-openapi <openapi-url-or-path> [--base-url <url>] [--timeout <ms>]mcp-openapi https://petstore3.swagger.io/api/v3/openapi.json
mcp-openapi ./openapi.yaml --base-url https://api.internal.example.com --timeout 10000The source may also come from OPENAPI_URL instead of the positional argument, which is convenient for MCP client configs.
MCP client configuration
{
"mcpServers": {
"my-api": {
"command": "mcp-openapi",
"args": ["https://api.example.com/openapi.json"]
}
}
}Configuration
Variable | Description |
| OpenAPI/Swagger source (URL or local path), if not passed as the CLI argument |
| Overrides every server URL declared in the spec |
| Per-request timeout in milliseconds (default |
Authentication
For each security scheme declared in the OpenAPI document, credentials are read from environment variables named after the scheme (converted to SCREAMING_SNAKE_CASE) — e.g. a scheme called apiKeyAuth reads OPENAPI_AUTH_API_KEY_AUTH.
Scheme type | Environment variables |
HTTP bearer |
|
HTTP basic |
|
apiKey (header, query, cookie) |
|
Schemes with no matching environment variable, and unsupported types (OAuth2, OpenID Connect), are skipped with a warning rather than failing startup.
What it exposes
Resource
openapi://spec— the full, dereferenced OpenAPI/Swagger document.Tool
search_operations— keyword search across every operation's name, summary, description, tags, and path. Use this first when a spec defines many operations.One tool per operation — named after its
operationId(sanitized and deduplicated), taking the operation's path/query/header parameters and request body as arguments.
Development
# Install dependencies
bun install
# Run in dev mode
bun run dev <openapi-url-or-path>
# Type check
bun run typecheck
# Lint
bun run lint
# Format
bun run format
# Test
bun run test
# Build for npm
bun run build
# Compile native binary
bun run compileajv is listed as a direct devDependency even though nothing in src/ imports it. It's a workaround: @apidevtools/swagger-parser depends on ajv-draft-04, which only declares ajv as a peer dependency, and Bun's bundler fails to statically resolve that peer dependency when producing standalone binaries (bun run compile) unless ajv is also resolvable as a direct dependency somewhere in the root of the tree. Not needed for bun run build (the npm-published bundle), which keeps @apidevtools/swagger-parser external and lets Node resolve it normally at install time.
License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/avidianity/mcp-openapi'
If you have feedback or need assistance with the MCP directory API, please join our Discord server