MCP Hub
Provides integration with Airtable, enabling management of bases, tables, and records.
Provides integration with Dynatrace for observability data, monitoring, and alerting.
Provides integration with GitHub, allowing management of repositories, issues, and pull requests.
Provides integration with GitLab for managing repositories, issues, and CI/CD pipelines.
Provides integration with Google Sheets, enabling creation, reading, and updating of spreadsheets.
Provides integration with HubSpot CRM for managing contacts, deals, and pipelines.
Provides integration with Kubernetes for managing clusters, deployments, and resources.
Provides integration with Notion for managing pages, databases, and content.
Provides integration with Odoo ERP for managing business processes like sales, inventory, and accounting.
Provides integration with PostgreSQL for querying and managing databases.
Provides integration with QuickBooks for accounting and financial management.
Provides integration with Salesforce for managing accounts, opportunities, and customer data.
Provides integration with Sentry for error tracking and performance monitoring.
Provides integration with Slack for messaging, channels, and notifications.
Provides integration with Twilio for communication via SMS, voice, and messaging.
Provides integration with Xero for accounting and financial management.
Provides integration with Zendesk for customer support and helpdesk management.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Hubshow me the status of all connectors"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Hub — All-in-One MCP Server & Connector Ecosystem
Self-hosted hub that aggregates MCP (Model Context Protocol) connectors into a single endpoint for your AI clients — with an App-Store-style web UI, one-click installs, live logs and health monitoring.
Claude Desktop / Cursor ──Bearer key──▶ ┌─────────────────────┐
│ MCP Hub (:3000) │──▶ github (npx)
│ /mcp /api Web UI │──▶ postgres (npx)
Web browser ──session cookie──▶ └─────────┬───────────┘──▶ slack (npx) …
▼
PostgreSQL 16Quick start
A. Local / plain Docker
cp .env.example .env
# edit .env — set POSTGRES_PASSWORD (and optionally MASTER_ENCRYPTION_KEY / SESSION_SECRET)
docker compose up -d --buildB. Portainer (web editor)
Stacks → Add stack → Web editor and paste
portainer-stack.yml.Add an environment variable
POSTGRES_PASSWORD(under Environment variables) before deploying.Deploy — the image is pulled from Docker Hub (
xeniak10/mcp-hub:latest), no build needed.
Open http://:3000 — on first visit you'll be asked to create the admin account (bootstrap). Then:
Go to Marketplace, install e.g. GitHub, paste a token → the connector's child process starts in the background.
Go to Settings → create an API key.
Point your AI client at the hub:
{
"mcpServers": {
"hub": {
"url": "http://localhost:3000/mcp",
"headers": { "Authorization": "Bearer mcp_YOUR_KEY" }
}
}
}All connector tools appear namespaced as github__create_issue, postgres__query, …
Related MCP server: CbetaMCP
What you get
Marketplace — 71 built-in connectors for developers (GitHub, GitLab, Postgres, Kubernetes, Sentry…) and business teams — CRM (Salesforce, HubSpot, Pipedrive), ERP/accounting (Odoo, QuickBooks, Xero), helpdesk (Zendesk, Freshdesk, ServiceNow), communication (Microsoft 365, Email IMAP/SMTP, Twilio, Slack, Teams files), productivity (Google Sheets, Notion, Airtable) and observability (Dynatrace). One-click install, schema-driven config form, background dependency startup via
npx/uvxinside the hub container. Search, category filters and sorting (official first / most installed / name).Community connector repos — paste a public GitHub repo URL in the Marketplace ("Community repos" section) and every valid connector manifest in it is fetched, validated and merged into your catalog (
community:owner/repo/<id>namespaced, cached offline in the data volume). Anindex.jsonat the repo root lists files explicitly; otherwise root-level*.jsonare probed. New entries appear after a hub restart.Custom connectors — drop a JSON manifest into
./connectors/(or theconnectorsvolume) and it appears in the marketplace after a restart. Seeconnectors/example.json.example.Dashboard — live status badges (running / starting / error / stopped), stats tiles, instance search, bulk Restart all / Stop all with confirmation.
Connector detail — rename instances inline, visual config editor, live tool preview (
tools/listthrough the running process) with click-to-copy tool names, real-time log viewer (WebSocket tail) with level/text filters, follow mode and log download.Light & dark theme — toggle in the sidebar; persisted per browser.
Keyboard shortcuts —
/focuses search ·g ddashboard ·g mmarketplace ·g ssettings ·Esccloses dialogs/blurs search.PWA-ready — installable manifest + SVG favicon.
Backup & restore — one-click export of all installed connectors + configs to a JSON file; import restores them on a fresh instance (Settings page).
Account management — change password (signs out all other devices), list active sessions with IP/user-agent, revoke any session.
Failure alerts — set
ERROR_WEBHOOK_URLand the hub POSTs a JSON alert whenever a connector enters the error state (works with Slack, Discord, Teams, generic receivers; 5-minute per-connector cooldown).Watchdog — crashed processes restart with exponential backoff; health ping every 30 s; boot recovery restores everything that was enabled before restart.
Updates — Settings shows your current version and checks GitHub releases / Docker Hub tags every 6 h (or on Check now). When a new version is published you get a one-click copy of the exact upgrade command for your deployment type.
Optional auto-update — enable the Watchtower sidecar with
docker compose --profile autoupdate up -d: it pulls newerxeniak10/mcp-hubimages hourly and recreates only the app container (it is label-scoped, so it never touches your database).Monitoring & ops — unauthenticated
GET /healthzfor uptime probes;GET /api/metareports version + git commit (shown in Settings footer); API-key traffic on/mcpis rate-limited to 120 requests/min per key.Security — AES-256-GCM encrypted configs at rest, argon2id passwords, cookie sessions, hashed API keys, login rate limiting, audit log.
Configuration
Variable | Required | Description |
| ✅ | Password for the bundled PostgreSQL |
| – |
|
| – | Empty = random per boot (users get logged out on restart) |
| – | Host port (default |
| – | Ring buffer size per connector (default 5000) |
| – | Log age limit (default 7) |
| – | URL to POST JSON alerts when a connector enters error state |
Volumes: pgdata (database), app-data (master key + state), npx-cache
(connector dependency cache — keeps restarts fast).
Updating
The hub cannot replace its own container, so updates are a one-liner on the host:
docker compose pull app && docker compose up -d --no-deps --force-recreate app(Settings → Updates copies this for you when a new version is available. On Portainer use Stack → Pull and redeploy.) Want it fully hands-off?
docker compose --profile autoupdate up -dThat starts Watchtower next to the hub; every hour it checks Docker Hub and
recreates the app container when a newer image exists (--cleanup removes old
images). Your data lives in volumes, so updates are lossless.
Development
npm install
npm run dev # server (watch) + web (vite dev server on :5173, proxied /api + /mcp)
npm run typecheck # all workspaces
npm run build # shared → server → webStack: npm workspaces · Fastify 5 · @modelcontextprotocol/sdk · PostgreSQL 16 ·
Vite + React 18 + Tailwind CSS v4 + TanStack Query.
Layout
packages/
shared/ types shared by server & web (manifests, API DTOs, WS events)
server/ Fastify app: auth, registry (connector manifests), ConnectorManager,
unified /mcp proxy, log pipeline, SQL migrations
web/ React SPA served statically by the server in productionAdding a connector
Without rebuilding (recommended): copy
connectors/example.json.example to
connectors/<your-id>.json, fill in the manifest (command argv with {env.NAME}
placeholders + JSON-schema config form) and restart the hub. Invalid files are skipped
with a warning in the logs; custom ids that collide with built-ins are ignored.
From a GitHub repo: Marketplace → Community repos → paste owner/repo (or a full
github.com URL). The hub fetches an index.json from the repo root (array of file
paths) or falls back to root-level *.json files, validates each against the same
schema as volume manifests, and caches them under community:owner/repo/<id> ids —
so they can never shadow built-ins and keep working offline after the first fetch.
Manage/remove repos in the same section; changes apply on next restart.
Built-in: create packages/server/src/registry/connectors/<id>.ts exporting a
ConnectorManifest and register it in src/registry/index.ts. It appears in the
marketplace immediately after rebuild.
REST API summary
Endpoint | Auth | Description |
| – | Liveness probe (DB ping only, no details) |
| –/session | First-run account, sign-in/out |
| session |
|
| session | Change password; revokes all other sessions |
| session | List/revoke active sessions |
| session | Catalog entries with install counts |
| session | Manage community connector repos |
| session | Install / rename / uninstall |
| session | Save encrypted config |
| session | Lifecycle |
| session | Bulk operations |
| session | Live tool list from the running process |
| session | Log tail |
| session | API key management |
| session | Config export/import |
| Bearer key or session | Unified MCP endpoint (120 req/min per key) |
All mutating endpoints write to the audit log.
Notes
Connectors run as child processes inside the hub container (
npx -y pkg@versionoruvx). No docker socket is mounted. Python-based connectors needuvx— it is installed into the runtime image.The MCP endpoint is stateless Streamable HTTP (
/mcp) — any HTTP MCP client works.Resources are exposed under
connector://<slug>/<original-uri>.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityCmaintenanceThis server facilitates the invocation of AI models from providers like Anthropic, OpenAI, and Groq, enabling users to manage and configure large language model interactions seamlessly.213MIT
- AlicenseNot gradedqualityDmaintenanceA modular, extensible FastAPI-based platform that aggregates multiple AI tools and microservices into a unified interface with standardized I/O formats, perfect for frontend integration or LLM system orchestration.4MIT
- -licenseNot gradedqualityNot gradedmaintenanceIntelligent routing service that selects optimal AI models based on capability requirements and normalizes input/output formats across multiple providers like OpenAI, Anthropic, Google, and others.
- FlicenseNot gradedqualityDmaintenanceA unified local API gateway providing caching, rate limiting, and full Model Context Protocol compatibility for AI agent integration. It enables users to aggregate multiple API endpoints into a single gateway with built-in observability and customizable eviction strategies.
Related MCP Connectors
Universal AI API Orchestrator — 1,554 tools, 96 services. One install.
Connect MCP clients to 2,000+ AI models without managing provider API keys.
Enterprise AI Control Plane: governance, guardrails, spend tracking, compliance & smart routing.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/xeniak123/mcp-hub'
If you have feedback or need assistance with the MCP directory API, please join our Discord server