MCP Servers Collection について
MCP Servers Collectionは、複数のMCPサーバーを個別のDockerコンテナで実行し、Supergateway経由でSSE公開します。GitHub、Linear、Notion、ファイルシステムなどのサービスをまとめて起動・管理したい開発者向けです。
主な機能
- 01Docker Composeで複数サービスを起動
- 02サービスごとにコンテナとポートを分離
- 03SSE経由の接続エンドポイントを公開
- 04マウントボリュームでデータを永続化
- 05サービス単位で再起動とログ確認
活用シーン
- 01複数のMCPサーバーを一括実行
- 02必要に応じてGitHubやLinearに接続
- 03MCPクライアント向けにローカルSSEエンドポイントを提供
MCP 対応
Supergatewayを使い、複数のMCPサーバーを個別ポートからSSE経由でクライアントに公開します。GitHub、Linear、Notion、ファイルシステム、メモリー、ドキュメント、Prismaなどを含みます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP サーバーコレクション
このプロジェクトでは、Supergateway を使用して複数の MCP サーバーを実行し、各サーバーを SSE(Server-Sent Events)経由で公開します。各サーバーは専用ポートの独立したコンテナで実行されます。
クイックスタート
# Copy environment file
cp .env.example .env
# Edit your API tokens
vim .env
# Start all services
docker-compose up -d
アーキテクチャ
- 複数のコンテナがあり、それぞれで Supergateway を介して特定の MCP サーバーを実行します
- 各サーバーは一意のポート(9001-9006)で公開されます
- サーバーには個別に接続することも、すべてまとめて接続することもできます
- 永続データはマウントされたボリュームに保存されます
使用可能なコマンド
基本操作
# Start all services
docker-compose up -d
# Stop all services
docker-compose down
# Restart all services
docker-compose restart
# Check status
docker-compose ps
# View logs from all services
docker-compose logs -f
# View logs from specific service
docker-compose logs -f mcp-filesystem
docker-compose logs -f mcp-github
個別サービスの管理
# Restart specific service
docker-compose restart mcp-filesystem
docker-compose restart mcp-github
# Shell into specific container
docker-compose exec mcp-filesystem sh
docker-compose exec mcp-github sh
# View logs from last 50 lines
docker-compose logs --tail=50
クリーンアップ
# Stop and remove containers
docker-compose down
# Stop and remove containers + volumes
docker-compose down -v
# Pull latest images
docker-compose pull
MCP サーバーとポート
| サービス | ポート | 説明 | 環境変数 |
|---|---|---|---|
| mcp-github | 9001 | GitHub リポジトリへのアクセス | GITHUB_TOKEN、GITHUB_OWNER |
| mcp-linear | 9002 | Linear の課題管理 | LINEAR_API_KEY、GITHUB_TOKEN |
| mcp-notion | 9003 | Notion ワークスペースへのアクセス | NOTION_TOKEN |
| mcp-filesystem | 9004 | ファイルシステム操作 | - |
| mcp-memory | 9005 | 永続メモリ | - |
| mcp-sequential-thinking | 9006 | 段階的な推論 | - |
| mcp-context7 | 9007 | 最新のドキュメント | DEFAULT_MINIMUM_TOKENS |
| mcp-prisma | 9009 | Prisma データベース管理 | - |
設定
環境変数
- サンプルをコピーします:
make setup(またはcp .env.example .env) .envを編集し、実際の API トークンを設定します:GITHUB_OWNER- GitHub のユーザー名GITHUB_TOKEN- GitHub Personal Access TokenNOTION_TOKEN- Notion API トークンLINEAR_API_KEY- Linear API キー
MCP サーバーへの接続
各サーバーは SSE 経由で次の URL から利用できます:
- SSE エンドポイント:
http://localhost:900X/sse - POST メッセージ:
http://localhost:900X/message
Claude Desktop の設定
個別のサーバーに接続します:
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "supergateway", "--sse", "http://localhost:9001/sse"]
},
"linear": {
"command": "npx",
"args": ["-y", "supergateway", "--sse", "http://localhost:9002/sse"]
},
"notion": {
"command": "npx",
"args": ["-y", "supergateway", "--sse", "http://localhost:9003/sse"]
},
"filesystem": {
"command": "npx",
"args": ["-y", "supergateway", "--sse", "http://localhost:9004/sse"]
},
"memory": {
"command": "npx",
"args": ["-y", "supergateway", "--sse", "http://localhost:9005/sse"]
},
"sequential-thinking": {
"command": "npx",
"args": ["-y", "supergateway", "--sse", "http://localhost:9006/sse"]
},
"context7": {
"command": "npx",
"args": ["-y", "supergateway", "--sse", "http://localhost:9007/sse"]
},
"prisma": {
"command": "npx",
"args": ["-y", "supergateway", "--sse", "http://localhost:9009/sse"]
}
}
}
Zed Editor の設定
{
"context_servers": {
"github": {
"command": {
"path": "npx",
"args": ["-y", "supergateway", "--sse", "http://localhost:9001/sse"]
}
},
"filesystem": {
"command": {
"path": "npx",
"args": ["-y", "supergateway", "--sse", "http://localhost:9004/sse"]
}
}
}
}
サービスの詳細
GitHub MCP サーバー(ポート 9001)
- リポジトリ操作(クローン、作成、更新)
- 課題と PR の管理
- リポジトリ内のファイル操作
- 必要なもの:
GITHUB_TOKEN、GITHUB_OWNER
Linear MCP サーバー(ポート 9002)
- 課題の作成と管理
- プロジェクトおよびチームの操作
- GitHub リポジトリとの連携
- 必要なもの:
LINEAR_API_KEY、GITHUB_TOKEN
Notion MCP サーバー(ポート 9003)
- データベースのクエリと更新
- ページの作成と変更
- ブロックレベルの操作
- 必要なもの:
NOTION_TOKEN
Filesystem MCP サーバー(ポート 9004)
- ファイルとディレクトリの操作
/workspaceにマウント(/home/vagrant/projectsに対応)- 読み取り、書き込み、作成、削除の操作
Memory MCP サーバー(ポート 9005)
- セッションをまたいで保持されるメモリ
- データは
/home/vagrant/.shared-memoryに保存されます - コンテキスト保持のためのキーと値のストレージ
Sequential Thinking MCP サーバー(ポート 9006)
- 段階的な推論と計画
- 複数ステップでの問題解決
- 外部依存関係なし
Context7 MCP サーバー(ポート 9007)
- 最新のバージョン固有のドキュメントを取得します
- ソースからコード例を直接取得します
- 古いトレーニングデータや幻覚による API の回避に役立ちます
- 使用方法:プロンプトに「use context7」を追加します
- 環境変数:
DEFAULT_MINIMUM_TOKENS(デフォルト:10000)
Prisma MCP サーバー(ポート 9009)
- Prisma のデータベース管理とスキーマ操作
- Postgres のデータベースインスタンス管理
- スキーマのマイグレーションとデータベース操作
- Prisma Platform の早期アクセス機能
- API キーは不要です(Prisma CLI 認証を使用)
トラブルシューティング
コンテナのステータスを確認:
docker-compose ps
すべてのサービスのログを表示:
docker-compose logs -f
特定のサービスのログを表示:
docker-compose logs -f mcp-github # GitHub server logs
docker-compose logs -f mcp-filesystem # Filesystem server logs
# etc.
個別のサーバーへの接続をテスト:
curl http://localhost:9001/sse # Should return SSE stream
curl http://localhost:9004/sse # Filesystem server
完全に再起動:
docker-compose down
docker-compose up -d
特定のコンテナでシェルを起動:
docker-compose exec mcp-github sh
docker-compose exec mcp-filesystem sh
開発
新しい MCP サーバーを追加する:
docker-compose.ymlにサービスを追加します- 次に利用可能なポート(9007 以降)を選択します
- 必要に応じて
.env.exampleに環境変数を追加します - この README を更新し、サーバーの詳細を記載します
すべてのサービスを監視する:
docker-compose up -d && docker-compose logs -f
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。