Wick
Wick is a Roslyn-enriched C# exception telemetry MCP server for Godot Engine, providing AI assistants with deep project introspection, GDScript tooling, and runtime diagnostics.
Exception & Build Diagnostics
Captures and enriches C# exceptions (including async/unobserved tasks) with Roslyn source context: method body, caller chain, logs, and scene state
Provides build diagnostics with source context via
dotnet build/test/clean
C# Roslyn Analysis (opt-in)
Find symbol definitions, references, and member signatures in C# code
GDScript Tools
script_create— Generate GDScript templates with lifecycle hooks and signalsscript_info— Parse GDScript files for class name, functions, signals, variables, exports, constants, enumsscript_list— List all.gdand.csscripts with language detectiongd_lsp_hover/gd_lsp_definition/gd_lsp_symbols— LSP features: hover info, definition lookup, document symbols
Scene & Project Management
scene_nodes— Parse.tscnfiles for node tree, properties, and external resourcesscene_list— List all scene files in a projectproject_list— Discover Godot projects (name, path, C# support, scene/script counts)project_info— Read detailed info fromproject.godot
Runtime Tools (opt-in, via Wick.Runtime companion)
Launch/stop games, capture in-process exceptions, tail logs, live scene-tree queries
Server & Tooling Utilities
tool_catalog/tool_groups— Discover available tools, group assignments, and activation statusdetect_language— Identify whether a file is GDScript, C#, or a Godot resourcegodot_status/gd_script_status— Check provider status and capabilitiesTool pillars (
core,runtime,csharp,build,scene) activated via environment variables
Supports playing demonstration recordings of Wick's capabilities through asciinema cast files, allowing users to view interactive terminal demonstrations of the tool's features.
Provides Roslyn-enriched C# exception telemetry and diagnostic tools for Godot Engine, including runtime exception capture with source context, build diagnostics, C# analysis tools, and scene manipulation capabilities.
Enables C#/.NET development tooling for Godot projects, including Roslyn-powered source analysis, build diagnostics, NuGet package management, and .NET runtime exception handling with enriched stack traces.
Provides NuGet package management capabilities for Godot C# projects, including the optional Wick.Runtime companion package for in-process exception capture and async error handling.
Wick
Roslyn-enriched C# exception telemetry for Godot Engine, exposed over MCP.
What is Wick?
When a Godot C# game crashes, your AI assistant sees a raw stack trace and spends 8+ turns asking you to open files. Wick captures that exception, enriches it with Roslyn-powered source context (the actual method body, caller chain, recent logs, scene state), and hands the full picture to the AI in one call. One turn to diagnosis instead of ten.
What makes Wick different?
Other Godot MCP servers (like the excellent GoPeak) focus on scene manipulation and GDScript tooling. Wick focuses on the C#/.NET developer experience:
Roslyn-enriched exception telemetry -- stderr-captured C# exceptions enriched with the calling method body, surrounding source lines, enclosing type, and caller chain. No other Godot MCP server does this.
In-process exception capture -- optional Wick.Runtime NuGet companion catches TaskScheduler.UnobservedTaskException and async exceptions that stderr can't see.
Build diagnostics with source context -- dotnet build errors enriched with Roslyn source context through the same pipeline as runtime exceptions.
C# analysis tools -- find symbol, find references, member signatures via Roslyn workspace.
5-pillar tool group system -- activate only what you need: core, runtime, csharp, build, scene.
Getting Started
Prerequisites
.NET 10 SDK (10.0.201 or later)
Godot 4.6.1+ with .NET/Mono support
Installation
Wick has two parts: a Godot-side bridge addon (/addons/wick/) and the .NET MCP server.
Godot bridge — install via the Godot Asset Library in-editor (recommended), or copy /addons/wick/ into your project manually.
MCP server — clone and build:
git clone https://github.com/buildepicshit/Wick.git
cd Wick
dotnet build Wick.slnx --configuration Release -maxcpucount:1MCP Configuration
Add Wick to your AI coding assistant's MCP configuration:
{
"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"
}
}
}
}Tool Groups
Activate tool pillars via WICK_GROUPS env var or --groups CLI flag:
Pillar | What it includes | Default |
core | GDScript tools, scene parsing, GDScript LSP, introspection | Always on |
runtime | Exception pipeline, game launch/stop, log tail, runtime_diagnose | Opt-in |
csharp | Roslyn analysis, find symbol, find references, member signatures | Opt-in |
build | dotnet build/test/clean, NuGet management, build_diagnose | Opt-in |
scene | Scene create/modify via headless Godot dispatch | Opt-in |
Example: WICK_GROUPS=core,runtime,csharp,build or --groups=all.
Optional: Wick.Runtime Companion
For in-process exception capture (async exceptions, TaskScheduler.UnobservedTaskException) and live scene-tree queries, add the Wick.Runtime NuGet companion to your Godot C# project:
dotnet add package Wick.RuntimeWire both Install() and Tick() into your game's entry point — both are required:
using Wick.Runtime;
public partial class Main : Node
{
public override void _Ready() => WickRuntime.Install();
public override void _Process(double delta) => WickRuntime.Tick();
}If your in-process bridge tools (
runtime_query_scene_tree, etc.) hang forever, you forgotTick().Install()alone covers exception capture, but live RPC handlers needTick()to drain the main-thread dispatcher. Seedocs/getting-started.mdand the package README for the full story.
Architecture
Wick runs as an external process -- it does NOT run inside Godot. Communication:
stdio -- MCP protocol to 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 lets the Wick server and provider projects target .NET 10
while the optional in-process Wick.Runtime companion stays on net8.0 for
Godot 4.6.1's current stable .NET runtime.
Attribution
Wick is a clean-room reimplementation inspired by GoPeak (MIT License, (c) 2025 Solomon Elias / HaD0Yun). See ATTRIBUTION.md for detailed credits.
Contributing
We welcome contributions! Please read CONTRIBUTING.md before submitting a PR.
Demo
Clone the repo and open docs/demo/player.html in a browser to watch the demo, or play the cast file directly:
asciinema play docs/demo/wick-demo.castLicense
Maintenance
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