Transform any API into an MCP server in seconds, not hours
gen-mcp eliminates the complexity of building Model Context Protocol (MCP) servers. Instead of writing boilerplate code and learning protocol internals, simply describe your tools in a configuration file—gen-mcp handles the rest.
Perfect for:
- 🔌 API Developers - Expose existing REST APIs to AI assistants instantly
- 🤖 AI Engineers - Connect LLMs to external tools without custom server code
- 🛠️ DevOps Teams - Integrate legacy systems with modern AI workflows
- 🚀 Zero-Code Server Generation - Create MCP servers from simple YAML configs
- 📡 OpenAPI Auto-Conversion - Transform existing OpenAPI specs into MCP servers instantly
- 🔄 Real-Time Tool Exposure - HTTP endpoints become callable AI tools automatically
- 🛡️ Built-in Validation - Schema validation and type safety out of the box
- 🔐 Security Out of the Box - TLS encryption and OAuth/OIDC authentication built-in
- ⚡ Background Processing - Detached server mode with process management
- 🔧 Flexible Configuration - Fine-tune which endpoints to expose and how they behave
Option A: Download Pre-built Binary
# Download from GitHub releases
# Visit: https://github.com/genmcp/gen-mcp/releases
# Or using curl (replace with latest version):
curl -L https://github.com/genmcp/gen-mcp/releases/latest/download/genmcp-linux-amd64 -o genmcp
chmod +x genmcp
sudo mv genmcp /usr/local/bin
Option B: Build from Source
# Clone and build
git clone https://github.com/genmcp/gen-mcp.git
cd gen-mcp
# Build CLI
go build -o genmcp ./cmd/genmcp
# Add to PATH (recommended)
sudo mv genmcp /usr/local/bin
Option A: Convert Existing API
genmcp convert https://api.example.com/openapi.json
genmcp run
Option B: Create Custom Tools
# Create mcpfile.yaml with your tools (see documentation)
genmcp run
- MCP File Format Guide - Learn to write custom tool configurations
- Examples Directory - Real-world integration examples
Command | Description | Example |
---|---|---|
run |
Start MCP server | genmcp run -f myapi.yaml |
stop |
Stop running server | genmcp stop |
convert |
OpenAPI → MCP conversion | genmcp convert api-spec.json |
# Run in foreground (development)
genmcp run -f /path/to/mcpfile.yaml
# Run in background
genmcp run -d
# Auto-detect mcpfile.yaml in current directory
genmcp run
# From local OpenAPI file
genmcp convert ./api-spec.json
# From remote OpenAPI URL
genmcp convert https://api.example.com/openapi.json -o custom-name.yaml
# Petstore example
genmcp convert https://petstore.swagger.io/v2/swagger.json
# Stop server (uses mcpfile.yaml to find process)
genmcp stop
# Stop specific server
genmcp stop -f /path/to/mcpfile.yaml
Connect local language models to MCP Clients with gen-mcp in two ways: by wrapping the Ollama CLI, and by wrapping the Ollama http endpoints.
Features:
- ✅ HTTP REST API integration
- ✅ CLI command execution
- ✅ Model management tools
Transform any REST API into MCP tools automatically:
# 1. Convert OpenAPI spec
genmcp convert http://localhost:9090/openapi.json
# 2. Run the generated MCP server
genmcp run
Demonstrates:
- 🔄 Automatic OpenAPI → MCP conversion
- 🛠️ Path parameter substitution (
/features/{id}
) - 📊 Schema validation and type safety
- 🎯 Selective endpoint exposure
We welcome contributions! This is an early-stage research project with lots of room for improvement.
git clone https://github.com/genmcp/gen-mcp.git
cd gen-mcp
go test ./...
# Build local binary
go build -o genmcp ./cmd/genmcp
Apache 2.0 License - see LICENSE file for details.
- Model Context Protocol - Official MCP documentation
- MCP File Format - gen-mcp configuration reference
- Examples - Real-world integration examples