mcpField
M
MCPHub: The Unified Hub for Model Context Protocol (MCP) Servers

MCPHub: The Unified Hub for Model Context Protocol (MCP) Servers

ローカル
mcphub.appAI・エージェント2.6k今日更新

MCPHub: The Unified Hub for Model Context Protocol (MCP) Servers について

MCPHub は、ローカルおよびリモートの MCP サーバーを管理するチーム向けのオープンソースのセルフホスト可能なゲートウェイです。安定したエンドポイント経由で機能をルーティングし、Web ダッシュボードでアクセス制御、認証情報、ログ、稼働状態を一元管理します。

主な機能

  1. 01安定したエンドポイントの統合ゲートウェイ
  2. 02サーバー・グループ・スマート検索によるルーティング
  3. 03ローカルとリモートのサーバー接続
  4. 04認証とスコープ付き認証情報の管理
  5. 05ログと稼働状態の一元確認
  6. 06Web ダッシュボードと無停止の設定変更

活用シーン

  1. 01単一のクライアントエンドポイントから複数サーバーを提供
  2. 02ユーザーごとにサーバーやグループの公開範囲を制限
  3. 03ツール呼び出しとサーバーの稼働状態を一元監視
  4. 04停止せずにサーバー設定を更新

MCP 対応

MCPHub は MCP クライアントと MCP サーバーの間に位置し、ローカルおよびリモートのサーバーを接続して、MCP エンドポイントから機能を公開します。SSE、Streamable HTTP、stdio による接続に対応しています。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"mcphub": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"samanhappy/mcphub"
]
}
}
}
起動コマンドdocker run -i --rm samanhappy/mcphub

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocisamanhappy/mcphub

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MCPHub

MCP サーバーの接続、制御、運用を実現する、オープンソースでセルフホスト可能な MCP ゲートウェイおよびコントロールプレーンです。

CI npm version Docker pulls License Discord GitHub stars

英語 | フランス語 | 中国語版

MCPHub は、AI クライアントと MCP サーバーの間に統一された制御ポイントを提供します。ローカルおよびリモートの MCP サーバーを一度接続すれば、安定したエンドポイントを介して機能を整理、ルーティングできます。認証、スコープ付き認証情報、ユーザーごとの可視性でアクセスを制御し、ログ、アクティビティ追跡、ヘルスモニタリングを一元化してすべてを運用できます。

Claude Code、Cursor、Cherry Studio、OpenWebUI など、MCP 対応アプリケーションをはじめとする MCP クライアントで利用できます。

ダッシュボードのプレビュー

🌐 ウェブサイト、デモ、ドキュメント

🚀 機能

一度接続すれば、どこでも公開
  • スマートルーティング ⭐ - ベクトル意味検索を使用した AI によるツール検出(詳細はこちら)
  • 統合 MCP ゲートウェイ - グループおよび個別サーバー向けのルートを含め、接続されたすべてのサーバーを安定した MCP エンドポイント経由で公開
  • サーバーエイリアスとルーティング - エイリアスを定義し、すべてのサーバー、特定のグループ、個別のサーバー、またはスマートルーティングにクライアントをルーティング
  • SSE / Streamable HTTP / stdio サポート - 対応するトランスポートを介してローカルおよびリモートの MCP サーバーに接続
  • ホットスワップ可能な設定 - ダウンタイムなしでサーバーの追加、削除、更新が可能
アクセスと認証情報を制御
  • ユーザーごとの認証情報 ⭐ - 暗号化ストレージと分離された stdio ランタイムにより、個人用キーを1つの共有サーバーに紐付け(詳細はこちら)
  • 認証とアクセス制御 - OAuth 2.0、ベアラーキー、サーバーまたはグループの可視性制御を使用してアクセスを管理
  • OAuth 2.0 サポート ⭐ - 安全な認証のためのクライアントモードとサーバーモード(詳細はこちら)
  • ソーシャルログイン - Better Auth との統合により、GitHub と Google によるスムーズなログインをサポート(データベースモードが必要)
  • サーバーとグループの管理 - サーバーをグループに整理し、可視性を管理して、ツール、プロンプト、リソースの公開を制御
