mcp-gateway
MCP Gatewayは、Kubernetes環境におけるModel Context Protocol(MCP)サーバーのためのリバースプロキシおよび管理レイヤーです。このプロジェクトは、セッションアフィニティを持つトラフィックのルーティング、MCPサーバーのライフサイクル管理、エンタープライズ向けの統合ポイントを提供します。特に、テレメトリーやアクセス制御、可観測性を備えた機能が特徴です。
GitHubスター
180
ユーザー評価
未評価
お気に入り
0
閲覧数
36
フォーク
19
イシュー
3
インストール方法
難易度
中級推定所要時間
10-20 分
必要な環境
.NET SDK 6.0以上
Kubernetes 1.18以上
インストール方法
インストール方法
前提条件
必要なソフトウェアとバージョンを明記してください。.NET SDK: 6.0以上
Kubernetes: 1.18以上
インストール手順
1. リポジトリのクローン
bash
git clone https://github.com/microsoft/mcp-gateway.git
cd mcp-gateway
2. 依存関係の復元
bash
dotnet restore
3. アプリケーションのビルド
bash
dotnet build
4. アプリケーションの起動
bash
dotnet run
トラブルシューティング
よくある問題
問題: アプリケーションが起動しない 解決策: .NET SDKのバージョンを確認し、依存関係を再インストールしてください。 問題: Kubernetesクラスターに接続できない 解決策: Kubernetesの設定ファイルを確認し、正しいコンテキストが設定されていることを確認してください。設定方法
設定方法
基本設定
MCP Gateway設定
appsettings.json
を編集してMCPサーバーの設定を追加:
json
{
"MCPServers": [
{
"Name": "example-server",
"Url": "http://localhost:5000"
}
]
}
環境変数
必要に応じて以下の環境変数を設定:bash
export MCP_SERVER_URL="http://localhost:5000"
export LOG_LEVEL="info"
詳細設定
セキュリティ設定
APIキーは環境変数または安全な設定ファイルに保存
ファイルアクセス権限の適切な設定
パフォーマンス調整
タイムアウト値の設定
同時実行数の制限
設定例
基本的な設定
json
{
"MCPServers": [
{
"Name": "my-mcp",
"Url": "http://my-mcp-server:5000"
}
]
}
高度な設定
json
{
"MCPServers": [
{
"Name": "advanced-mcp",
"Url": "http://advanced-mcp-server:5000",
"Timeout": 30,
"Retries": 3
}
]
}
使用例
使用例
基本的な使用方法
MCP Gatewayの基本的な使用方法を以下に示します:MCPサーバーのデプロイ
bash
curl -X POST http://localhost:5000/adapters -H "Content-Type: application/json" -d '{"name":"example-server","url":"http://localhost:5000"}'
MCPサーバーの状態確認
bash
curl -X GET http://localhost:5000/adapters/example-server/status
MCPサーバーのログ取得
bash
curl -X GET http://localhost:5000/adapters/example-server/logs
プログラムでの使用
csharp
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
using var client = new HttpClient();
var response = await client.GetStringAsync("http://localhost:5000/adapters/example-server");
Console.WriteLine(response);
}
}
使用ケース
Kubernetes環境でのMCPサーバーのデプロイと管理
セッションに基づいたデータストリーミングの実装
MCPサーバーの状態監視とログ取得
複数のMCPサーバー間でのトラフィックの分散
エンタープライズアプリケーションにおけるアクセス制御の実装