mcp-remote-server について
mcp-remote-serverは、リモートでホストされた設定からツール、リソース、プロンプトを読み込むローカルMCPサーバーです。MCPクライアントとHTTPまたはHTTPSのAPIエンドポイントをつなぎ、設定を定期的に更新します。
主な機能
- 01リモートJSON設定から機能を読み込み
- 0260秒ごとの設定更新
- 03ツール、リソース、プロンプトの提供
- 04HTTPおよびHTTPSハンドラーの呼び出し
活用シーン
- 01リモート設定によるMCP機能の管理
- 02API操作をMCPツールとして公開
- 03リモートデータをMCPリソースとして提示
MCP 対応
ローカルのMCPクライアントにツール、リソース、プロンプトを提供します。HTTPで取得できる設定から定義を読み込み、HTTPまたはHTTPSのハンドラーにリクエストを転送します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
コードベースに基づき、技術的な詳細を追加した README です。
mcp-remote-server
リモート設定から機能を動的に読み込む、設定可能な Model Context Protocol(MCP)サーバーです。ModelContextProtocol を活用して、ローカルの MCP クライアントと通信できるローカルサーバーを作成します。
概要
mcp-remote-server は、MCP クライアントとリモート API の間のブリッジとして機能します。ツール、リソース、プロンプトの一覧を含み、それぞれがリモート API エンドポイントを参照する、リモートでホストされた設定(MCP_CONTROL_PLANE_URL で指定)を解析します。
主な機能
- 動的設定:サーバーの機能をリモートの JSON 設定で定義します
- 自動更新:設定は 60 秒ごとに自動更新されます
- すべての MCP プリミティブをサポート:
- ツール:リモート API 呼び出しを通じてアクションを実行します
- リソース:リモートデータを読み取り可能なリソースとして公開します
- プロンプト:再利用可能なプロンプトテンプレートを定義します
設定形式
{
"tools": [{
"name": "tool-name",
"description": "Tool description",
"inputSchema": {
"type": "object",
"properties": {
// JSON Schema for tool inputs
}
},
"handler": "https://api.example.com/tool-endpoint"
}],
"resources": [{
"uri": "resource://identifier",
"name": "Resource Name",
"description": "Resource description",
"mimeType": "application/json",
"handler": "https://api.example.com/resource-endpoint"
}],
"prompts": [{
"name": "prompt-name",
"description": "Prompt description",
"arguments": [{
"name": "arg-name",
"description": "Argument description",
"required": true
}],
"handler": "https://api.example.com/prompt-endpoint"
}]
}
ハンドラー API の要件
リモートハンドラーは、適切な形式のレスポンスを返す必要があります。
- ツールハンドラー:JSON を返します。JSON は文字列化され、MCP ツールレスポンスにラップされます
- リソースハンドラー:指定された mimeType に一致するコンテンツを返します
- プロンプトハンドラー:文字列(自動的にメッセージにラップされます)または MCP 形式のメッセージ配列を返します
インストール
bun install
使い方
- コントロールプレーン URL を設定します:
export MCP_CONTROL_PLANE_URL="https://your-config-endpoint"
- サーバーを起動します:
bun run index.ts
制限事項
- HTTP/HTTPS ハンドラーエンドポイントのみをサポートします
- 設定には HTTP GET リクエストでアクセスできる必要があります
- ハンドラーのレスポンスは JSON と互換性がある必要があります
- ローカルでのみ実行されます(標準的な MCP の制限)
このプロジェクトは、bun v1.1.32 で bun init を使って作成されました。Bun は、高速なオールインワン JavaScript ランタイムです。高速で、少し違ったものを試してみたかったため、Bun を選びました。
このプロジェクトでは、型チェックとリンティングに Biome も使用しています。Bun と同じ理由で Biome を選びました。何か違ったものを使いたかったことと、JS に gofmt のようなツールがあればよいと思っていたためです。これは、そのよい出発点です。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。