auto-mcp
If you are the rightful owner of auto-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
Auto MCP is a tool that transforms OpenAPI/Swagger definitions into fully-featured Model Context Protocol (MCP) servers.
Auto MCP
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.
β¨ Why Auto MCP?
- Zero boiler-plate β bring your
swagger.json
and start serving. - Flexible deployment β run as a CLI, long-lived daemon, or within Docker/Kubernetes.
- All transport modes β
stdio
(default).http
- StreamableHttp, newest MCP prototcol.sse
β self-hosted long-running event source.
- Pluggable auth β bearer token, basic auth, API keys, OAuth2 or no auth.
- Runtime configuration β YAML file, CLI flags, or environment variables (prefixed
AUTO_MCP_
).
π οΈ Using Auto MCP
Easily tailor your Swagger/OpenAPI file for optimal MCP integration. The MCP Config Builder lets you:
- Edit endpoint descriptions for clearer, more helpful documentation.
- Filter out unnecessary routes to streamline your API exposure.
- Preview and customize how endpoints appear to LLMs and clients.
- Generate an adjustment file (
--adjustment-file
) for use with Auto MCP, applying your customizations automatically.
How it works
- Install the MCP Config Builder:
This will build and install the
go install ./cmd/mcp-config-builder
mcp-config-builder
binary to your$GOPATH/bin
(usually~/go/bin
). Make sure this directory is in yourPATH
. - Launch the tool:
mcp-config-builder --swagger-file=/path/to/swagger.json
- Interactively review and edit endpoints in a user-friendly TUI (Terminal User Interface).
- Save your adjustments to a file for future use or sharing.
- Run Auto MCP with your adjustment file to apply your customizations:
auto-mcp --swagger-file=/path/to/swagger.json --adjustment-file=/path/to/adjustments.json
π Use Cases
-
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.
π₯οΈ Running inside Claude Desktop
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.
CLI flags
--mode
β overrideserver.mode
(stdio
orsse
).--swagger-file
β path to the OpenAPI document (default:swagger.json
).--adjustment-file
- mcp-config-builder output filter/change route descriptions
For detailed configureation guidelines, please see .
π OAuth Support
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 for detailed setup instructions, endpoint descriptions, and testing tips.
π³ Running with Docker
-
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
.
Running the Petshop Example
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:
- Make sure you are in the root directory of this repository.
- Run the following command:
docker run --rm -i \
-v $(pwd)/examples/petshop/config:/config \
ghcr.io/brizzai/auto-mcp:latest
- This command mounts the
examples/petshop/config
directory from your local machine into the Docker container at/config
. - The
/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 API
Note: 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.
π€ Contributing
For detailed contribution guidelines, please see .
π License
Distributed under the Apache License 2.0 License. See for details.