πŸ€– OpenAPI MCP Server

by JacerOmri

7 stars
350 downloads
Not rated
GitHub Website

About

CLI tool to create an MCP server exposing services from an OpenAPI specification

Details

Author
JacerOmri
GitHub stars
7
Downloads
350
Categories
Other, Developer Tools, API

- Transforms any OpenAPI spec into an MCP server
- Proxies requests between MCP and REST conventions
- No modifications required to the original service
- Supports JSON and YAML OpenAPI specs
- Configurable target URL, port, and spec path

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:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name πŸ€– OpenAPI MCP Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install globally via npm install -g openapi-mcp-proxy, then run with npx openapi-mcp-proxy --spec <path> --target <url> --port <number>. The --spec option is required; target and port default to http://localhost:8080 and 3000 respectively. The server exposes endpoints on the given port under the /mcp path.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "\ud83e\udd16 openapi mcp server": {
            "openapi-mcp-proxy": {
                "command": "npx",
                "args": [
                    "openapi-mcp-proxy",
                    "--spec",
                    "./path/to/openapi.yml",
                    "--target",
                    "http://your-api.com",
                    "--port",
                    "3000"
                ]
            }
        }
    }
}

McpServers

{
    "openapi-mcp-proxy": {
        "command": "npx",
        "args": [
            "openapi-mcp-proxy",
            "--spec",
            "./path/to/openapi.yml",
            "--target",
            "http://your-api.com",
            "--port",
            "3000"
        ]
    }
}

πŸ€– 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 (env: OMP_OPENAPI_SPEC_FILE)
- -t, --target <url> (optional): Target URL of the API service (default: "http://localhost:8080", env:OMP_TARGET_BASE_URL)
- -p, --port <number> (optional): Port to run the MCP server on (default: "3000", env: PORT)
- -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

2. Start your MCP server
3. Navigate to the inspector's UI and fill in the correct server path ending with /mcp like
http://localhost:3000/mcp
4. 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

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.