GameCode MCP2 について
GameCode MCP2は、ツール統合と監査を目的とした、アーカイブ済みのRust製MCP実装です。サーバーはYAMLからツール定義を読み込み、クライアントライブラリはテストと統合に使えます。
主な機能
- 01MCPツールの直接公開
- 02stdio経由のJSON-RPC 2.0
- 03YAMLによる動的なツール設定
- 04組み込みハンドラーと外部コマンド
- 05サーバーとクライアントの個別crate
活用シーン
- 01設定したコマンドをMCPツールとして公開
- 02再コンパイルせずにツール定義を変更
- 03クライアントライブラリでMCP統合をテスト
MCP 対応
サーバーは`tools.yaml`からツールを読み込み、stdio経由でMCPに公開します。ワークスペースにはMCPクライアントライブラリも含まれますが、リポジトリはアーカイブ済みで保守されていません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
このリポジトリは https://git.navicore.tech/navicore/gamecode-mcp2 に移転しました。
GitHub 上のコピーはアーカイブされており、メンテナンスされていません。
GameCode MCP2
ツール連携のための、シンプルで(おそらく素朴な)Model Context Protocol(MCP)の実装です。
動機は、依存関係をできるだけ少なくし、設定をできるだけシンプルで監査しやすくすることです。
⚠️ セキュリティに関する注意
MCP はまだ初期段階の技術です。LLM にシステムコマンドの実行を許可することには、本質的なリスクがあります。 この実装では、機能よりも監査可能性を優先しています。LLM リクエストを処理するコードは、すべて確認できます。それでも、慎重にご利用ください。 MCP のアプローチが妥当かどうかは、時間が経たなければ分かりません。
主な機能
- ツールの直接公開 -
tools.yamlで定義されたツールは、メタツールを介さず、MCP 経由で直接公開されます - シンプルなプロトコル実装 - 外部依存なしで、stdio 上の純粋な JSON-RPC 2.0 を使用します
- 動的なツール読み込み - 再コンパイルせずに、YAML でツールを設定できます
- 組み込みツールと外部ツール - 内部ハンドラーと外部コマンドの両方をサポートします
アーキテクチャ
このワークスペースには、2 つのクレートが含まれています。
mcp-server-tools.yamlからツールを読み込み、プロトコル経由で公開する MCP サーバーmcp-client- テストと統合用のクライアントライブラリ
使用方法
サーバーの実行
# Build the server
cargo build --release --bin gamecode-mcp2
# Create a tools.yaml file (see examples/tools.yaml)
cp examples/tools.yaml .
# Run the server (it communicates via stdio)
./target/release/gamecode-mcp2
Claude Desktop での使用
Claude Desktop の設定に追加します。
{
"mcpServers": {
"gamecode": {
"command": "/path/to/gamecode-mcp2"
}
}
}
gamecode-cli での使用
MCP 連携のために、mcp-client クレートを gamecode-cli の依存関係として使用できます。
ツールの設定
ツールは tools.yaml で定義します。
tools:
- name: my_tool
description: Description for the LLM
command: /path/to/command # or "internal" for built-in
args:
- name: param1
description: Parameter description
required: true
type: string
cli_flag: --param # null for positional
internal_handler: handler_name # for internal tools
プロトコル
この実装は MCP 仕様に準拠しています。
initialize- クライアントとのハンドシェイクtools/list- 利用可能なすべてのツールを返しますtools/call- 指定したツールを実行します
ツールは「run」のようなメタツールを介さず、直接公開されます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。