Skip to main content
Glama

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 --build

B. Portainer (Web エディタ)

  1. Stacks → Add stack → Web editorportainer-stack.yml を貼り付けます。

  2. デプロイ前に (Environment variables で) 環境変数 POSTGRES_PASSWORD を追加します。

  3. デプロイ — イメージは Docker Hub (xeniak10/mcp-hub:latest) からプルされるため、ビルドは不要です。

http://:3000 を開くと、初回アクセス時に管理者アカウントの作成 (ブートストラップ) を求められます。その後:

  1. Marketplace に移動し、例: GitHub をインストールしてトークンを貼り付けると、コネクタの子プロセスがバックグラウンドで起動します。

  2. Settings に移動し、API キーを作成します。

  3. AI クライアントをハブに向けます:

{
  "mcpServers": {
    "hub": {
      "url": "http://localhost:3000/mcp",
      "headers": { "Authorization": "Bearer mcp_YOUR_KEY" }
    }
  }
}

すべてのコネクタツールは github__create_issuepostgres__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 /healthzGET /api/meta はバージョン + git コミットを報告 (Settings フッターに表示)。/mcp の API キートラフィックはキーごとに毎分 120 リクエストにレート制限。

  • セキュリティ — 保存時の AES-256-GCM 暗号化設定、argon2id パスワード、クッキーセッション、ハッシュ化 API キー、ログインのレート制限、監査ログ。

設定

変数

必須

説明

POSTGRES_PASSWORD

同梱の PostgreSQL 用パスワード

MASTER_ENCRYPTION_KEY

openssl rand -hex 32。空の場合は /app/data/master.key に自動生成

SESSION_SECRET

空 = 起動ごとにランダム (再起動時にユーザーはログアウトされます)

APP_PORT

ホストポート (デフォルト 3000)

LOG_RETENTION_LINES

コネクタごとのリングバッファサイズ (デフォルト 5000)

LOG_RETENTION_DAYS

ログの保持期間 (デフォルト 7)

ERROR_WEBHOOK_URL

コネクタがエラー状態になったときに 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.exampleconnectors/<your-id>.json にコピーし、マニフェストを記入して ({env.NAME} プレースホルダー付きのコマンド argv + JSON スキーマ設定フォーム)、ハブを再起動します。無効なファイルはログに警告を出してスキップされます。組み込みと衝突するカスタム ID は無視されます。

GitHub リポジトリから: Marketplace → Community reposowner/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 概要

エンドポイント

認証

説明

GET /healthz

生存確認プローブ (DB ピンのみ、詳細なし)

POST /api/auth/bootstrap · login · logout

–/セッション

初回実行アカウント、サインイン/アウト

GET /api/meta

セッション

実行中ビルドの {version, commit}

POST /api/auth/change-password

セッション

パスワード変更。他のすべてのセッションを取り消し

GET /api/auth/sessions · DELETE /:id

セッション

アクティブセッションの一覧/取り消し

GET /api/marketplace

セッション

インストール数付きのカタログエントリ

GET/POST /api/community/repos · DELETE /:repo

セッション

コミュニティコネクタリポジトリの管理

POST /api/connectors · PUT/DELETE /:id

セッション

インストール / 名前変更 / アンインストール

PUT /api/connectors/:id/config

セッション

暗号化設定の保存

POST /api/connectors/:id/enable·disable·restart

セッション

ライフサイクル

POST /api/connectors/restart-all · stop-all

セッション

一括操作

GET /api/connectors/:id/tools

セッション

実行中プロセスからのライブツールリスト

GET /api/logs/:id?after= + WS ストリーム

セッション

ログテール

GET/POST /api/keys · DELETE /:id

セッション

API キー管理

GET /api/backup · POST /api/backup/restore

セッション

設定のエクスポート/インポート

POST /mcp

Bearer キーまたはセッション

統合 MCP エンドポイント (キーごとに毎分 120 リクエスト)

すべての変更エンドポイントは監査ログに書き込まれます。

注記

  • コネクタはハブコンテナ内の子プロセスとして実行されます (npx -y pkg@version または uvx)。Docker ソケットはマウントされません。Python ベースのコネクタには uvx が必要です — ランタイムイメージにインストールされています。

  • MCP エンドポイントはステートレスな Streamable HTTP (/mcp) です — 任意の HTTP MCP クライアントが動作します。

  • リソースは connector://<slug>/<original-uri> で公開されます。

A
license - permissive license
Not graded
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

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

  • A
    license
    Not graded
    quality
    D
    maintenance
    A 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.
    4
    MIT
  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    Intelligent 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.
  • F
    license
    Not graded
    quality
    D
    maintenance
    A 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.

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

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