OpenAPI MCP Server

OpenAPI MCP Server

A command-line tool that transforms any OpenAPI service into a Model Context Protocol (MCP) server, enabling seamless integration with AI agents and tools that support the MCP specification.

Category
Visit Server

README

🤖 OpenAPI MCP Server

asciicast

A command-line tool that transforms any OpenAPI service into a Model Context Protocol (MCP) server, enabling seamless integration with AI agents and tools that support the MCP specification.

[!NOTE] This tool is still in early development stage. Roadmap is here

What is Model Context Protocol (MCP)?

Model Context Protocol (MCP) is a standardized protocol for AI agents to interact with external tools and services. It provides a consistent way for AI models to discover, understand, and utilize various capabilities through a unified interface, making it easier to build AI-powered applications that can interact with multiple services.

What is OpenAPI?

OpenAPI (formerly known as Swagger) is a specification for machine-readable interface files for describing, producing, consuming, and visualizing RESTful web services. It allows both humans and computers to discover and understand the capabilities of a service without needing to access the source code or additional documentation.

About This Project

This middleware acts as a bridge between OpenAPI services and MCP clients. It:

  1. Takes an OpenAPI specification file as input
  2. Automatically generates an MCP-compliant server
  3. Proxies incoming requests to the actual OpenAPI service
  4. Translates between MCP and REST conventions

This enables any existing REST API with an OpenAPI specification to be immediately accessible to AI agents that understand MCP, without requiring any modifications to the original service.

Installation

npm install -g openapi-mcp-proxy

Usage

npx openapi-mcp-proxy --spec ./path/to/openapi.yml --target http://your-api.com --port 3000

Options

  • -s, --spec <path> (required): Path to your OpenAPI specification file
  • -t, --target <url> (optional): Target URL of the API service (default: http://localhost:8080)
  • -p, --port <number> (optional): Port to run the MCP server on (default: 3000)
  • -V, --version: Display version number
  • -h, --help: Display help for command

Example

Start an MCP server for the Petstore API

npx openapi-mcp-proxy --spec resources/petstore.openapi.yml --target https://petstore.swagger.io/v2

Testing

MCP Inspector

To test your MCP server, you can use the Model Context Protocol:

  1. Install the MCP Inspector:
npx @modelcontextprotocol/inspector
  1. Start your MCP server
  2. Navigate to the inspector's UI and fill in the correct server path ending with /mcp like http://localhost:3000/mcp
  3. Now you can interact with your MCP server. The MCP Inspector will show you detailed information about the requests and responses.

with VS Code

It's easier to use this with VS Code's built-in agent mode:

  1. Open VS Code and enable agent mode:
    • Press Cmd/Ctrl + Shift + P
    • Type "Toggle GitHub Copilot Agent Mode"
    • Select "Enable"
  2. Add your MCP server:
    • Press Cmd/Ctrl + Shift + P
    • Type "MCP: add Server"
    • type your MCP server URL like http://localhost:3000/mcp ending with /mcp
  3. Your github copilot chat should pick up on the new tools it has!
  4. Now you can interact with your MCP server through VS Code's agent interface. Try asking it "how many pets are available right now?"

for more information on how to use MCP servers with VS code, see this

Contributing

Contributions are welcome! Please feel free to submit a Pull Request. Roadmap is here

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured