Auto-generate MCP servers from any data source. Zero code required.
Point MCP-Maker at a database, spreadsheet, or directory and get a fully functional MCP server in seconds — ready for Claude, ChatGPT, Cursor, and any MCP-compatible AI.
Note: MCP-Maker is built on top of the official MCP Python SDK (
mcppackage). The SDK is the low-level framework for building MCP servers in Python — you write every tool, resource, and handler yourself. MCP-Maker uses that SDK under the hood to auto-generate everything from your data source. Think of it like Django vs raw SQL: same power, less work.
Your Data Source MCP-Maker MCP Server
┌──────────────┐ ┌──────────────────┐ ┌─────────────────────────┐
│ SQLite DB │ │ │ │ 📄 server.py (Editable) │
│ Google Sheet │───▶│ mcp-maker init │───▶│ ↳ Add custom tools │
│ Airtable │ │ │ │ │
│ Notion DB │ │ (auto-inspect) │ │ ⚙️ _autogen_tools.py │
│ CSV files │ │ (auto-generate) │ │ ↳ list_users() │
│ PostgreSQL │ │ │ │ ↳ search_users() │
│ MySQL │ └──────────────────┘ └─────────────────────────┘
└──────────────┘ Ready for Claude ✅
- Non-Destructive Generation:
mcp-maker initsafely outputs two files:server.py(your editable entry point) and_autogen_tools.py. Regenerate as often as you like—your custom tools and business logic are never overwritten. - Credential Hardening: Connection strings and API keys are strictly forbidden in generated files. They are securely loaded via generated
.envfiles and standard environment variables. - API Key Authentication (
--auth api-key): Gate access to your generated server with anMCP_API_KEYenvironment variable. Every tool call is wrapped with an auth check. - SSL/TLS by Default: All PostgreSQL and MySQL connections enforce encrypted transport (
sslmode=require/ssl=True). Disable with--no-sslfor local development only. - Schema Versioning & Migrations: Generates a
.mcp-maker.lockfile tracking your schema fingerprint. On re-generation, detects added/removed tables/columns and displays a detailed migration diff with color-coded changes, then auto-updates tools. - Multi-Source Servers: Combine multiple data sources into a single server:
mcp-maker init sqlite:///users.db mongodb://localhost/ordersmerges schemas and generates tools for both. - Relationship Detection: Auto-discovers foreign keys in SQL databases and generates
join_tools (e.g.,join_orders_with_users). - Pagination Helpers: All
list_tools return{results, total, has_more, next_offset}for proper cursor-based pagination. - Column Selection: Pass
fields="name,email"to anylist_tool to receive only specific columns instead ofSELECT *. - Date Range Filters: When date/datetime columns are detected,
list_tools auto-generatedate_from/date_toparameters. - Batch Operations:
batch_insert_andbatch_delete_tools wrapped in transactions for all SQL connectors, MongoDB, and Supabase. - Export Tools:
export_{table}_csv()andexport_{table}_json()for every table across all connectors. - Webhook Support (
--webhooks): Register, list, and remove webhooks for real-time notifications on insert/update/delete events. - Redis Pub/Sub:
publish_message(),channel_list(), andchannel_subscribers()tools for Redis channels. - Async Generation (
--async): Generate async tools usingaiosqlite,asyncpg, oraiomysqlfor high-concurrency MCP servers. - LLM Context Optimization (
--consolidate-threshold): For massive schemas (>20 tables), MCP-Maker intelligently switches from generating per-table CRUD tools to consolidated generic tools (e.g.,query_database) to prevent LLM context window bloat and reasoning degradation. - Structured Audit Logging (
--audit): Optionally generate servers that output structured JSON logs for every tool invocation, ready for ingestion into Datadog, Splunk, or ELK. - Async-Ready Connection Pooling: Fast, thread-safe database interactions with built-in connection pooling for PostgreSQL (
psycopg2.pool), MySQL, and SQLite. - Guaranteed Code Quality: All generated Python code is automatically syntactically verified through
ast.parseand statically formatted withblack.
- Zero-Code Generation: Instantly maps tables, columns, and APIs into atomic MCP tools. No coding required.
- Zero Vendor Lock-In: The generated
mcp_server.pyfile is a 100% standalone, standard Python file built entirely on the official SDK. You can uninstall MCP-Maker immediately after generation and your server will continue to run flawlessly forever. - Granular Security (
--ops): You control exactly what the LLM can do. Explicitly authorizeread,insert,update, ordeleteoperations. - Auto-Rate Limiting: Built-in TokenBucket throttling for Cloud APIs (Airtable, Notion, Google Sheets) prevents
429 Too Many Requestsbans when LLMs make aggressive parallel tool calls. - Semantic Vector Search (
--semantic): Automatically spins up a ChromaDB vector database alongside your SQL tables for high-quality, meaning-based search. - Context Window Optimized (
--tables): Only expose the data you actually need to prevent LLM context bloat and hallucination. - Environment Management: Safely manage API credentials via
mcp-maker envinstead of hardcoding them.
While basic tools stop at simple SQL tables, MCP-Maker's Connectors are engineered for complex enterprise use cases:
- HubSpot: Acts as an Enterprise Data-Bridge, intelligently auto-discovering custom objects, custom properties, mapping Deal Pipelines natively, resolving
owner_idsto human names, and exposing batch upsert endpoints. - Notion: Supports Multi-Database URIs (
notion://DB1,DB2), automatically parses 20+ property types (Rollups, Relations, Formulas), handles cursor pagination, and exposes deepfiltertools. - Airtable: Generates tools to query via Airtable Formulas, target specific Views, automatically sorts records, and discovers your Bases directly (
mcp-maker bases). - Google Sheets: Treats entire tabs as discrete SQL-like tables, infers column types, and provides pinpoint
update_celltools. - PostgreSQL / MySQL: Detects Primary Keys automatically, maps all complex SQL native types, and fully supports SSL-encrypted TLS connections.
pip install mcp-maker# SQLite database
mcp-maker init sqlite:///path/to/my_database.db
# CSV/JSON files in a directory
mcp-maker init ./my-data/
# Google Sheets (see docs for auth setup)
mcp-maker init gsheet://YOUR_SPREADSHEET_ID
# Airtable
mcp-maker init airtable://appXXXXXXXXXX
# Notion
mcp-maker init notion://DATABASE_IDThis creates a mcp_server.py file with all your tools.
# Auto-configure Claude Desktop
mcp-maker config --install
# Restart Claude Desktop, then ask:
# "What tables are in my database?"
# "Show me the top 10 customers"
# "Search for records containing 'Python'"That's it. Your AI can now query your data.
👉 Getting Started Guide — Tutorial, installation, first server, Claude Desktop setup
📋 Full Reference (DOCS.md) — CLI commands, schema filtering, env management, architecture, roadmap
| Connector | Guide |
|---|---|
| SQLite | docs/sqlite.md |
| Files (CSV/JSON) | docs/files.md |
| PostgreSQL | docs/postgresql.md |
| MySQL | docs/mysql.md |
| Airtable | docs/airtable.md — Formulas, views, sorting, CRUD |
| Google Sheets | docs/google-sheets.md — GCP service account setup |
| Notion | docs/notion.md — Integration setup, multi-DB support |
| Excel | docs/excel.md — .xlsx files, sheets as tables |
| MongoDB | docs/mongodb.md — Document sampling, full CRUD |
| Supabase | docs/supabase.md — Auth/storage tools, PostgREST |
| REST API | docs/openapi.md — OpenAPI/Swagger specs |
| Redis | docs/redis.md — Key grouping, type-aware tools |
| HubSpot | docs/hubspot.md — Enterprise CRM Data-Bridge, PAT auth |
| Feature | Guide |
|---|---|
| Semantic Search | docs/semantic-search.md — ChromaDB vector search, search by meaning |
| Connector | URI Format | Auth Required | Install |
|---|---|---|---|
| SQLite | sqlite:///my.db |
❌ | Built-in |
| Files | ./data/ |
❌ | Built-in |
| PostgreSQL | postgres://user:pass@host/db |
✅ DB creds | pip install "mcp-maker[postgres]" |
| MySQL | mysql://user:pass@host/db |
✅ DB creds | pip install "mcp-maker[mysql]" |
| Airtable | airtable://appXXXX |
✅ API key | pip install "mcp-maker[airtable]" |
| Google Sheets | gsheet://SPREADSHEET_ID |
✅ Service acct | pip install "mcp-maker[gsheets]" |
| Notion | notion://DATABASE_ID |
✅ Integration | pip install "mcp-maker[notion]" |
| Excel | ./data.xlsx or excel:///path.xlsx |
❌ | pip install "mcp-maker[excel]" |
| MongoDB | mongodb://user:pass@host/db |
✅ DB creds | pip install "mcp-maker[mongodb]" |
| Supabase | supabase://PROJECT_REF |
✅ API key | pip install "mcp-maker[supabase]" |
| REST API | openapi:///path/to/spec.yaml |
✅ API token | pip install "mcp-maker[openapi]" |
| Redis | redis://host:6379/0 |
✅ Password | pip install "mcp-maker[redis]" |
| HubSpot | hubspot://pat=YOUR_TOKEN |
✅ PAT | pip install "mcp-maker[hubspot]" |
Install all connectors at once:
pip install "mcp-maker[all]"mcp-maker init <source> # Generate an MCP server
mcp-maker init <source> --ops read,insert # Include specific write operations
mcp-maker init <source> --tables users,orders # Only include specific tables
mcp-maker init <source> --semantic # Enable vector/semantic search
mcp-maker init <source> --audit # Enable structured JSON audit logging
mcp-maker init <source> --auth api-key # Require MCP_API_KEY for access
mcp-maker init <source> --async # Generate async tools (aiosqlite/asyncpg)
mcp-maker init <source> --cache 60 # Cache read results for 60 seconds
mcp-maker init <source> --no-ssl # Disable SSL for local development
mcp-maker init <source> --force # Skip schema change warnings
mcp-maker init <source> --consolidate-threshold 10 # Consolidate large schemas
mcp-maker deploy --platform railway # Generate deployment files
mcp-maker deploy --platform render # Render deployment
mcp-maker deploy --platform fly # Fly.io deployment
mcp-maker serve # Run the generated server
mcp-maker inspect <source> # Preview what would be generated (dry run)
mcp-maker config --install # Auto-write Claude Desktop config
mcp-maker env set KEY VALUE # Store API keys safely in .env
mcp-maker env list # List stored keys (masked)
mcp-maker list-connectors # Show available connectors
mcp-maker bases # Discover Airtable bases# Core (SQLite + Files)
pip install mcp-maker
# With PostgreSQL support
pip install "mcp-maker[postgres]"
# With Airtable support
pip install "mcp-maker[airtable]"
# With Google Sheets support
pip install "mcp-maker[gsheets]"
# With Notion support
pip install "mcp-maker[notion]"
# With semantic search (ChromaDB vector search)
pip install "mcp-maker[semantic]"
# With async support
pip install "mcp-maker[async-sqlite]" # aiosqlite
pip install "mcp-maker[async-postgres]" # asyncpg
pip install "mcp-maker[async-mysql]" # aiomysql
# New connectors
pip install "mcp-maker[excel]" # Excel (.xlsx)
pip install "mcp-maker[mongodb]" # MongoDB
pip install "mcp-maker[supabase]" # Supabase
pip install "mcp-maker[openapi]" # REST API (OpenAPI specs)
pip install "mcp-maker[redis]" # Redis
# All connectors + semantic search + async
pip install "mcp-maker[all]"
# Development
pip install "mcp-maker[dev]"MCP-Maker is designed for community contributions — each new connector is a self-contained PR.
See CONTRIBUTING.md for detailed instructions and a step-by-step connector creation guide.
This project is licensed under the MIT License.