MCP.so
Sign In

open-api-mcp

@nexpando-com

About open-api-mcp

Generate a MCP server based on OpenAPI specifications

Config

Add this server to your MCP-compatible client using the configuration below.

{
  "mcpServers": {
    "open-api-mcp": {
      "command": "bun",
      "args": [
        "dev"
      ]
    }
  }
}

Tools

No tools detected

We auto-extract tools from the README. The maintainer can list them under a ## Tools heading to populate this section.

Overview

What is open-api-mcp?

open-api-mcp is a command-line tool that generates an MCP (Model Context Protocol) server from OpenAPI specifications. It simplifies creating API clients by leveraging OpenAPI schemas and generating strongly-typed clients using Zod.

How to use open-api-mcp?

Clone the repository, install dependencies with bun install, prepare an OpenAPI specification (JSON or YAML), copy .env.template to .env, then start the server with bun dev or ./cli.sh open-api.json. For Docker, add the spec to a specs directory and run docker-compose up with appropriate environment variables.

Key features of open-api-mcp

  • Generate MCP servers from OpenAPI specifications
  • Automatically create Zod-based API clients for type-safe interactions
  • Supports both JSON and YAML OpenAPI specification formats
  • Easily configurable via environment variables or Docker Compose

Use cases of open-api-mcp

  • Quickly create an MCP server for any REST API with an OpenAPI spec
  • Generate type-safe API clients for integration in AI applications
  • Deploy API gateway MCP servers in containerized environments

FAQ from open-api-mcp

How do I customize authentication?

Override the get-axios.ts file with your own authentication logic. By default, it uses a Bearer token from the API_KEY environment variable. With Docker, mount a custom version of get-axios.ts as a volume.

What transport types are supported?

Supported transport types are httpStream, sse, and stdio, configurable via the MCP_TRANSPORT_TYPE environment variable.

How do I run open-api-mcp with Docker?

Create a specs directory with your OpenAPI file, define a docker-compose.yml with the nexpando/open-api-mcp image, mount the specs directory, and set environment variables (OPEN_API_FILE, API_URL, optionally API_KEY, MCP_NAME, MCP_VERSION, MCP_TRANSPORT_TYPE). Then run docker-compose up.

What are the runtime dependencies?

The project uses the Bun runtime (install with bun install). A Docker image is also available for containerized deployment.

Where should I place the OpenAPI specification file?

Place it in the specs directory (e.g., specs/open-api.json or specs/open-api.yml) and set the OPEN_API_FILE environment variable to point to it.

Frequently asked questions

How do I customize authentication?

Override the `get-axios.ts` file with your own authentication logic. By default, it uses a Bearer token from the `API_KEY` environment variable. With Docker, mount a custom version of `get-axios.ts` as a volume.

What transport types are supported?

Supported transport types are `httpStream`, `sse`, and `stdio`, configurable via the `MCP_TRANSPORT_TYPE` environment variable.

How do I run open-api-mcp with Docker?

Create a `specs` directory with your OpenAPI file, define a `docker-compose.yml` with the `nexpando/open-api-mcp` image, mount the specs directory, and set environment variables (`OPEN_API_FILE`, `API_URL`, optionally `API_KEY`, `MCP_NAME`, `MCP_VERSION`, `MCP_TRANSPORT_TYPE`). Then run `docker-compose up`.

What are the runtime dependencies?

The project uses the Bun runtime (install with `bun install`). A Docker image is also available for containerized deployment.

Where should I place the OpenAPI specification file?

Place it in the `specs` directory (e.g., `specs/open-api.json` or `specs/open-api.yml`) and set the `OPEN_API_FILE` environment variable to point to it.

Comments

More Developer Tools MCP servers