mcp-openapi-runner

by saurav61091

Not rated
GitHub

About

Turn any OpenAPI spec into callable MCP tools for Claude — point at any OpenAPI 3.x spec and Claude can call every endpoint through natural language.

Details

Author
saurav61091
Categories
Other, AI, Developer Tools

Setup

Install mcp-openapi-runner in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/saurav61091/mcp-openapi

Follow the installation instructions in the repository README, then restart your MCP client.

Turn any OpenAPI spec into MCP tools for Claude — zero config, instant API access.

Pointmcp-openapi-runnerat any OpenAPI 3.x spec and Claude can call every endpoint through natural language. No custom integration code. No manual tool definitions.One line of config.

Add to yourClaude Desktop/Claude Code/Cursor/ClineMCP config:

{ "mcpServers": { "petstore": { "command": "npx", "args": ["-y", "mcp-openapi-runner", "--spec", "https://petstore3.swagger.io/api/v3/openapi.json"] } } }

That's it. Claude can now discover and call every endpoint in that API.

You:What pets are available? Add a new dog named Buddy.

Claude:Let me check what's available.[callslist_endpoints→ discoversfindPetsByStatus,addPet, ...][callscall_endpointfindPetsByStatuswithstatus=available]

There are 3 pets currently available. Now I'll add Buddy...[callscall_endpointaddPetwith{"name":"Buddy","status":"available"}]

Done! Buddy has been added with ID 12345.

- Zero config— just point at a spec URL or file
-
Any OpenAPI 3.x spec— JSON or YAML, local or remote,$refauto-resolved
-
Auto-generated operationIds— works even when the spec doesn't define them
-
Built-in auth— Bearer, API key, Basic auth via environment variables
-
Endpoint filtering— only expose the endpoints you need with--filter
-
Custom headers— pass arbitrary headers with--header
-
Server URL override— point at staging/local with--server-url
-
Two-tool design— simplelist_endpointscall_endpointworkflow
-
Works everywhere— Claude Desktop, Claude Code, Cursor, Cline, any MCP client

{ "mcpServers": { "stripe": { "command": "npx", "args": ["-y", "mcp-openapi-runner", "--spec", "https://raw.githubusercontent.com/stripe/openapi/master/openapi/spec3.json"], "env": { "OPENAPI_BEARER_TOKEN": "sk_test_..." } } } }
{ "mcpServers": { "github": { "command": "npx", "args": ["-y", "mcp-openapi-runner", "--spec", "https://raw.githubusercontent.com/github/rest-api-description/main/descriptions/api.github.com/api.github.com.json", "--filter", "repos"], "env": { "OPENAPI_BEARER_TOKEN": "ghp_..." } } } }
{ "mcpServers": { "internal": { "command": "npx", "args": ["-y", "mcp-openapi-runner", "--spec", "http://localhost:8080/openapi.json"], "env": { "OPENAPI_API_KEY": "dev-key-123" } } } }
{ "mcpServers": { "jira": { "command": "npx", "args": ["-y", "mcp-openapi-runner", "--spec", "https://dac-static.atlassian.com/cloud/jira/platform/swagger-v3.v3.json", "--server-url", "https://your-domain.atlassian.net", "--filter", "issue"], "env": { "OPENAPI_BASIC_USER": "you@company.com", "OPENAPI_BASIC_PASS": "your-api-token" } } } }

Pass credentials via environment variables:

{ "mcpServers": { "my-api": { "command": "npx", "args": ["-y", "mcp-openapi-runner", "--spec", "https://api.example.com/openapi.json"], "env": { "OPENAPI_BEARER_TOKEN": "your-token-here" } } } }
npx mcp-openapi-runner --spec <url-or-path> [options] Options: --spec Path or URL to an OpenAPI 3.x spec (JSON or YAML) --server-url Override the base URL from the spec --filter Only expose endpoints matching a pattern (path, tag, or operationId) --header Add custom header to all requests ("Name: Value", repeatable) --help Show help
# Basic usage npx mcp-openapi-runner --spec https://petstore3.swagger.io/api/v3/openapi.json # Only pet-related endpoints npx mcp-openapi-runner --spec ./openapi.yaml --filter pets # Point at local dev server npx mcp-openapi-runner --spec ./openapi.yaml --server-url http://localhost:3000 # Custom headers npx mcp-openapi-runner --spec ./openapi.yaml --header "X-Tenant: acme" --header "X-Debug: true" # With auth OPENAPI_BEARER_TOKEN=mytoken npx mcp-openapi-runner --spec https://api.example.com/openapi.json

mcp-openapi-runnerexposes exactly two tools:

The two-tool design means Claude always has a clear workflow:discover → call**.
- Loads the OpenAPI spec from the given URL or file path
- Dereferences all$refschemas using@apidevtools/swagger-parser
- Applies endpoint filter if--filteris set
- Registers two MCP tools with the connected client
- list_endpointsgenerates a human+LLM-readable summary of all operations
- call_endpointresolves params, builds the URL, attaches auth + custom headers, returns the response

- Node.js 18+
- OpenAPI 3.x spec (JSON or YAML, local file or URL)

Contributions welcome! SeeCONTRIBUTING.mdfor guidelines.

This is a web browser that enables your coding agent, such as Claude Code, to visit websites on your behalf and assist you in identifying bugs or creating UI test cases.

next-devtools-mcp is a MCP server that provides Next.js development tools and utilities for AI coding assistants like Claude and Cursor.

A demonstration server for ActionKit, providing access to Slack actions via Claude Desktop.

MCP server that lets Claude Code agents delegate tasks to agents in other project directories, with parallel dispatch, sessions, and async jobs.

Anchor Browser (https://anchorbrowser.io) is secure infrastructure for computer-use agents — stealth cloud browsers, authentication, captcha bypass, and a hosted MCP server for Cursor, Claude, and Windsurf.

Open-source Claude Code plugin replacing Read/Grep/Edit/Bash with token-efficient versions. Independently benchmarked at 57% token reduction on real codebases. 40 MCP tools.

Connects Blender to Claude AI via the Model Context Protocol (MCP), enabling direct interaction and control for prompt-assisted 3D modeling, scene creation, and manipulation.

Context-optimized security plugin for Claude Code that builds architecture maps and redacts secrets.

Charon gives AI clients scoped, auditable access to Lethe memory. connect to Chatgpt or Claude to store memories locally.

Score CLAUDE.md/AGENTS.md, validate clarx-manifest.json, generate CI workflows, and pull repo scan findings into Cursor, Claude, or Grok.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.