Wick
通过 MCP 公开的、经 Roslyn 增强的 Godot Engine C# 异常遥测。
什么是 Wick?
当 Godot C# 游戏崩溃时,您的 AI 助手通常只能看到原始堆栈跟踪,并会花费 8 次以上的对话轮次要求您打开文件。Wick 会捕获该异常,并使用基于 Roslyn 的源代码上下文(实际方法体、调用链、最近的日志、场景状态)对其进行增强,然后在一次调用中将完整信息交给 AI。只需一轮对话即可完成诊断,而不是十轮。
Wick 有何不同?
其他 Godot MCP 服务器(例如出色的 GoPeak)专注于场景操作和 GDScript 工具。Wick 专注于 C#/.NET 开发人员体验:
经 Roslyn 增强的异常遥测 -- 通过 stderr 捕获的 C# 异常,并辅以调用方法体、周围源代码行、封闭类型和调用链。没有其他 Godot MCP 服务器能做到这一点。
进程内异常捕获 -- 可选的 Wick.Runtime NuGet 组件可捕获 stderr 无法看到的 TaskScheduler.UnobservedTaskException 和异步异常。
带源代码上下文的构建诊断 -- dotnet 构建错误通过与运行时异常相同的管道,利用 Roslyn 源代码上下文进行增强。
C# 分析工具 -- 通过 Roslyn 工作区查找符号、查找引用、成员签名。
5 支柱工具组系统 -- 仅激活您需要的部分:核心 (core)、运行时 (runtime)、C# (csharp)、构建 (build)、场景 (scene)。
Related MCP server: GodotIQ
入门指南
先决条件
.NET 10 SDK (10.0.201 或更高版本)
Godot 4.6.1+(支持 .NET/Mono)
安装
Wick 由两部分组成:Godot 端桥接插件 (/addons/wick/) 和 .NET MCP 服务器。
Godot 桥接 — 通过编辑器内的 Godot 资产库安装(推荐),或手动将 /addons/wick/ 复制到您的项目中。
MCP 服务器 — 克隆并构建:
git clone https://github.com/buildepicshit/Wick.git
cd Wick
dotnet build Wick.slnx --configuration Release -maxcpucount:1MCP 配置
将 Wick 添加到您的 AI 编码助手的 MCP 配置中:
{
"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.UnobservedTaskException)和实时场景树查询,请将 Wick.Runtime NuGet 组件添加到您的 Godot C# 项目中:
dotnet add package Wick.Runtime将 Install() 和 Tick() 都连接到您游戏的入口点 — 两者缺一不可:
using Wick.Runtime;
public partial class Main : Node
{
public override void _Ready() => WickRuntime.Install();
public override void _Process(double delta) => WickRuntime.Tick();
}如果您的进程内桥接工具(
runtime_query_scene_tree等)一直挂起,说明您忘记了Tick()。 仅Install()涵盖了异常捕获,但实时 RPC 处理程序需要Tick()来清空主线程调度程序。有关完整说明,请参阅docs/getting-started.md和 包 README。
架构
Wick 作为外部进程运行 -- 它不会在 Godot 内部运行。通信方式:
stdio -- 到 AI 客户端的 MCP 协议
TCP 6505 -- 编辑器桥接(Godot 插件到 Wick 服务器)
TCP 7777 -- 运行时桥接(运行中的游戏到 Wick 服务器)
TCP 7878 -- Wick.Runtime 组件桥接(进程内到 Wick 服务器)
这种架构允许 Wick 服务器和提供程序项目以 .NET 10 为目标,而可选的进程内 Wick.Runtime 组件则保持在 net8.0,以适配 Godot 4.6.1 当前稳定的 .NET 运行时。
归属说明
Wick 是受 GoPeak(MIT 许可证,(c) 2025 Solomon Elias / HaD0Yun)启发的洁净室重新实现。详细致谢请参阅 ATTRIBUTION.md。
贡献
我们欢迎贡献!在提交 PR 之前,请阅读 CONTRIBUTING.md。
演示
克隆仓库并在浏览器中打开 docs/demo/player.html 观看演示,或直接播放 cast 文件:
asciinema play docs/demo/wick-demo.cast许可证
Maintenance
Appeared in Searches
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
