
Auto MCP
STDIOTransform OpenAPI/Swagger into fully-featured Model Context Protocol (MCP) server.
Transform OpenAPI/Swagger into fully-featured Model Context Protocol (MCP) server.
Transform any OpenAPI/Swagger definition into a fully-featured Model Context Protocol (MCP) server – ready to run locally, inside Claude Desktop, or in the cloud.
The service reads a Swagger (OpenAPI v2) or OpenAPI v3 document, generates routes on-the-fly, proxies requests to the upstream endpoint you configure, and exposes them through MCP using either the STDIO or HTTP or SSE transport defined in the MCP specification.
swagger.json
and start serving.stdio
(default).http
- StreamableHttp, newest MCP prototcol.sse
– self-hosted long-running event source.AUTO_MCP_
).Easily tailor your Swagger/OpenAPI file for optimal MCP integration. The MCP Config Builder lets you:
--adjustment-file
) for use with Auto MCP, applying your customizations automatically.This will build and install thego install ./cmd/mcp-config-builder
mcp-config-builder
binary to your $GOPATH/bin
(usually ~/go/bin
). Make sure this directory is in your PATH
.mcp-config-builder --swagger-file=/path/to/swagger.json
auto-mcp --swagger-file=/path/to/swagger.json --adjustment-file=/path/to/adjustments.json
Rapid Prototyping: Wrap any REST API as an MCP server in seconds—ideal for testing ideas or building AI tools fast.
Bridge Legacy Services: Expose legacy or internal systems as MCP endpoints without rewriting them.
Access Any 3rd-Party API from Chat Applications: Turn any third-party API into an MCP tool, making it accessible to AI assistants like Claude.
Minimal Proxy Tools: Use auto-mcp to proxy APIs that already handle validation and logic—no wrappers needed.
Add the following snippet to your Claude Desktop configuration (⟂ Settings → MCP Servers):
{ "mcpServers": { "YourMCP": { "command": "docker", "args": [ "run", "-i", "--rm", "-v", "/Users/you/path/to/swagger.json:/server/swagger.json", "ghcr.io/brizzai/auto-mcp:latest" "--swagger-file=/server/swagger.json" ] } }, "globalShortcut": "" }
Claude will start the container on-demand and connect over STDIO. Replace the host path to swagger.json
and image tag to suit your setup.
--mode
– override server.mode
(stdio
or sse
).--swagger-file
– path to the OpenAPI document (default: swagger.json
).--adjustment-file
- mcp-config-builder output filter/change route descriptionsFor detailed configureation guidelines, please see CONFIGURATION.md.
Auto MCP supports OAuth 2.1 authentication, including PKCE, dynamic client registration, and multiple providers (internal, GitHub, Google). This allows you to secure your MCP server with industry-standard authentication flows.
See the OAuth Usage Guide for detailed setup instructions, endpoint descriptions, and testing tips.
Run in local stdio
mode:
docker run --rm -i \ -v $(pwd)/swagger.json:/server/swagger.json \ ghcr.io/brizzai/auto-mcp:latest \ --swagger-file=/server/swagger.json \ --mode=stdio
Run in remote sse
/http
mode :
docker run \ -v $(pwd)/swagger.json:/server/swagger.json \ ghcr.io/brizzai/auto-mcp:latest \ --swagger-file=/server/swagger.json \ --mode=http
The bundled docker-compose.yml
maps port 8080 and persists logs to ./logs
.
You can try out the included Petshop demo using Docker. This demo uses a sample configuration and API specs to show how auto-mcp works.
Steps:
docker run --rm -i \ -v $(pwd)/examples/petshop/config:/config \ ghcr.io/brizzai/auto-mcp:latest
examples/petshop/config
directory from your local machine into the Docker container at /config
./config
directory inside the container should contain:
config.yaml
: Main configuration file for the demoswagger.json
: API specification for the Petshop serviceadjustment.yaml
: Optional adjustments or overrides for the APINote: Any files you place in
examples/petshop/config
will overwrite the defaultconfig.yaml
,swagger.json
, andadjustment.yaml
inside the container.
This setup allows you to easily test and modify the Petshop demo configuration.
See [docs/CONFIGURATION.md](docs/ CONFIGURATION.md) for all config options and environment variable overrides.
For detailed contribution guidelines, please see CONTRIBUTING.md.
Distributed under the Apache License 2.0 License. See LICENSE
for details.