auto
Transform any OpenAPI/Swagger definition into a fully-featured Model Context Protocol (MCP) server
claude mcp add --transport stdio brizzai-auto-mcp docker run --rm -i -v $(pwd)/swagger.json:/server/swagger.json ghcr.io/brizzai/auto-mcp:latest --swagger-file=/server/swagger.json --mode=stdio \ --env AUTO_MCP_MODE="Default transport mode (stdio|http|sse); optional override" \ --env AUTO_MCP_SWAGGER_FILE="Path to the OpenAPI/Swagger document inside container"
How to use
Auto MCP transforms any OpenAPI/Swagger definition into a fully-featured MCP server. It reads the Swagger/OpenAPI document, dynamically generates routes, proxies requests to the configured upstream, and exposes them through MCP using STDIO, HTTP, or SSE transports. The server supports pluggable authentication (bearer tokens, basic auth, API keys, OAuth2 or no auth) and runtime configuration via YAML, CLI flags, or environment variables (prefixed AUTO_MCP_). You can run Auto MCP in a CLI, as a long-running daemon, or inside Docker/Kubernetes, and you can interact with the MCP Config Builder to customize endpoint descriptions, filter routes, and generate an adjustment file to apply your changes automatically. In Claude Desktop or other clients, you can run the Docker image and point it to your swagger.json, selecting the transport mode you need (stdio by default).
How to install
Prerequisites:
- Docker or a Go toolchain if you prefer building locally
- Access to a Swagger/OpenAPI document (v2 or v3)
Install via Docker (recommended for quick start):
- Ensure you have Docker installed and running.
- Run Auto MCP with your swagger.json mounted into the container:
docker run --rm -i \
-v $(pwd)/swagger.json:/server/swagger.json \
ghcr.io/brizzai/auto-mcp:latest \
--swagger-file=/server/swagger.json \
--mode=stdio
If you prefer running via the CLI binary (build from source):
- Install Go (1.18+): https://golang.org/dl/
- Build the binary:
GO111MODULE=on go get github.com/brizzai/auto-mcp/cmd/auto-mcp@latest
- Run with your swagger file:
auto-mcp --swagger-file=/path/to/swagger.json --mode=stdio
Configuration via environment variables is supported. For example, you can override the swagger file path or transport mode using AUTO_MCP_SWAGGER_FILE and AUTO_MCP_MODE respectively.
Additional notes
Tips and common issues:
- When running in Docker, ensure the path to swagger.json is correctly mounted and accessible inside the container at /server/swagger.json.
- The configuration supports multiple transport modes: stdio (default), http, and sse. Use --mode to switch.
- OAuth2 support is available (PKCE, dynamic client registration, multiple providers). See the OAuth Usage Guide for setup details.
- The MCP Config Builder can generate an adjustment file to apply customizations to endpoints; use --adjustment-file with Auto MCP to apply them automatically.
- If you run in Claude Desktop, you can embed the docker-based configuration as shown in the README, replacing paths and image tags as needed.
- Environment variable configuration uses the AUTO_MCP_ prefix. Common options include AUTO_MCP_MODE and AUTO_MCP_SWAGGER_FILE.
Related MCP Servers
trpc-agent-go
trpc-agent-go is a powerful Go framework for building intelligent agent systems using large language models (LLMs) and tools.
station
Station is our open-source runtime that lets teams deploy agents on their own infrastructure with full control.
tiger-cli
Tiger CLI is the command-line interface for Tiger Cloud. It includes an MCP server for helping coding agents write production-level Postgres code.
gopls
MCP server for golang projects development: Expand AI Code Agent ability boundary to have a semantic understanding and determinisic information for golang projects.
kubernetes
A Model Context Protocol (MCP) server for the Kubernetes API.
gcp-cost
💰 An MCP server that enables AI assistants to estimate Google Cloud costs, powered by Cloud Billing Catalog API and built with Genkit for Go