로그인
← 읽기자료 AI/MCP

HandMirror MCP로 AI가 모르는 .NET 프레임워크 정복하기

AI 학습 데이터에 없는 신생 .NET UI 프레임워크(MewUI)로 IDE를 만들 때, HandMirror MCP로 어셈블리를 직접 검사해 첫 빌드 오류를 3개로 줄인 경험

저자: rkttu

  • AI가 학습하지 않은 신생 프레임워크에서 코드 생성 시 추측 오류가 빈번합니다
  • HandMirror MCP는 .NET 어셈블리를 직접 검사해 정확한 API 정보를 제공합니다
  • MewUI 기반 IDE 개발 시 첫 빌드 오류를 단 3개로 줄였습니다
  • MCP 프로토콜로 AI 에이전트의 지식 경계를 런타임에 확장할 수 있습니다
  • 1인 개발로도 IDE 수준의 프로젝트 시작이 가능해졌습니다

배경: 왜 HandMirror MCP가 필요한가

HandMirror MCP 배경

.NET IDE의 딜레마와 AI의 한계

현재 .NET IDE 선택의 현실은 다음과 같습니다:

결론적으로 최신 .NET을 지원하는 오픈소스 크로스 플랫폼 IDE가 없습니다.

MewUI: AI가 모르는 프레임워크

LibraStudio 프로젝트는 MewUI라는 신생 UI 프레임워크를 사용합니다. XAML 없이 순수 C# fluent API로 UI를 구성하는 독자적 설계입니다.

일반적인 AI 코딩 워크플로의 한계

  1. 학습 데이터에서 비슷한 API를 “추측”해서 코드 작성
  2. 빌드 시도
  3. 오류 메시지 보고 수정
  4. 2-3 무한 반복…

신생 프레임워크에서는 추측의 정확도가 극히 낮아 이 반복이 끝없이 이어질 수 있습니다.

AI 코딩 워크플로우의 한계

HandMirror MCP란?

HandMirror MCP는 NuGet 패키지의 컴파일된 어셈블리(.dll)를 직접 검사하는 MCP(Model Context Protocol) 서버입니다.

핵심 기술: Mono.Cecil

일반적인 .NET 리플렉션이 아닌 Mono.Cecil을 사용합니다. 런타임 로딩 없이 메타데이터를 직접 읽어 .NET Framework 4.x부터 .NET 10까지 모든 버전을 동일하게 분석합니다.

제공하는 정보

실제 분석 예시: MewUI 0.9.1

실전 적용: LibraStudio 프로젝트

HandMirror MCP를 활용해 MewUI 기반 텍스트 에디터를 개발한 결과입니다.

발생한 오류 (단 3개!)

오류원인
Menu.Item shortcut 오버로드 없음ContextMenu.Item에만 있는 파라미터를 Menu.Item에 사용
BorderThickness 4-파라미터 없음실제로는 단일 double 파라미터만 존재
SelectionChanged 타입 불일치Action<int>Action<TabItem>으로 잘못 타이핑 (사람 실수)

세 번째 오류는 HandMirror가 정확한 정보를 줬음에도 코드에 잘못 반영한 순수 사람 실수입니다.

구현된 기능

기술 스택

항목
언어C# 13 / .NET 10
UI 프레임워크Aprillz.MewUI 0.9.1
빌드NativeAOT 대상
AI 도구GitHub Copilot + HandMirror MCP

MCP 생태계와 미래

MCP 생태계

MCP(Model Context Protocol)의 핵심 가치

MCP 프로토콜 덕분에 AI 에이전트가 학습 시점에 존재하지 않던 지식을 런타임에 동적으로 획득할 수 있습니다. 단순한 도구가 아니라 AI 에이전트의 능력 경계를 확장하는 인프라입니다.

Microsoft Learn MCP와 함께 사용하기

두 MCP 서버를 조합하면 .NET 개발에서 AI의 약점을 크게 보완할 수 있습니다:

향후 확장 계획

HandMirror MCP 시작하기

NuGet에 게시되어 있으며, GitHub에서 소스 코드를 확인할 수 있습니다. .NET 8.0 SDK 이상이 필요합니다.

VS Code (GitHub Copilot) 설정

워크스페이스의 .vscode/mcp.json에 추가합니다:

{
  "servers": {
    "HandMirrorMcp": {
      "type": "stdio",
      "command": "dnx",
      "args": ["HandMirrorMcp", "--yes"]
    }
  }
}

Claude Desktop 설정

{
  "mcpServers": {
    "handmirror": {
      "command": "dnx",
      "args": ["HandMirrorMcp", "--yes"]
    }
  }
}

주요 사용법 (자연어로!)

핵심 인사이트

1. AI의 약점은 도구로 극복 가능합니다

“AI가 학습한 적 없는 프레임워크”는 AI 에이전트의 약점입니다. 하지만 실제 바이너리를 검사하는 도구가 있으면 이 약점은 상쇄됩니다.

2. 정확한 정보를 얻어도 실수는 발생합니다

도구가 주는 정보의 정확성과, 그 정보를 코드에 반영하는 정확성은 별개입니다. 결국 검증은 필요합니다.

3. AI 에이전트와 함께라면 1인 개발의 한계가 달라집니다

과거에 수십 명이 수년간 만들던 프로젝트를, AI 에이전트의 도움으로 한 사람의 사이드 프로젝트로 시작할 수 있게 되었습니다.

MCP는 단순한 도구가 아닙니다. AI 에이전트의 능력 경계를 확장하는 인프라입니다.


원문: HandMirror MCP 사용기