安心して運用
  • ログとオブザーバビリティ - ツール呼び出しのアクティビティ、リクエストの状態、レイテンシ、サーバーログを確認
  • ヘルスチェック - 1か所から接続の健全性とサーバーの状態を監視
  • ウェブダッシュボード - ブラウザーからサーバー設定とランタイム操作を管理
  • MCP Apps プロキシ - 単一サーバーのルートでインタラクティブな MCP Apps を透過的に転送(詳細はこちら)
  • ツール結果の圧縮 - 大きなテキスト形式のツール出力を、クライアントに届く前に透過的に削減
  • データベースモード - 本番環境向けに PostgreSQL へ設定を保存(詳細はこちら)
  • Docker 対応 - コンテナー化された構成ですぐにデプロイ

🔧 クイックスタート

前提条件
  • Docker(推奨)— MCPHub を実行する最も簡単な方法です。以下のコマンドはすべて Docker を使用します
  • Node.js >=20.0.0 と pnpm 10.12.4 — ソースから実行する場合、またはローカルで開発する場合にのみ必要です(ローカル開発を参照)
Docker で起動
docker run -p 3000:3000 -v ./data:/app/data samanhappy/mcphub

http://localhost:3000 を開き、ユーザー名 admin でログインします。初回起動時に ADMIN_PASSWORD 環境変数が設定されていない場合、ランダムなパスワードが生成され、サーバーのログに出力されます。

設定、ユーザー、認証情報のバインドは、デフォルトで ./data に保存されます。

独自のサーバーを使いたい場合は、初回起動前に data/mcp_settings.json を作成してください(設定を参照)。起動後は、ダッシュボードでサーバーを追加するか、既存のファイルを編集して MCPHub を再起動してください。

設定

初回起動前に data/mcp_settings.json を作成してください。

{
  "mcpServers": {
    "time": {
      "command": "npx",
      "args": ["-y", "time-mcp"]
    },
    "fetch": {
      "command": "uvx",
      "args": ["mcp-server-fetch"]
    }
  }
}

📖 OAuth、環境変数などを含むすべてのオプションについては、設定ガイドを参照してください。

Docker でのデプロイ

コピーしてそのまま使えるコマンドについては、Docker で起動を参照してください。設定、ユーザー、認証情報のバインドをコンテナの再作成後も保持するため、./data をマウントしてください。

samanhappy/mcphub から 2 種類のイメージが公開されています。

  • latest — デフォルトのイメージです。Node.js/pnpm、Python、uv/uvx、Git、ビルドツールが含まれています。ほとんどの MCP サーバーに対応します。
  • latest-full — 拡張イメージです。Rust ツールチェーン(Cargo/rustc)、Docker Engine、Playwright ブラウザー(Chrome + Firefox、amd64 のみ)が追加されています。Rust ベースのサーバーや、コンテナ内でコンテナを実行するワークフローに使用してください。ダウンロードサイズは大きくなります。

ビルドオプションと Docker-in-Docker の設定については、Docker のセットアップを参照してください。

個人の認証情報を使うデプロイのアップグレード

データベースモードでは、永続的な MCPHUB_CREDENTIAL_ENCRYPTION_KEY または既存のキーファイルが必要です。ローカルキーは自動生成されなくなりました。稼働中のコンテナを置き換える前に、元のキーをバックアップし、デプロイのシークレットに同じ値を保持してください。キーを失うと、データベースのバックアップだけでは暗号化された認証情報を復元できません。稼働中のデプロイと、アップグレード失敗後の復旧については、認証情報キーのアップグレードと復旧ガイドを参照してください。

ダッシュボードへのアクセス

http://localhost:3000 を開いてください(ログイン情報についてはDocker で起動を参照)。パスワードを事前に設定することもできます。

# Docker: set admin password via environment variable
docker run -p 3000:3000 -v ./data:/app/data -e ADMIN_PASSWORD=your-secure-password samanhappy/mcphub

ヒント: セキュリティのため、初回ログイン後に管理者パスワードを変更してください。

