OpenAPI MCP Server
About
OpenAPI MCP Server is an MCP proxy that converts any OpenAPI v3.1 compliant API into tools usable by Claude Desktop or other MCP clients. It allows developers to interact with local and remote APIs through natural language, discovering endpoints, understanding parameters, and…
Details
- Author
- asabya
- Downloads
- 297
- Categories
- Other, API
Jump to
- Converts OpenAPI endpoints into Claude‑usable tools automatically
- Supports file uploads via multipart/form-data (local files only)
- Works with any OpenAPI v3.1 compliant API
- Provides CLI tool for testing endpoints programmatically
- Offers programmatic API (OpenAPIToMCPConverter, HttpClient) for custom integrations
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
OpenAPI MCP ServerCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Configure Claude Desktop by adding the MCP server entry in claude_desktop_config.json with the command npx openapi-mcp-server /absolute/path/to/openapi.json. Restart Claude Desktop, then start asking natural-language questions about your API.
getApiOverview
Get an overview of an OpenAPI specification. This should be the first step when working with any API. - openai - OpenAI is a large AI service provider providing state of the art models in various modalities. - github - GitHub is where one hosts their code in a central location, to collaborate with others - podscan.fm - Search through podcast transcripts, get alerts - x - Official Twitter/X API - cloudflare - Cloudflare provides content delivery network services, cloud cybersecurity, DDoS mitigation, wide area network services, Domain Name Service, and ICANN-accredited domain registration services - npm-registry - supabase - Create hosted Postgres Databases with API - hackernews - Readonly API for posts, comments, and profiles from news.ycombinator.com - stripe - Create a paywall for your app or invoices - slack - A very common app used for communication at work - vercel - Vercel is a cloud hosting solution for full stack applications - val-town - Host serverless APIs - firecrawl - API for interacting with Firecrawl services to perform web scraping and crawling tasks. - playht - The PlayHT's API API allows developers to Realtime Text to Speech streaming Stream audio bytes from text, Convert long form Text to Speech Generate audio from text, and Voice Cloning Instant Cloning. - serper - The worlds fastest and cheapest google search api - replicate - brandwatch - Watch social media about your brand - jina-reader - Read webpages in markdown, html, or screenshot - upstash-redis - Control a Redis database over API - upstash-qstash - Scheduling and batching API calls - upstash-vector - Control a Vector database over API - digitalocean - apisguru - Public API to find OpenAPIs on https://apis.guru - groq - Cloud AI Provider with multiple transformer LLMs and other modalities, with very fast inference - notion-dbs - Notion Databases API - posthog-capture-api - Posthog is a Product analytics platform allowing companies to track and understand their users - google-analytics4 - The Google Analytics Admin API allows for programmatic access to the Google Analytics 4 (GA4) configuration data and is only compatible with GA4 properties - google-analytics3 - Views and manages your Google Analytics data (GA3) - anthropic-message-api - probo-nl - whatsapp-business - The WhatsApp Business Platform gives medium to large businesses the ability to connect with customers at scale. You can start WhatsApp conversations with your customers in minutes, send them care notifications or purchase updates, offer personalized services, and provide support in the channel that your customers prefer. - shopify - Shopify Admin API - twilio-messaging - huggingface - doppio - multion - browserless - Web browsing API - bol-com-retailer - Dutch shopping platform - statusbrew - Social media planning API for facebook, instagram, twitter, linkedin, google my business, pinterest, youtube, and tiktok. - swagger-validator - Validators for swagger 2.0 and 3.x specifications of OpenAPIs - google-mail - Manage GMail - youtube-data - The YouTube Data API v3 is an API that provides access to YouTube data, such as videos, playlists, and channels. - google-sheets - google-drive - google-secret-manager - flyio - vapi - klippa - uberduck - twilio - saltedge - Bank integrations - google-search-console - aws-cloudwatch-insights - aws-cloudfront - aws-email - aws-s3-control - aws-s3 - aws-sagemaker - aws-sagemaker-edge - aws-sagemaker-featureStore - bunq - hootsuite - robocorp - sendgrid - google-calendar - google-docs
getApiOperation
Get details about a specific operation from an OpenAPI specification. Use this after getting an overview. - openai - OpenAI is a large AI service provider providing state of the art models in various modalities. - github - GitHub is where one hosts their code in a central location, to collaborate with others - podscan.fm - Search through podcast transcripts, get alerts - x - Official Twitter/X API - cloudflare - Cloudflare provides content delivery network services, cloud cybersecurity, DDoS mitigation, wide area network services, Domain Name Service, and ICANN-accredited domain registration services - npm-registry - supabase - Create hosted Postgres Databases with API - hackernews - Readonly API for posts, comments, and profiles from news.ycombinator.com - stripe - Create a paywall for your app or invoices - slack - A very common app used for communication at work - vercel - Vercel is a cloud hosting solution for full stack applications - val-town - Host serverless APIs - firecrawl - API for interacting with Firecrawl services to perform web scraping and crawling tasks. - playht - The PlayHT's API API allows developers to Realtime Text to Speech streaming Stream audio bytes from text, Convert long form Text to Speech Generate audio from text, and Voice Cloning Instant Cloning. - serper - The worlds fastest and cheapest google search api - replicate - brandwatch - Watch social media about your brand - jina-reader - Read webpages in markdown, html, or screenshot - upstash-redis - Control a Redis database over API - upstash-qstash - Scheduling and batching API calls - upstash-vector - Control a Vector database over API - digitalocean - apisguru - Public API to find OpenAPIs on https://apis.guru - groq - Cloud AI Provider with multiple transformer LLMs and other modalities, with very fast inference - notion-dbs - Notion Databases API - posthog-capture-api - Posthog is a Product analytics platform allowing companies to track and understand their users - google-analytics4 - The Google Analytics Admin API allows for programmatic access to the Google Analytics 4 (GA4) configuration data and is only compatible with GA4 properties - google-analytics3 - Views and manages your Google Analytics data (GA3) - anthropic-message-api - probo-nl - whatsapp-business - The WhatsApp Business Platform gives medium to large businesses the ability to connect with customers at scale. You can start WhatsApp conversations with your customers in minutes, send them care notifications or purchase updates, offer personalized services, and provide support in the channel that your customers prefer. - shopify - Shopify Admin API - twilio-messaging - huggingface - doppio - multion - browserless - Web browsing API - bol-com-retailer - Dutch shopping platform - statusbrew - Social media planning API for facebook, instagram, twitter, linkedin, google my business, pinterest, youtube, and tiktok. - swagger-validator - Validators for swagger 2.0 and 3.x specifications of OpenAPIs - google-mail - Manage GMail - youtube-data - The YouTube Data API v3 is an API that provides access to YouTube data, such as videos, playlists, and channels. - google-sheets - google-drive - google-secret-manager - flyio - vapi - klippa - uberduck - twilio - saltedge - Bank integrations - google-search-console - aws-cloudwatch-insights - aws-cloudfront - aws-email - aws-s3-control - aws-s3 - aws-sagemaker - aws-sagemaker-edge - aws-sagemaker-featureStore - bunq - hootsuite - robocorp - sendgrid - google-calendar - google-docs
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"openapi mcp server": {
"openapi-mcp-server": {
"command": "npx",
"args": [
"openapi-mcp-server",
"/abs/path/to/openapi.json"
]
}
}
}
}
McpServers
{
"openapi-mcp-server": {
"command": "npx",
"args": [
"openapi-mcp-server",
"/abs/path/to/openapi.json"
]
}
}
OpenAPI MCP Server
This is a fork of pre v2 of openapi-mcp-server. its mainly a backup/failsafe for future usage> Talk to any OpenAPI (v3.1) compliant API through Claude Desktop!
This tool creates a Model Context Protocol (MCP) server that acts as a proxy for any API that has an OpenAPI v3.1 specification. This allows you to use Claude Desktop to easily interact with both local and remote server APIs.
If you're having trouble with Claude crashing or specs not working put them through our spec cleaner app this tidies up some open api schemas to help them be LLM-readable.
What does it do?
This proxy automatically converts OpenAPI endpoints into Claude tools, allowing Claude to:
1. Discover available API endpoints and understand their purpose
2. Know what parameters are required and their types
3. Make API calls on your behalf
4. Handle the responses appropriately
For example, if you have a Petstore API with this endpoint:
/pets/{petId}:
get:
operationId: getPetById
summary: Returns a pet by ID
parameters:
- name: petId
in: path
description: ID of pet to return
required: true
schema:
type: integer
Claude will see this as a tool it can use:

