Skip to main content
Glama

Wick

Godot Engine向けのRoslyn強化型C#例外テレメトリ(MCP経由で公開)

CI License: MIT


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の中から必要なものだけを有効化できます。

はじめに

前提条件

インストール

git clone https://github.com/buildepicshit/Wick.git
cd Wick
dotnet build Wick.slnx --configuration Release

MCP設定

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

ライセンス

MIT

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