Skip to content

genmcp/gen-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

gen-mcp: Zero-Code MCP Server Generation

Transform any API into an MCP server in seconds, not hours

Go Version License MCP Compatible

⚠️ Early Preview: This is a research project in active development. APIs and features may change.

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

gen-mcp System Diagram

✨ Key Features

  • πŸš€ 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

πŸš€ Quick Start

1. Install gen-mcp

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
make build-cli

# Add to PATH (recommended)
sudo mv genmcp /usr/local/bin

2. Choose Your Own Adventure

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

3. See It In Action

πŸ“– Documentation

πŸ’» Usage

Core Commands

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
build Build container image from mcpfile genmcp build -f myapi.yaml --tag myapi:latest
version Display version information genmcp version

Starting Your Server

# 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

Converting Existing APIs

# 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

Converting CLI (Experimental)

Instead of manually writing an MCP file for a CLI, you can use an LLM to generate a genmcp-compatible mcpfile.yaml.

# Set OpenAI endpoint configurations
export MODEL_BASE_URL='https://HOST:PORT/v1' # OpenAI Base URL (v1 endpoint)
export MODEL_KEY='' # OpenAI Access Token
export MODEL_NAME=''  # OpenAI Model Name

# Run gen-mcp convert-cli to generate mcpfile.yaml
MODEL_BASE_URL=$MODEL_BASE_URL MODEL_KEY=$MODEL_KEY MODEL_NAME=$MODEL_NAME genmcp convert-cli "podman images"

# Start mcpserver with generated mcpfile.yaml 
genmcp run

Managing Running Servers

# Stop server (uses mcpfile.yaml to find process)
genmcp stop

# Stop specific server
genmcp stop -f /path/to/mcpfile.yaml

πŸ’‘ Authoring mcpfile.yaml with auto complete

To improve the development experience and prevent configuration errors, this project includes a JSON schema for the mcpfile.yaml format. This schema enables validation, autocompletion, and inline documentation in compatible code editors like Visual Studio Code, helping you write valid configuration files faster.

To make use of the schema, add a yaml-language-server comment at the top of your mcpfile.yaml:

# yaml-language-server: $schema=https://raw.githubusercontent.com/genmcp/gen-mcp/refs/heads/main/specs/mcpfile-schema.json
mcpFileVersion: 0.1.0
name: ...

Intellij IDEs support JSON schema validation natively.

VS Code requires the installation of the YAML extension by Red Hat.

Schema Autocomplete Screenshot

πŸ“š Examples & Tutorials

πŸ€– Ollama Integration

πŸ“Ή Watch Demo | View Code

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

πŸ”— HTTP API Conversion

πŸ“Ή Watch Demo | View Code

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

πŸ”Œ gRPC Service Integration

View Demo Repository

Expose existing gRPC services to LLMs without modifying service code:

Architecture:

  • Uses gRPC-Gateway to create an HTTP/JSON proxy
  • Exposes the HTTP proxy as MCP tools via gen-mcp
  • Works with any gRPC service using only .proto definitions

Perfect for:

  • 🏒 Integrating legacy gRPC services with AI workflows
  • πŸ”„ Bridging binary gRPC with JSON-based LLM interfaces
  • πŸš€ Getting started before native gRPC support arrives

Note: This is a workaround pattern until gen-mcp adds native gRPC support.


🀝 Contributing

We welcome contributions! This is an early-stage research project with lots of room for improvement.

Development Setup

git clone https://github.com/genmcp/gen-mcp.git
cd gen-mcp
go test ./...

# Build local binary
make build-cli

πŸ“„ License

Apache 2.0 License - see LICENSE file for details.

πŸ”— Links


Made with ❀️ for the AI development community

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published