Purpose
Wick is a C# exception telemetry tool for the Godot Engine that exposes debugging information to AI programming assistants via MCP (Model Context Protocol). Its goal is to solve the problem that when a Godot C# game crashes, the AI can only see the raw stack trace and must repeatedly ask the developer to open files. After capturing an exception, Wick uses Roslyn to supplement source code context, handing the complete picture to the AI in one go, achieving one round of diagnosis instead of ten.
Main Capabilities
- Roslyn-enhanced exception telemetry: Captures C# exceptions from stderr and supplements the calling method body, surrounding source lines, containing type, and call chain.
- In-process exception capture (optional): Captures TaskScheduler.UnobservedTaskException and asynchronous exceptions that stderr cannot see, via the Wick.Runtime NuGet companion component.
- Build diagnostics with source context: dotnet build errors go through the same pipeline as runtime exceptions and are enhanced with Roslyn source context.
- C# analysis tools: Provides features such as find symbol, find references, and member signatures via the Roslyn workspace.
- Five-pillar tool group system: Activated on demand, grouped into core, runtime, csharp, build, scene.
Usage
Prerequisites: .NET 10 SDK (10.0.201 or higher), Godot 4.6.1+ with .NET/Mono support.
Wick consists of two parts:
- Godot-side bridge plugin (/addons/wick/) — recommended to install via the Godot Asset Library in the editor, or manually copy /addons/wick/ into the project.
- .NET MCP server — clone and build.
Add Wick to the MCP configuration of your AI programming assistant. Activate tool pillars via the WICK_GROUPS environment variable or the --groups CLI argument, for example WICK_GROUPS=core,runtime,csharp,build or --groups=all.
The optional Wick.Runtime companion component is used for in-process exception capture and real-time scene tree queries, and requires both Install() and Tick() to be hooked into the game entry point. Documentation note: if an in-process bridge tool (such as runtime_query_scene_tree) hangs indefinitely, it is because Tick() was forgotten; Install() alone can cover exception capture, but the real-time RPC handler needs Tick() to drain the main-thread dispatcher.
Architecture and Communication
Wick runs as an external process, not inside Godot. Communication methods:
- stdio: MCP protocol with the AI client
- TCP 6505: editor bridge (Godot plugin to Wick server)
- TCP 7777: runtime bridge (running game to Wick server)
- TCP 7878: Wick.Runtime companion bridge (in-process to Wick server)
This architecture allows the Wick server and provider projects to target .NET 10, while the optional in-process Wick.Runtime companion component remains on net8.0 to match the .NET runtime currently stable in Godot 4.6.1.
Applicable Scenarios
- Teams or individuals developing games with the Godot Engine and C#/.NET.
- Those who want AI programming assistants to diagnose C# runtime exceptions and build errors more efficiently.
- Godot projects that need C# symbol navigation and reference analysis capabilities.
Limitations and Notes
- Wick is a clean-room reimplementation inspired by GoPeak (MIT License); see ATTRIBUTION.md for detailed acknowledgments.
- Unlike other Godot MCP servers that lean toward scene manipulation and GDScript tools, Wick focuses on the C#/.NET developer experience.
- The code of conduct and security policy must be followed; please read CONTRIBUTING.md before submitting a PR.
- Except as explicitly stated above, no other pricing, cost, platform, or effectiveness information is currently provided.