Skip to main content

AuraMCP - 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

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

  1. Install AuraMCP → The generator CLI
  2. Run auramcp generate <provider> → Creates a new Python package (e.g., auramcp_slack)
  3. Install the generated package → pip install -e . in the output folder
  4. Run the MCP server → python -m auramcp_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 auramcp

For LLM review features:

pip install auramcp[llm]

Quick Start

1. Generate a Server

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

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

# List available providers
auramcp list

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

# Get provider info
auramcp 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 auramcp_slack

3. Connect to Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "slack": {
      "command": "python",
      "args": ["-m", "auramcp_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 auramcp.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/auramcp/auramcp.git
cd auramcp
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 auramcp info <provider> to see the required environment variable.

Architecture

auramcp/
├── 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

Metadata

Release files for auramcp 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for auramcp 0.1.3
File Size Uploaded Provenance
auramcp-0.1.3.tar.gz 31.5 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for auramcp 0.1.3
File Interpreter ABI Platform
auramcp-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 71.5 kB

Release files / auramcp-0.1.3.tar.gz

Download URL auramcp-0.1.3.tar.gz
Size 31.5 kB
Tags Source
SHA-256 checksum
How to use checksums
c81bce2574d25aeef7185d6ec3e38096bea1c5176f1f40d3909c1923d0c0128d
BLAKE2b-256 checksum
How to use checksums
97e7cde6a0dea576b415b1f7120fdb77490da2cd4383e519735f0ca61b70725b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.0

Release files / auramcp-0.1.3-py3-none-any.whl

Download URL auramcp-0.1.3-py3-none-any.whl
Size 40.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a5a64b33fe9d036b89bc56cfc723e41c6a56242303e1f3b18d9a6ef31bbe1bd5
BLAKE2b-256 checksum
How to use checksums
143658a31c886503fd830abc61458d0a17963c05259a4e103f721b80261a22c2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.0

Security for auramcp 0.1.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page