mcphub

by samanhappy
Apache 2.0
1,516
157
  • Linux

Integrations

  • Provides integration with Node.js runtime for executing JavaScript/TypeScript code and working with Node.js modules

  • Enables interaction with Slack workspaces using a bot token, allowing communication and operations within specified teams

MCPHub: 究極のMCPサーバーハブ

英語 |中国語版

MCPHubは、複数のMCP(モデルコンテキストプロトコル)サーバーを、グループごとに異なるシナリオ向けに個別のStreamable HTTP(SSE)エンドポイントに集約する統合管理プラットフォームです。直感的なインターフェースと堅牢なプロトコル処理により、AIツールの統合を効率化します。

🚀 機能

  • すぐに使用できる MCP サーバー サポート: amap-mapsplaywrightfetchslackなどの一般的なサーバーをシームレスに統合します。
  • 集中ダッシュボード: 1 つの洗練された Web UI からリアルタイムのステータスとパフォーマンス メトリックを監視します。
  • 柔軟なプロトコル処理: stdio および SSE MCP プロトコルの両方と完全に互換性があります。
  • ホットスワップ可能な構成: MCP サーバーをオンザフライで追加、削除、または更新できるため、ダウンタイムは必要ありません。
  • グループベースのアクセス制御: カスタマイズ可能なグループにサーバーを編成し、権限管理を効率化します。
  • 安全な認証: JWT と bcrypt を活用したロールベースのアクセスを備えた組み込みのユーザー管理。
  • Docker 対応: コンテナ化されたセットアップで即座にデプロイできます。

🔧 クイックスタート

オプション構成

サーバー設定をカスタマイズするには、 mcp_settings.jsonファイルを作成します。

{ "mcpServers": { "amap": { "command": "npx", "args": ["-y", "@amap/amap-maps-mcp-server"], "env": { "AMAP_MAPS_API_KEY": "your-api-key" } }, "playwright": { "command": "npx", "args": ["@playwright/mcp@latest", "--headless"] }, "fetch": { "command": "uvx", "args": ["mcp-server-fetch"] }, "slack": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-slack"], "env": { "SLACK_BOT_TOKEN": "your-bot-token", "SLACK_TEAM_ID": "your-team-id" } } }, "users": [ { "username": "admin", "password": "$2b$10$Vt7krIvjNgyN67LXqly0uOcTpN0LI55cYRbcKC71pUDAP0nJ7RPa.", "isAdmin": true } ] }

:デフォルトの認証情報はadmin / admin123です。パスワードはbcryptで安全にハッシュ化されます。以下のコマンドで新しいハッシュを生成します。

npx bcryptjs your-password

Docker デプロイメント

推奨: カスタム設定をマウントします:

docker run -p 3000:3000 -v $(pwd)/mcp_settings.json:/app/mcp_settings.json samanhappy/mcphub

またはデフォルト設定で実行します。

docker run -p 3000:3000 samanhappy/mcphub

ダッシュボードにアクセスする

http://localhost:3000を開き、資格情報を使用してログインします。

: デフォルトの資格情報はadmin / admin123です。

ダッシュボードの概要:

  • すべてのMCPサーバーのライブステータス
  • サーバーの有効化/無効化または再構成
  • サーバーを整理するためのグループ管理
  • アクセス制御のためのユーザー管理

ストリーミング可能なHTTPエンドポイント

現時点では、ストリーミングHTTPエンドポイントのサポートはAIクライアントによって異なります。問題が発生した場合は、SSEエンドポイントをご利用いただくか、今後のアップデートをお待ちください。

次の方法で AI クライアント (Claude Desktop、Cursor、DeepChat など) を接続します。

http://localhost:3000/mcp

このエンドポイントは、すべてのMCPサーバーに統合されたストリーミング可能なHTTPインターフェースを提供します。これにより、以下のことが可能になります。

  • 設定されたMCPサーバーにリクエストを送信する
  • リアルタイムで回答を受け取る
  • さまざまなAIクライアントやツールと簡単に統合できます
  • すべてのサーバーに同じエンドポイントを使用することで、統合プロセスが簡素化されます。

グループ固有のエンドポイント(推奨) :

特定のサーバー グループへのターゲット アクセスの場合は、グループ ベースの HTTP エンドポイントを使用します。

http://localhost:3000/mcp/{group}

{group}ダッシュボードで作成したグループのIDまたは名前です。これにより、以下のことが可能になります。

  • ユースケース別に整理された MCP サーバーの特定のサブセットに接続します
  • 関連するサーバーのみにアクセスするために、さまざまな AI ツールを分離する
  • さまざまな環境やチームに対してよりきめ細かなアクセス制御を実装する

SSE エンドポイント (将来廃止予定)

次の方法で AI クライアント (Claude Desktop、Cursor、DeepChat など) を接続します。

http://localhost:3000/sse

特定のサーバー グループへのターゲット アクセスの場合は、グループ ベースの SSE エンドポイントを使用します。

http://localhost:3000/sse/{group}

🧑‍💻 地域開発

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

これにより、フロントエンドとバックエンドの両方がホットリロードを使用して開発モードで起動されます。

Windows ユーザーの場合、バックエンド サーバーとフロントエンドを別々に起動する必要がある場合があります: pnpm backend:devpnpm frontend:dev

🛠️ よくある問題

Nginxをリバースプロキシとして使用する

Nginx を使用して MCPHub をリバース プロキシする場合は、Nginx セットアップに次の構成を追加してください。

proxy_buffering off

🔍 技術スタック

  • バックエンド: Node.js、Express、TypeScript
  • フロントエンド: React、Vite、Tailwind CSS
  • 認証: JWT & bcrypt
  • プロトコル: モデルコンテキストプロトコルSDK

👥 貢献する

貢献を歓迎します!

  • 新機能と最適化
  • ドキュメントの改善
  • バグ報告と修正
  • 翻訳と提案

📄 ライセンス

Apache 2.0 ライセンスに基づいてライセンスされます。

Related MCP Servers

View all related MCP servers

ID: wdd63gq5d2