VOOZH about

URL: https://glama.ai/mcp/servers/buildepicshit/Wick?locale=zh-CN

⇱ Wick by buildepicshit | Glama


Wick

通过 MCP 公开的、经 Roslyn 增强的 Godot Engine C# 异常遥测。

👁 CI
👁 License: MIT


什么是 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

入门指南

先决条件

安装

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:1

MCP 配置

将 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

许可证

MIT

A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
2dRelease cycle
3Releases (12mo)
Commit activity

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