Skip to content

Multi-tenant MCP Gateway - Connect AI assistants to 100+ MCP servers via Model Context Protocol

License

Notifications You must be signed in to change notification settings

BigFatDot/BigMCP

Repository files navigation

BigMCP Logo

Unified MCP Gateway & AI-Powered Orchestration Platform

Transform your MCP tools into a unified, secure, cloud-accessible platform.

CI Status API Docs Version License Docker

Quick Start β€’ Features β€’ Editions β€’ API Docs β€’ Contributing


Table of Contents


🎯 What is BigMCP?

BigMCP is a production-ready platform that centralizes all your MCP (Model Context Protocol) servers into a single, secure, authenticated gateway. Access your tools from anywhere with enterprise-grade security and intelligent orchestration.

The Problem

Without BigMCP With BigMCP
Install 10+ MCP servers on each device One connection - Access all tools
Configure credentials separately Centralized credentials - User β†’ Org β†’ Server
No mobile access Cloud-based - Desktop, mobile, web
No access control Enterprise RBAC - Owner, Admin, Member, Viewer
Manual workflow creation AI orchestration - Auto-generate workflows

πŸš€ Quick Start

Option 1: Cloud SaaS (Fastest)

// Claude Desktop config
{
  "mcpServers": {
    "bigmcp": {
      "url": "https://api.bigmcp.cloud/mcp/sse",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

Get your API key at app.bigmcp.cloud

Option 2: Self-Hosted (Docker)

# Clone & start
git clone https://github.com/bigfatdot/bigmcp.git
cd bigmcp
cp docker-compose.example.yml docker-compose.yml
cp .env.example .env
# Edit .env with your settings (LLM API key, secrets)
docker compose up -d

# Run migrations & create admin
docker compose exec backend alembic upgrade head
# First user to sign up becomes instance admin

# Access at http://localhost:3000

Community Edition: Free for personal use (1 user). See Editions for multi-user options.


πŸ’Ž Editions & Pricing

BigMCP follows an Open Core model with three editions:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    BigMCP Cloud (bigmcp.cloud)                       β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
β”‚  β”‚  Marketplace API - Centralized (11,000+ MCP servers)         β”‚    β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
β”‚  β”‚  SaaS Platform (app.bigmcp.cloud) - Fully managed            β”‚    β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                               β”‚
                     Marketplace API access
                               β”‚
          β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
          β–Ό                                         β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Community Edition  β”‚              β”‚  Enterprise Edition  β”‚
β”‚     (Self-Hosted)    β”‚              β”‚    (Self-Hosted)     β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€              β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ βœ“ Complete platform  β”‚              β”‚ βœ“ Complete platform  β”‚
β”‚ βœ“ 1 user             β”‚              β”‚ βœ“ Unlimited users    β”‚
β”‚ βœ“ Free (ELv2)        β”‚              β”‚ βœ“ RBAC + SSO/SAML    β”‚
β”‚ βœ“ Your infrastructureβ”‚              β”‚ βœ“ Air-gapped support β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜              β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Pricing Comparison

Edition Price Users Best For
Cloud SaaS Individual €4.99/month 1 Getting started fast
Cloud SaaS Team €9.99/user/month 2-20 Teams needing managed hosting
Community (Self-Hosted) Free 1 Personal use, evaluation
Enterprise (Self-Hosted) One-time license Unlimited Organizations, on-premise

Public Sector: Enterprise licenses are free for government and public entities worldwide.

Start Free β†’ | Enterprise Contact β†’


✨ Features

Authentication & Security

  • OAuth 2.0 + PKCE (RFC 7636) for third-party apps
  • JWT tokens with configurable expiration
  • API Keys for programmatic access (bcrypt hashed)
  • Credentials encrypted at rest (Fernet)
  • Multi-tenant isolation at database level

Multi-Tenant Architecture

  • Organization-based isolation with RBAC
  • Hierarchical credentials: User β†’ Organization β†’ Server
  • 4-tier roles: Owner, Admin, Member, Viewer
  • Service Account Mode for sensitive credentials

Dynamic Marketplace

  • 11,000+ MCP servers from npm, GitHub, Glama.ai, Smithery.ai
  • Semantic search with vector embeddings
  • One-click installation with credential detection
  • Background sync with caching

AI Orchestration

  • Intent analysis - Natural language β†’ workflow
  • Auto-workflow generation - "Sync Grist to Sheets daily"
  • Composition store with lifecycle (temporary β†’ production)
  • Data mappings with wildcards ([*]) and templates

Universal Access

  • Desktop: Claude Desktop, Continue.dev, Cline
  • Mobile: Claude Mobile (via cloud server)
  • Web: REST API v1, React dashboard
  • MCP Protocol 2024-11-05 compliant

πŸ— Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                      CLIENT INTERFACES                           β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  MCP Protocol   β”‚   REST API v1   β”‚    OAuth 2.0 Clients        β”‚
β”‚  (SSE/JSON-RPC) β”‚     (JSON)      β”‚  (Claude Desktop, etc.)     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚                 β”‚                       β”‚
         β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                           β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                   GATEWAY LAYER (FastAPI)                        β”‚
β”‚  Authentication β€’ Authorization β€’ Rate Limiting β€’ Routing        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                           β”‚
                           β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                  ORCHESTRATION LAYER                             β”‚
β”‚  Semantic Search β€’ Intent Analysis β€’ Workflow Composition        β”‚
β”‚  Credential Resolution β€’ Permission Checks                       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                           β”‚
                           β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                 REGISTRY & MARKETPLACE                           β”‚
β”‚  Tool Catalog β€’ User Server Pools β€’ Health Monitoring            β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                           β”‚
                           β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    MCP SERVERS                                   β”‚
β”‚  grist-mcp β”‚ github-mcp β”‚ notion-mcp β”‚ [marketplace servers]     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                           β”‚
                           β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    DATABASE LAYER                                β”‚
β”‚  PostgreSQL 15+ with pgvector                                    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

🐳 Self-Hosted Deployment

Requirements

  • Docker & Docker Compose
  • PostgreSQL 15+ (included in compose)
  • 2GB RAM minimum

Quick Deploy

# 1. Clone
git clone https://github.com/bigfatdot/bigmcp.git
cd bigmcp

# 2. Configure
cp docker-compose.example.yml docker-compose.yml
cp .env.example .env
# Edit .env with your settings (LLM API key, secrets)
# Edit .env with your secrets (JWT_SECRET, ENCRYPTION_KEY)

# 3. Start
docker compose up -d

# 4. Initialize
docker compose exec backend alembic upgrade head
# First user to sign up becomes instance admin

Environment Variables

# Required
DATABASE_URL=postgresql://user:pass@localhost:5432/bigmcp
JWT_SECRET=your-secret-key-min-32-chars
ENCRYPTION_KEY=your-fernet-key

# Optional - LLM for AI orchestration
LLM_API_URL=https://api.mistral.ai/v1
LLM_API_KEY=your-api-key
LLM_MODEL=mistral-small-latest

Production Deployment

For production, ensure you:

  1. Generate secure secrets:

    # JWT Secret (min 32 chars)
    python -c "import secrets; print(secrets.token_urlsafe(32))"
    
    # Encryption Key (Fernet)
    python -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())"
  2. Configure SSL/TLS via reverse proxy (Nginx included in compose)

  3. Set up backups for PostgreSQL

  4. Register for Marketplace API at bigmcp.cloud (free for self-hosted)

Connecting Claude Desktop

// Claude Desktop config
// macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
// Windows: %APPDATA%/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "bigmcp": {
      "url": "https://your-domain.com/mcp/sse",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

πŸ“š Documentation

Resource Description
API Reference Swagger/OpenAPI (also at /docs on your instance)
Changelog Version history
Contributing How to contribute
Licensing License details

πŸ›  Technology Stack

Layer Technologies
Backend FastAPI, Python 3.11+, SQLAlchemy 2.0, Alembic
Database PostgreSQL 15+ with pgvector
Security JWT, bcrypt, Fernet encryption, OAuth 2.0
Frontend React 18, TypeScript, Tailwind CSS, Vite
Infrastructure Docker, Uvicorn, Nginx
Protocols MCP 2024-11-05, SSE, JSON-RPC 2.0

πŸ—Ί Roadmap

Completed βœ…

  • Authentication & Authorization (JWT, OAuth 2.0, PKCE)
  • Multi-tenant RBAC
  • MCP Gateway (Protocol 2024-11-05)
  • Dynamic Marketplace
  • AI-powered Orchestration
  • REST API v1
  • Web UI (React + TypeScript)
  • CI/CD Pipeline

In Progress 🚧

  • Visual Workflow Builder (drag & drop)
  • Social OAuth (Google, GitHub buttons)
  • Template Gallery

Planned πŸ“‹

  • Mobile apps (iOS/Android)
  • Advanced analytics
  • Custom branding (white-label)
  • Kubernetes deployment

🀝 Contributing

We welcome contributions! See CONTRIBUTING.md for guidelines.

# Development setup
cd mcp-registry
python -m venv .venv
source .venv/bin/activate  # Windows: .venv\Scripts\activate
pip install -r requirements.txt -r requirements-dev.txt

# Run tests
pytest tests/ -v

# Start dev server
uvicorn app.main:app --reload --port 8001

πŸ“„ License

This project is licensed under the Elastic License 2.0 (ELv2).

Edition License Commercial Use
Community ELv2 βœ… Personal/internal use
Cloud SaaS Commercial βœ… Subscription service
Enterprise Commercial βœ… Unlimited users

See LICENSING.md for full details.


πŸ’¬ Support

Channel Description
Documentation Guides and tutorials
API Reference Swagger documentation
GitHub Issues Bug reports & features
Email General support
Enterprise Enterprise inquiries

BigMCP - Unified MCP Gateway & AI-Powered Orchestrator
Made with care for the MCP community by BigFatDot