You can then ask Claude natural questions like:
- "Can you fetch the details for pet ID 123?"
- "What's the status of my pet with ID 456?"
Claude will understand the context and make the appropriate API calls.
File Upload Support
The proxy supports file uploads for APIs that accept multipart/form-data. When an endpoint accepts file uploads (indicated by type: string, format: binary in the OpenAPI spec), you can provide local file paths and the proxy will handle reading and uploading the files.
Example Use Cases
1. Profile Picture Upload
/users/{userId}/avatar:
post:
summary: Upload a user's profile picture
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
avatar:
type: string
format: binary
description: Profile picture (JPEG/PNG)
cropInfo:
type: object
properties:
x: { type: number }
y: { type: number }
width: { type: number }
height: { type: number }
You can ask Claude:
- "Upload my new profile picture from ~/Pictures/profile.jpg"
- "Update my avatar with ~/Downloads/photo.png and crop it to 200x200"
2. Document Processing
/documents:
post:
summary: Upload documents for processing
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
document:
type: string
format: binary
description: PDF or Word document
language:
type: string
enum: [en, es, fr]
description: Document language
processOCR:
type: boolean
description: Whether to extract text using OCR
Natural language commands:
- "Process the document at ~/Documents/contract.pdf in English with OCR enabled"
- "Upload ~/Downloads/report.docx and set the language to French"
3. Batch File Upload
/batch-upload:
post:
summary: Upload multiple files in one request
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
files:
type: array
items:
type: string
format: binary
tags:
type: array
items:
type: string
You can say:
- "Upload these three files: ~/data1.csv, ~/data2.csv, and ~/data3.csv with tags 'monthly-report'"
- "Process the files in ~/exports/ with tags 'raw-data', 'june-2023'"
Important Considerations
1. Security
- File paths are resolved relative to the current working directory
- Access is restricted to files the user has permission to read
- Sensitive files (like ~/.ssh/id_rsa) require explicit user confirmation
- File contents are only read when making the actual API request
2. Performance
- Large files are streamed directly from disk to the API
- Memory usage is optimized for large files
- Progress reporting is available for large uploads
3. Limitations
- Maximum file size is determined by the target API
- Only local files are supported (no remote URLs)
- Some file types may be restricted by the API
Getting Started
1. Configure Claude Desktop:
Add this to your claude_desktop_config.json:
{
"mcpServers": {
"petstore-api": {
"command": "npx",
"args": ["openapi-mcp-server", "/abs/path/to/petstore-openapi.json"]
}
}
}
2. Restart Claude Desktop and start interacting with your API!
Examples
This repository includes a complete example of a Petstore API server that you can use to test the OpenAPI MCP Server. The example server implements a basic CRUD API for managing pets, making it perfect for learning how to use this tool.
See examples/README.md for instructions on running the example server.
CLI Tool
The repository includes a command-line tool for testing OpenAPI endpoints:```bash
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.




