MCP Hub
MCP Hub — オールインワン MCP サーバー & コネクタエコシステム
AI クライアント向けに MCP (Model Context Protocol) コネクタを単一のエンドポイントに集約するセルフホスト型ハブ — App Store 風の Web UI、ワンクリックインストール、ライブログとヘルスモニタリングを備えています。
Claude Desktop / Cursor ──Bearer key──▶ ┌─────────────────────┐
│ MCP Hub (:3000) │──▶ github (npx)
│ /mcp /api Web UI │──▶ postgres (npx)
Web browser ──session cookie──▶ └─────────┬───────────┘──▶ slack (npx) …
▼
PostgreSQL 16クイックスタート
A. ローカル / 通常の Docker
cp .env.example .env
# edit .env — set POSTGRES_PASSWORD (and optionally MASTER_ENCRYPTION_KEY / SESSION_SECRET)
docker compose up -d --buildB. Portainer (Web エディタ)
Stacks → Add stack → Web editor で
portainer-stack.ymlを貼り付けます。デプロイ前に (Environment variables で) 環境変数
POSTGRES_PASSWORDを追加します。デプロイ — イメージは Docker Hub (
xeniak10/mcp-hub:latest) からプルされるため、ビルドは不要です。
http://:3000 を開くと、初回アクセス時に管理者アカウントの作成 (ブートストラップ) を求められます。その後:
Marketplace に移動し、例: GitHub をインストールしてトークンを貼り付けると、コネクタの子プロセスがバックグラウンドで起動します。
Settings に移動し、API キーを作成します。
AI クライアントをハブに向けます:
{
"mcpServers": {
"hub": {
"url": "http://localhost:3000/mcp",
"headers": { "Authorization": "Bearer mcp_YOUR_KEY" }
}
}
}すべてのコネクタツールは github__create_issue、postgres__query、… のように名前空間付きで表示されます。
Related MCP server: CbetaMCP
得られるもの
Marketplace — 開発者向けの組み込みコネクタ 71 個 (GitHub、GitLab、Postgres、Kubernetes、Sentry…) および ビジネスチーム向け — CRM (Salesforce、HubSpot、Pipedrive)、ERP/会計 (Odoo、QuickBooks、Xero)、ヘルプデスク (Zendesk、Freshdesk、ServiceNow)、コミュニケーション (Microsoft 365、Email IMAP/SMTP、Twilio、Slack、Teams files)、生産性 (Google Sheets、Notion、Airtable)、可観測性 (Dynatrace)。ワンクリックインストール、スキーマ駆動の設定フォーム、ハブコンテナ内での
npx/uvxによるバックグラウンド依存関係起動。検索、カテゴリフィルター、並べ替え (公式優先 / インストール数順 / 名前順)。コミュニティコネクタリポジトリ — Marketplace の「Community repos」セクションに公開 GitHub リポジトリの URL を貼り付けると、その中の有効なコネクタマニフェストがすべて取得・検証され、カタログに統合されます (
community:owner/repo/<id>名前空間、データボリュームにオフラインキャッシュ)。リポジトリルートのindex.jsonでファイルを明示的にリストできます。それ以外の場合はルートレベルの*.jsonが探索されます。新しいエントリはハブ再起動後に表示されます。カスタムコネクタ — JSON マニフェストを
./connectors/(またはconnectorsボリューム) に置くと、再起動後にマーケットプレイスに表示されます。connectors/example.json.exampleを参照してください。ダッシュボード — ライブステータスバッジ (実行中 / 起動中 / エラー / 停止)、統計タイル、インスタンス検索、確認付き一括 Restart all / Stop all。
コネクタ詳細 — インラインでのインスタンス名変更、ビジュアル設定エディター、ライブツールプレビュー (実行中プロセス経由の
tools/list)、クリックでコピーできるツール名、リアルタイムログビューアー (WebSocket テール)、レベル/テキストフィルター、フォローモード、ログダウンロード。ライト & ダークテーマ — サイドバーで切り替え。ブラウザごとに保存されます。
キーボードショートカット —
/で検索にフォーカス ·g dダッシュボード ·g mマーケットプレイス ·g s設定 ·Escダイアログを閉じる/検索をクリア。PWA 対応 — インストール可能なマニフェスト + SVG ファビコン。
バックアップ & リストア — インストール済みのすべてのコネクタと設定を JSON ファイルにワンクリックエクスポート。インポートで新しいインスタンスに復元 (Settings ページ)。
アカウント管理 — パスワード変更 (他のすべてのデバイスをサインアウト)、アクティブセッションの一覧表示 (IP/ユーザーエージェント付き)、任意のセッションを取り消し。
障害アラート —
ERROR_WEBHOOK_URLを設定すると、コネクタがエラー状態になるたびにハブが JSON アラートを POST します (Slack、Discord、Teams、汎用レシーバーに対応。コネクタごとに 5 分間のクールダウン)。ウォッチドッグ — クラッシュしたプロセスは指数バックオフで再起動。30 秒ごとのヘルスピング。起動時リカバリで再起動前に有効だったものをすべて復元。
アップデート — Settings に現在のバージョンが表示され、6 時間ごと (または Check now で) GitHub リリース / Docker Hub タグをチェックします。新しいバージョンが公開されると、デプロイタイプに応じた正確なアップグレードコマンドをワンクリックでコピーできます。
オプションの自動更新 —
docker compose --profile autoupdate up -dで Watchtower サイドカーを有効化: 毎時新しいxeniak10/mcp-hubイメージをプルし、アプリコンテナのみを再作成します (ラベルでスコープされているため、データベースには触れません)。監視 & 運用 — 稼働確認用の認証なし
GET /healthz。GET /api/metaはバージョン + git コミットを報告 (Settings フッターに表示)。/mcpの API キートラフィックはキーごとに毎分 120 リクエストにレート制限。セキュリティ — 保存時の AES-256-GCM 暗号化設定、argon2id パスワード、クッキーセッション、ハッシュ化 API キー、ログインのレート制限、監査ログ。
設定
変数 | 必須 | 説明 |
| ✅ | 同梱の PostgreSQL 用パスワード |
| – |
|
| – | 空 = 起動ごとにランダム (再起動時にユーザーはログアウトされます) |
| – | ホストポート (デフォルト |
| – | コネクタごとのリングバッファサイズ (デフォルト 5000) |
| – | ログの保持期間 (デフォルト 7) |
| – | コネクタがエラー状態になったときに JSON アラートを POST する URL |
ボリューム: pgdata (データベース)、app-data (マスターキー + 状態)、npx-cache (コネクタ依存関係キャッシュ — 再起動を高速化)。
アップデート
ハブは自身のコンテナを置き換えることはできないため、アップデートはホスト上の 1 行で行います:
docker compose pull app && docker compose up -d --no-deps --force-recreate app(Settings → Updates で、新しいバージョンが利用可能なときにこれをコピーできます。Portainer では Stack → Pull and redeploy を使用します。) 完全に手間いらずにしたいですか?
docker compose --profile autoupdate up -dこれでハブの隣に Watchtower が起動します。毎時 Docker Hub をチェックし、新しいイメージが存在する場合にアプリコンテナを再作成します (--cleanup は古いイメージを削除)。データはボリュームにあるため、アップデートは損失なしです。
開発
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 → webスタック: npm workspaces · Fastify 5 · @modelcontextprotocol/sdk · PostgreSQL 16 · Vite + React 18 + Tailwind CSS v4 + TanStack Query。
レイアウト
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 productionコネクタの追加
再ビルドなし (推奨): connectors/example.json.example を connectors/<your-id>.json にコピーし、マニフェストを記入して ({env.NAME} プレースホルダー付きのコマンド argv + JSON スキーマ設定フォーム)、ハブを再起動します。無効なファイルはログに警告を出してスキップされます。組み込みと衝突するカスタム ID は無視されます。
GitHub リポジトリから: Marketplace → Community repos → owner/repo (または完全な github.com URL) を貼り付けます。ハブはリポジトリルートから index.json (ファイルパスの配列) を取得するか、ルートレベルの *.json ファイルにフォールバックし、それぞれをボリュームマニフェストと同じスキーマで検証し、community:owner/repo/<id> ID でキャッシュします — そのため組み込みをシャドウすることはなく、最初の取得後はオフラインでも動作し続けます。同じセクションでリポジトリを管理/削除できます。変更は次回再起動時に適用されます。
組み込み: packages/server/src/registry/connectors/<id>.ts を作成し、ConnectorManifest をエクスポートして src/registry/index.ts に登録します。再ビルド後すぐにマーケットプレイスに表示されます。
REST API 概要
エンドポイント | 認証 | 説明 |
| – | 生存確認プローブ (DB ピンのみ、詳細なし) |
| –/セッション | 初回実行アカウント、サインイン/アウト |
| セッション | 実行中ビルドの |
| セッション | パスワード変更。他のすべてのセッションを取り消し |
| セッション | アクティブセッションの一覧/取り消し |
| セッション | インストール数付きのカタログエントリ |
| セッション | コミュニティコネクタリポジトリの管理 |
| セッション | インストール / 名前変更 / アンインストール |
| セッション | 暗号化設定の保存 |
| セッション | ライフサイクル |
| セッション | 一括操作 |
| セッション | 実行中プロセスからのライブツールリスト |
| セッション | ログテール |
| セッション | API キー管理 |
| セッション | 設定のエクスポート/インポート |
| Bearer キーまたはセッション | 統合 MCP エンドポイント (キーごとに毎分 120 リクエスト) |
すべての変更エンドポイントは監査ログに書き込まれます。
注記
コネクタはハブコンテナ内の子プロセスとして実行されます (
npx -y pkg@versionまたはuvx)。Docker ソケットはマウントされません。Python ベースのコネクタにはuvxが必要です — ランタイムイメージにインストールされています。MCP エンドポイントはステートレスな Streamable HTTP (
/mcp) です — 任意の HTTP MCP クライアントが動作します。リソースは
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