Skip to main content
Glama

Wick

Telemetría de excepciones en C# enriquecida con Roslyn para Godot Engine, expuesta a través de MCP.

CI License: MIT


¿Qué es Wick?

Cuando un juego de Godot en C# falla, tu asistente de IA ve un seguimiento de pila (stack trace) sin procesar y pasa más de 8 turnos pidiéndote que abras archivos. Wick captura esa excepción, la enriquece con contexto de código fuente potenciado por Roslyn (el cuerpo del método real, la cadena de llamadas, registros recientes, estado de la escena) y entrega la imagen completa a la IA en una sola llamada. Un turno para el diagnóstico en lugar de diez.

¿Qué hace diferente a Wick?

Otros servidores MCP para Godot (como el excelente GoPeak) se centran en la manipulación de escenas y herramientas de GDScript. Wick se centra en la experiencia del desarrollador de C#/.NET:

  • Telemetría de excepciones enriquecida con Roslyn -- excepciones de C# capturadas desde stderr enriquecidas con el cuerpo del método que realiza la llamada, líneas de código fuente circundantes, tipo envolvente y cadena de llamadas. Ningún otro servidor MCP de Godot hace esto.

  • Captura de excepciones en proceso -- el compañero NuGet Wick.Runtime opcional captura TaskScheduler.UnobservedTaskException y excepciones asíncronas que stderr no puede ver.

  • Diagnóstico de compilación con contexto de código fuente -- errores de dotnet build enriquecidos con contexto de código fuente de Roslyn a través de la misma tubería que las excepciones en tiempo de ejecución.

  • Herramientas de análisis de C# -- buscar símbolos, buscar referencias, firmas de miembros a través del espacio de trabajo de Roslyn.

  • Sistema de grupos de herramientas de 5 pilares -- activa solo lo que necesites: core, runtime, csharp, build, scene.

Primeros pasos

Requisitos previos

Instalación

git clone https://github.com/buildepicshit/Wick.git
cd Wick
dotnet build Wick.slnx --configuration Release

Configuración de MCP

Añade Wick a la configuración de MCP de tu asistente de codificación de IA:

{
  "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"
      }
    }
  }
}

Grupos de herramientas

Activa los pilares de herramientas a través de la variable de entorno WICK_GROUPS o el flag de CLI --groups:

Pilar

Qué incluye

Predeterminado

core

Herramientas de GDScript, análisis de escenas, LSP de GDScript, introspección

Siempre activo

runtime

Tubería de excepciones, inicio/parada de juego, seguimiento de registros, runtime_diagnose

Opcional

csharp

Análisis de Roslyn, buscar símbolos, buscar referencias, firmas de miembros

Opcional

build

dotnet build/test/clean, gestión de NuGet, build_diagnose

Opcional

scene

Creación/modificación de escenas mediante despacho de Godot headless

Opcional

Ejemplo: WICK_GROUPS=core,runtime,csharp,build o --groups=all.

Opcional: Compañero Wick.Runtime

Para la captura de excepciones en proceso (excepciones asíncronas, fallos de TaskScheduler), añade el NuGet Wick.Runtime a tu proyecto de Godot:

// In your Godot project's autoload or entry point:
WickRuntime.Install();

Esto captura excepciones que stderr no puede ver y las informa al servidor Wick a través de un puente TCP.

Arquitectura

Wick se ejecuta como un proceso externo; NO se ejecuta dentro de Godot. Comunicación:

  • stdio -- protocolo MCP al cliente de IA

  • TCP 6505 -- puente del editor (plugin de Godot al servidor Wick)

  • TCP 7777 -- puente de tiempo de ejecución (juego en ejecución al servidor Wick)

  • TCP 7878 -- puente del compañero Wick.Runtime (en proceso al servidor Wick)

Esta arquitectura permite que Wick apunte a .NET 10 aunque el tiempo de ejecución de Godot 4.6.1 esté limitado a .NET 8.

Atribución

Wick es una reimplementación desde cero inspirada en GoPeak (Licencia MIT, (c) 2025 Solomon Elias / HaD0Yun). Consulta ATTRIBUTION.md para obtener créditos detallados.

Contribución

¡Agradecemos las contribuciones! Por favor, lee CONTRIBUTING.md antes de enviar un PR.

Demo

Clona el repositorio y abre docs/demo/player.html en un navegador para ver la demo, o reproduce el archivo cast directamente:

asciinema play docs/demo/wick-demo.cast

Licencia

MIT

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