Wick
Wick
Godot Engine向けのRoslyn強化型C#例外テレメトリ(MCP経由で公開)
Wickとは?
Godot C#ゲームがクラッシュした際、AIアシスタントは生のスタックトレースしか見ることができず、ファイルを開くように何度も指示を出すことになります。Wickはその例外をキャプチャし、Roslynを活用したソースコンテキスト(実際のメソッド本体、呼び出し元チェーン、最近のログ、シーンの状態など)で強化した上で、1回の呼び出しでAIに完全な情報を提供します。診断にかかるやり取りを10回から1回に短縮します。
Wickの特徴
他のGodot MCPサーバー(優れたGoPeakなど)は、シーン操作やGDScriptツールに重点を置いています。WickはC#/.NET開発者のエクスペリエンスに焦点を当てています:
Roslyn強化型例外テレメトリ -- stderrでキャプチャされたC#例外を、呼び出し元のメソッド本体、周囲のソース行、囲んでいる型、呼び出し元チェーンで強化します。これを行うGodot MCPサーバーは他にありません。
プロセス内例外キャプチャ -- オプションのWick.Runtime NuGetコンパニオンにより、stderrでは見えない
TaskScheduler.UnobservedTaskExceptionや非同期例外をキャプチャします。ソースコンテキスト付きビルド診断 -- ランタイム例外と同じパイプラインを通じて、Roslynソースコンテキストで強化されたdotnetビルドエラーを提供します。
C#分析ツール -- Roslynワークスペースを介したシンボルの検索、参照の検索、メンバーシグネチャの取得。
5つの柱からなるツールグループシステム -- core、runtime、csharp、build、sceneの中から必要なものだけを有効化できます。
はじめに
前提条件
.NET 10 SDK (10.0.201以降)
Godot 4.6.1+ (.NET/Monoサポート版)
インストール
git clone https://github.com/buildepicshit/Wick.git
cd Wick
dotnet build Wick.slnx --configuration ReleaseMCP設定
AIコーディングアシスタントのMCP設定にWickを追加します:
{
"mcpServers": {
"wick": {
"command": "dotnet",
"args": ["run", "--project", "path/to/Wick/src/Wick.Server"],
"env": {
"WICK_GROUPS": "core,runtime,csharp,build",
"WICK_GODOT_BIN": "/path/to/godot",
"WICK_PROJECT_PATH": "/path/to/your/godot-project"
}
}
}
}ツールグループ
WICK_GROUPS環境変数または--groups CLIフラグを使用してツールグループを有効化します:
柱 | 内容 | デフォルト |
core | GDScriptツール、シーン解析、GDScript LSP、イントロスペクション | 常時オン |
runtime | 例外パイプライン、ゲーム起動/停止、ログテイル、runtime_diagnose | オプトイン |
csharp | Roslyn分析、シンボル検索、参照検索、メンバーシグネチャ | オプトイン |
build | dotnet build/test/clean、NuGet管理、build_diagnose | オプトイン |
scene | ヘッドレスGodotディスパッチによるシーン作成/変更 | オプトイン |
例: WICK_GROUPS=core,runtime,csharp,build または --groups=all。
オプション: Wick.Runtimeコンパニオン
プロセス内の例外キャプチャ(非同期例外、TaskSchedulerの失敗など)を行うには、GodotプロジェクトにWick.Runtime NuGetを追加してください:
// In your Godot project's autoload or entry point:
WickRuntime.Install();これにより、stderrでは見えない例外がキャプチャされ、TCPブリッジ経由でWickサーバーに報告されます。
アーキテクチャ
Wickは外部プロセスとして実行されます。Godot内部では実行されません。通信経路:
stdio -- AIクライアントへのMCPプロトコル
TCP 6505 -- エディタブリッジ(GodotプラグインからWickサーバーへ)
TCP 7777 -- ランタイムブリッジ(実行中のゲームからWickサーバーへ)
TCP 7878 -- Wick.Runtimeコンパニオンブリッジ(プロセス内からWickサーバーへ)
このアーキテクチャにより、Godot 4.6.1のランタイムが.NET 8に固定されていても、Wickは.NET 10をターゲットにすることができます。
クレジット
WickはGoPeak (MIT License, (c) 2025 Solomon Elias / HaD0Yun) に触発されたクリーンルーム実装です。詳細なクレジットについてはATTRIBUTION.mdを参照してください。
貢献
貢献を歓迎します!PRを送信する前にCONTRIBUTING.mdをお読みください。
デモ
リポジトリをクローンし、ブラウザでdocs/demo/player.htmlを開いてデモを見るか、キャストファイルを直接再生してください:
asciinema play docs/demo/wick-demo.castライセンス
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/buildepicshit/Wick'
If you have feedback or need assistance with the MCP directory API, please join our Discord server