AllMCP
Open-source MCP hub providing a single endpoint for AI agents to access dozens of business integrations (CRMs, spreadsheets, telephony, ads) with multi-tenancy, OAuth, and context-efficient tool discovery.
README
AllMCP
One MCP endpoint, every business integration — multi-tenant, context-efficient, self-hostable.
AllMCP is an open-source MCP hub: point any MCP client at a single endpoint and your AI agents get native, typed tools for CRMs, spreadsheets, telephony, ads platforms, and more. You host it; your users self-service their own provider connections through one-click browser flows. AllMCP handles OAuth, token refresh, credential encryption, and every API call.
Claude / ChatGPT / any MCP client
│
▼
https://your-host/mcp/ ← one endpoint, one API key
│
├─ bitrix24_list_contacts()
├─ google_sheets_values_get()
├─ amocrm_create_lead()
└─ … 12 providers, hundreds of tools
Why AllMCP
- Native three-level multi-tenancy.
Client → Organization → Useris built into the connection layer (URL + headers), not bolted on with string tags. One deployment serves an entire AI platform's customer base; every end user connects their own accounts, and credentials are encrypted per user per provider. - Context-efficient by design. Advertising hundreds of tools kills an agent's context window. AllMCP shows only system tools plus the connected providers' core tools; everything else stays hidden until the agent calls
describe_category()— or is revealed automatically on dispatch. Agents keep their context; tools stay one call away. - Native connectors, typed responses. Every tool is a hand-written connector returning typed, documented schemas — no proxying third-party MCP servers, no raw JSON dumps. Provider quirks (pagination, error shapes, rate limits) are absorbed inside the connector and documented in per-provider
findings.mdresearch notes. - Per-category agent skills. Connectors ship with workflow guides that
describe_category()serves to agents — the agent learns how to use a provider's tools, not just their signatures. - MCP OAuth 2.1 authorization server. Header-less clients (Claude web/mobile/Desktop connectors, ChatGPT dev mode) connect with nothing but the URL — authorization-code + PKCE, dynamic client registration, rotating refresh tokens.
- Production-grade engineering. Real-database tests (PostgreSQL + DragonflyDB via containers), structured logging, Prometheus metrics, encrypted credential storage, strict pre-commit gauntlet (isort → black → ruff → mypy → bandit).
Providers
| Provider | Category |
|---|---|
| Bitrix24 | CRM |
| amoCRM / Kommo | CRM |
| SalesDrive | CRM |
| Google Sheets | Spreadsheets |
| Google Docs | Documents |
| Google Ads | Advertising |
| Binotel | Telephony |
| Altegio | Booking |
| iiko | Restaurant ERP |
| YouGile | Project management |
| Linear | Issue tracking |
Adding a connector is deliberately cheap: one folder, a CONNECTOR_META, and tool modules that follow a documented pattern. See CONTRIBUTING.md.
Quickstart (self-host)
Requirements: Docker + Docker Compose, uv.
git clone https://github.com/Perception-Dynamics-Inc/allmcp.git
cd allmcp
cp .env.example .env # dev defaults work out of the box
make dev # postgres + dragonfly + rabbitmq + app + celery
make migrate # apply schema
The MCP endpoint is now at http://localhost:8000/mcp/, the REST API at http://localhost:8000/api, interactive docs at http://localhost:8000/docs.
Register a client and connect an agent (set PUBLIC_API_REGISTRATION_ENABLED=true in .env first — self-registration is off by default):
curl -X POST http://localhost:8000/api/auth/register \
-H 'Content-Type: application/json' \
-d '{"name": "my-platform"}'
# → returns your API key (shown once): allmcp_...
{
"mcpServers": {
"allmcp": {
"url": "http://localhost:8000/mcp/",
"headers": { "X-API-Key": "allmcp_..." }
}
}
}
Multi-tenant mode: append ?org_id=<your-org-ref>&user_id=<your-user-ref> to the URL and AllMCP scopes every credential and tool call to that end user — no other changes required.
There is also a CLI: npx allmcp (npm, source in cli/).
Provider OAuth apps
For OAuth2 providers (Google, amoCRM, …) each deployment registers its own OAuth app with the provider, then stores the client credentials in the provider_oauth_apps table:
INSERT INTO provider_oauth_apps (_id, provider, client_id, client_secret_encrypted, ...)
Secrets are encrypted with your ENCRYPTION_KEY — see src/allmcp/services/oauth.py for the exact row shape. API-key providers (Bitrix24 webhooks, YouGile, …) need no setup: users paste their key into the hosted connect page.
Architecture
src/allmcp/
├── core/ # config, database, cache, logger, security, celery
├── models/ # SQLAlchemy ORM — UUID7 PKs, one file per table
├── schemas/ # Pydantic — typed request/response models
├── services/ # business logic — ServiceResult[T], no exceptions
├── mcp/ # FastMCP server, tenant middleware, system tools
│ ├── middleware.py # per-call tenant resolution, rate limits, usage logs
│ └── tools/ # list_providers, connect_provider, describe_category, …
├── connectors/ # one folder per provider — the heart of the project
└── api/ # FastAPI REST — dashboard, OAuth callbacks, key entry
The agent loop every MCP client follows:
list_providers() → connect_provider("bitrix24", api_key=…) → bitrix24_list_deals()
For OAuth providers, connect_provider returns a browser URL; the end user clicks, consents, and the agent's next call just works.
Hosted version
Don't want to run infrastructure? The managed cloud version lives at allmcp.co — same core, plus a hosted dashboard, usage analytics, and zero-setup provider OAuth apps.
Contributing
New connectors, bug fixes, and docs are all welcome — see CONTRIBUTING.md for the connector-authoring guide and dev workflow. Security reports: see SECURITY.md.
License
Apache-2.0 © Perception Dynamics, Inc.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。
mcp-server-qdrant
这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。