Wick
Wick
MCP를 통해 노출되는 Godot 엔진용 Roslyn 강화 C# 예외 텔레메트리.
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 중 필요한 기능만 활성화할 수 있습니다.
시작하기
사전 요구 사항
.NET 10 SDK (10.0.201 이상)
설치
git clone https://github.com/buildepicshit/Wick.git
cd Wick
dotnet build Wick.slnx --configuration ReleaseMCP 설정
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라이선스
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