Skip to main content
Glama

Wick

MCP를 통해 노출되는 Godot 엔진용 Roslyn 강화 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 및 비동기 예외를 포착합니다.

  • 소스 컨텍스트를 포함한 빌드 진단 -- 런타임 예외와 동일한 파이프라인을 통해 Roslyn 소스 컨텍스트로 강화된 dotnet 빌드 오류를 제공합니다.

  • C# 분석 도구 -- Roslyn 워크스페이스를 통해 심볼 찾기, 참조 찾기, 멤버 시그니처 확인 기능을 제공합니다.

  • 5개 기둥 도구 그룹 시스템 -- core, runtime, csharp, build, scene 중 필요한 기능만 활성화할 수 있습니다.

시작하기

사전 요구 사항

설치

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

MCP 설정

AI 코딩 어시스턴트의 MCP 설정에 Wick을 추가하세요:

{
  "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 실패)를 위해 Godot 프로젝트에 Wick.Runtime NuGet을 추가하세요:

// 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 서버로)

이 아키텍처를 통해 Godot 4.6.1의 런타임이 .NET 8에 고정되어 있더라도 Wick은 .NET 10을 타겟팅할 수 있습니다.

저작자 표시

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

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