Wick
Телеметрия исключений C# с поддержкой Roslyn для движка Godot, предоставляемая через MCP.
Что такое Wick?
Когда игра на Godot C# аварийно завершается, ваш ИИ-ассистент видит «сырой» трассировщик стека и тратит более 8 итераций, прося вас открыть файлы. Wick перехватывает это исключение, обогащает его контекстом исходного кода на базе Roslyn (фактическое тело метода, цепочка вызовов, последние логи, состояние сцены) и передает полную картину ИИ за один вызов. Один запрос для диагностики вместо десяти.
Чем Wick отличается от других?
Другие MCP-серверы для Godot (например, отличный GoPeak) фокусируются на манипуляции сценами и инструментах GDScript. Wick фокусируется на опыте разработчика C#/.NET:
Телеметрия исключений с поддержкой Roslyn — исключения C#, перехваченные из stderr, обогащаются телом вызывающего метода, окружающими строками исходного кода, включающим типом и цепочкой вызовов. Ни один другой MCP-сервер для Godot этого не делает.
Внутрипроцессный перехват исключений — дополнительный NuGet-пакет Wick.Runtime перехватывает
TaskScheduler.UnobservedTaskExceptionи асинхронные исключения, которые не видны в stderr.Диагностика сборки с контекстом исходного кода — ошибки
dotnet build, обогащенные контекстом исходного кода Roslyn через тот же конвейер, что и исключения времени выполнения.Инструменты анализа C# — поиск символов, поиск ссылок, сигнатуры членов через рабочую область Roslyn.
Система групп инструментов из 5 компонентов — активируйте только то, что вам нужно: core, runtime, csharp, build, scene.
Related MCP server: GodotIQ
Начало работы
Предварительные требования
.NET 10 SDK (10.0.201 или новее)
Godot 4.6.1+ с поддержкой .NET/Mono
Установка
Wick состоит из двух частей: мост-аддон на стороне Godot (/addons/wick/) и MCP-сервер на .NET.
Мост 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 в конфигурацию 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 или флаг CLI --groups:
Компонент | Что включает | По умолчанию |
core | Инструменты GDScript, парсинг сцен, GDScript LSP, интроспекция | Всегда включен |
runtime | Конвейер исключений, запуск/остановка игры, чтение логов, runtime_diagnose | По выбору |
csharp | Анализ Roslyn, поиск символов, поиск ссылок, сигнатуры членов | По выбору |
build | dotnet build/test/clean, управление NuGet, build_diagnose | По выбору |
scene | Создание/изменение сцен через headless-режим Godot | По выбору |
Пример: WICK_GROUPS=core,runtime,csharp,build или --groups=all.
Опционально: компаньон Wick.Runtime
Для внутрипроцессного перехвата исключений (асинхронные исключения, TaskScheduler.UnobservedTaskException) и запросов к дереву сцены в реальном времени добавьте NuGet-компаньон Wick.Runtime в ваш C# проект Godot:
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 — протокол MCP к ИИ-клиенту
TCP 6505 — мост редактора (плагин Godot к серверу Wick)
TCP 7777 — мост времени выполнения (запущенная игра к серверу Wick)
TCP 7878 — мост компаньона Wick.Runtime (внутрипроцессный к серверу Wick)
Эта архитектура позволяет серверу Wick и проектам-провайдерам использовать .NET 10, в то время как опциональный внутрипроцессный компаньон Wick.Runtime остается на net8.0 для текущей стабильной среды .NET в Godot 4.6.1.
Авторство
Wick — это реализация «с чистого листа», вдохновленная GoPeak (лицензия MIT, (c) 2025 Solomon Elias / HaD0Yun). См. ATTRIBUTION.md для подробных сведений об авторстве.
Вклад в проект
Мы приветствуем участие! Пожалуйста, прочитайте CONTRIBUTING.md перед отправкой PR.
Демонстрация
Клонируйте репозиторий и откройте 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
