Wick
Wick
为 Godot Engine 提供基于 Roslyn 增强的 C# 异常遥测,并通过 MCP 公开。
什么是 Wick?
当 Godot C# 游戏崩溃时,您的 AI 助手通常只能看到原始堆栈跟踪,并花费 8 次以上的对话轮次要求您打开文件。Wick 会捕获该异常,并使用 Roslyn 驱动的源代码上下文(实际方法体、调用链、最近的日志、场景状态)对其进行增强,然后在一次调用中将完整信息交给 AI。只需一轮对话即可完成诊断,而不是十轮。
Wick 有何不同?
其他 Godot MCP 服务器(如优秀的 GoPeak)专注于场景操作和 GDScript 工具。Wick 则专注于 C#/.NET 开发人员体验:
基于 Roslyn 增强的异常遥测 -- 通过 stderr 捕获 C# 异常,并使用调用方法体、周围源代码行、封闭类型和调用链进行增强。没有其他 Godot MCP 服务器具备此功能。
进程内异常捕获 -- 可选的 Wick.Runtime NuGet 组件可捕获 TaskScheduler.UnobservedTaskException 和 stderr 无法看到的异步异常。
带源代码上下文的构建诊断 -- dotnet 构建错误通过与运行时异常相同的管道,利用 Roslyn 源代码上下文进行增强。
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 配置
将 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 故障),请将 Wick.Runtime NuGet 添加到您的 Godot 项目中:
// 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 服务器)
这种架构使得 Wick 可以针对 .NET 10,即使 Godot 4.6.1 的运行时仍停留在 .NET 8。
归属说明
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许可证
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