ヘッドレスモード: DISABLE_WEB=true を設定すると、同梱のダッシュボード UI の配信をスキップし、バックエンド/API と MCP エンドポイントのみで MCPHub を実行できます。mcp_settings.json からサーバーを直接管理したい場合に便利です。

AI クライアントの接続

以下を介して AI クライアント(Claude Desktop、Cursor など)を接続します。

http://localhost:3000/mcp           # All servers
http://localhost:3000/mcp/{group}   # Specific group
http://localhost:3000/mcp/{server}  # Specific server
http://localhost:3000/mcp/$smart    # Smart routing
http://localhost:3000/mcp/$smart/{group}  # Smart routing within group

SMART_ROUTING_PATH=my_smart を設定すると、$ を付けずに /mcp/my_smart(および /mcp/my_smart/{group})を使用できます。反映するには再起動してください。/mcp/$smart も引き続きサポートされています。設定されている場合は、/mcp の前に BASE_PATH を含めてください。カスタムセグメントは、既存のサーバー名、グループ名、グループ ID と一致してはいけません。

セキュリティに関する注意: 誤って公開されるのを防ぐため、MCP エンドポイントではデフォルトで認証が必要です。認証なしで MCP にアクセスできるようにするには、Keys セクションの Enable Bearer Authentication を無効にしてください。Skip Authentication が適用されるのは、ダッシュボードへのログインのみです。信頼できる環境でのみ使用してください。

📖 エンドポイントの詳細なドキュメントについては、API リファレンスを参照してください。

📚 ドキュメント

トピック説明
クイックスタート5 分で始められます
設定MCP サーバーの設定オプション
データベースモード本番環境向け PostgreSQL のセットアップ
OAuthOAuth 2.0 クライアントおよびサーバーのセットアップ
スマートルーティングAI を活用したツールの検出
MCP アプリインタラクティブアプリの透過プロキシ
CLI ガイドターミナルからハブを管理して呼び出す方法
Docker のセットアップDocker のデプロイガイド

🧑‍💻 ローカル開発

git clone https://github.com/samanhappy/mcphub.git
cd mcphub
pnpm install
pnpm dev

ローカル開発では admin / admin123 を使用し、書き込み可能な設定のコピーを data/mcp_settings.dev.json に保存するため、リポジトリの mcp_settings.json に認証情報が含まれることはありません。

Windows ユーザーは、バックエンドとフロントエンドを別々に起動してください:pnpm backend:dev、pnpm frontend:dev

📖 詳細なセットアップ手順については、開発ガイドをご覧ください。

🔍 技術スタック

  • バックエンド:Node.js、Express、TypeScript(ESM)
  • フロントエンド:React、Vite、Tailwind CSS
  • ストレージ:デフォルトではファイルベースの mcp_settings.json を使用します。スマートルーティングでは、pgvector を備えた TypeORM 経由の PostgreSQL を使用します
  • 認証:ローカルアカウントには JWT と bcrypt、ベアラーキー、組み込みの OAuth 2.0 サーバー(@node-oauth/oauth2-server)、GitHub/Google ログイン用のオプションの Better Auth
  • プロトコル:Model Context Protocol SDK

🏢 本番環境のサポート

本番環境で MCPHub を運用していますか?

本番環境のアーキテクチャ、OAuth/OIDC、アイデンティティとアクセス制御、認証情報の管理、監査、Kubernetes、高可用性(HA)への対応について、メンテナーと直接相談できます。

本番環境での試験運用について相談する →

👥 コントリビューション

コントリビューションを歓迎します!ディスカッションやサポートについては、Discord コミュニティをご覧ください。

❤️ スポンサー

samanhappy を支援

ko-fi

中国のユーザーは WeChat Pay でも支援できます。中文版をご覧ください。

謝辞

  • AtomGit:中国で MCPHub をホスティングし、中国本土のユーザーがプロジェクトにアクセスしやすくしています。

🌟 スターの履歴

スター履歴グラフ

📄 ライセンス

Apache 2.0 Licenseのもとでライセンスされています。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。