Skip to main content

Universal MCP Server Generator - Create MCP servers from any OpenAPI spec

Project description

OmniMCP - Universal MCP Server Generator

Generate MCP (Model Context Protocol) servers from any OpenAPI specification. Connect LLM agents to Slack, GitHub, Notion, Stripe, and 100+ other APIs instantly.

How It Works

OmniMCP is a generator tool that creates standalone MCP server packages:

  1. Install OmniMCP → The generator CLI
  2. Run omnimcp generate <provider> → Creates a new Python package (e.g., omnimcp_slack)
  3. Install the generated packagepip install -e . in the output folder
  4. Run the MCP serverpython -m omnimcp_slack

Each generated server is independent and can be distributed separately.

Features

  • Parse OpenAPI 2.0 & 3.x - Automatically handles both Swagger and OpenAPI specs
  • Generate MCP Servers - Creates complete, runnable Python packages with FastMCP
  • Auth Ready - Pre-configured authentication for popular APIs (OAuth2, API Key, Bearer)
  • CLI & Programmatic - Use from command line or import as a library
  • LLM Enhancement - Optional Claude-powered review and description enhancement

Installation

pip install omnimcp

For LLM review features:

pip install omnimcp[llm]

Quick Start

1. Generate a Server

# Generate MCP server for Slack
omnimcp generate slack --output ./servers

# Generate with LLM review (optional)
omnimcp generate notion --review --output ./servers

# List available providers
omnimcp list

# Search for APIs
omnimcp list --search "email"

# Get provider info
omnimcp info github

2. Install and Run the Generated Server

Each generated server is a standalone pip package. After generation:

# Navigate to the generated server
cd servers/slack

# Install the generated package
pip install -e .

# Set the required environment variable (shown after generation)
export SLACK_BOT_TOKEN=xoxb-your-token

# Run the MCP server
python -m omnimcp_slack

3. Connect to Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "slack": {
      "command": "python",
      "args": ["-m", "omnimcp_slack"],
      "env": {
        "SLACK_BOT_TOKEN": "xoxb-your-token"
      }
    }
  }
}

Note: The environment variable name depends on the provider and auth type. The CLI will show you the exact variable name after generation.

Programmatic Usage

from omnimcp.generator import OpenAPIParser, MCPConverter, MCPCodeGenerator

# Parse an OpenAPI spec
parser = OpenAPIParser()
parsed = parser.parse("https://api.example.com/openapi.json")

# Convert to MCP tools
converter = MCPConverter()
tools = converter.convert(parsed)

# Generate server code
generator = MCPCodeGenerator()
server = generator.generate(
    tools=tools,
    server_name="myapi",
    base_url=parsed.base_url,
    auth_type="bearer",
)

# Write to disk
server.write("./output/myapi")

Supported Providers

Tier 1 (Production Ready)

  • Slack
  • GitHub
  • Notion
  • Stripe
  • Airtable
  • HubSpot
  • Trello
  • Discord

Tier 2 (Auto-generated + Reviewed)

  • Asana, Linear, Jira
  • Zendesk, Intercom
  • Mailchimp, SendGrid, Twilio
  • Shopify, Zoom, Calendly
  • And 30+ more...

Tier 3 (Fully Automated)

  • All 2000+ APIs from APIs.guru

Development

# Clone and install
git clone https://github.com/omnimcp/omnimcp.git
cd omnimcp
pip install -e ".[dev]"

# Run tests
pytest

# Run example
python scripts/generate_example.py

Environment Variables

# For LLM review (optional)
ANTHROPIC_API_KEY=sk-ant-...

# Per-provider credentials (names shown after generation)
SLACK_BOT_TOKEN=xoxb-...          # Slack (OAuth2/Bot token)
GITHUB_TOKEN=ghp_...              # GitHub (Bearer token)
NOTION_TOKEN=secret_...           # Notion (Bearer token)
STRIPE_API_KEY=sk_test_...        # Stripe (API Key)
AIRTABLE_TOKEN=pat...             # Airtable (Bearer token)

Tip: Run omnimcp info <provider> to see the required environment variable.

Architecture

omnimcp/
├── generator/          # Core generator engine
│   ├── parser.py       # OpenAPI 2.0/3.x parsing
│   ├── converter.py    # OpenAPI → MCP tools
│   ├── codegen.py      # Python code generation
│   └── reviewer.py     # LLM enhancement
├── auth/               # Authentication layer
│   ├── registry.py     # Auth config management
│   ├── handlers.py     # OAuth2, API Key, Bearer
│   └── configs/        # Per-provider YAML configs
├── specs/              # Spec management
│   ├── fetcher.py      # APIs.guru + first-party
│   └── registry.py     # Provider index
└── cli.py              # Command-line interface

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

auramcp-0.1.0.tar.gz (31.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

auramcp-0.1.0-py3-none-any.whl (39.8 kB view details)

Uploaded Python 3

File details

Details for the file auramcp-0.1.0.tar.gz.

File metadata

  • Download URL: auramcp-0.1.0.tar.gz
  • Upload date:
  • Size: 31.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for auramcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 884fa4b6c4ae7a09743ad8e8c42ec2b5cb4cc445d999ea501650f688e33e1a0a
MD5 8cc302c56e8baa7ba75b2f5cf2bdca08
BLAKE2b-256 7b637086750e0797d370b85edc0e3e445d710f11c5111154f93c7a0106b05942

See more details on using hashes here.

File details

Details for the file auramcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: auramcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 39.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for auramcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 84f2d5cdc0595c9d6c47933f6b0f39cb8956d0c09a80587784d5d7206a6fb693
MD5 602aa9b16930b4a23fcbe1af10560263
BLAKE2b-256 06f6185bd130d2774fe70de4ce548b30f34546dfed16af256050b2a92e1ab4ec

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page