.NET 로컬 툴을 GitHub Copilot MCP 서버로 구축하는 방법
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
개발 툴
대상자
.NET CLI 도구 개발자, AI 코드 어시스턴트 통합 개발자 (중급 이상)
핵심 요약
- .NET MCP SDK를 활용한 CLI 도구의 MCP 서버 구현 방법 제공
- AntDesign.Cli 예제로
McpServerTool
어트리뷰트와HttpClient
기반 API 통합 설명 - ToolCommandName,
PackAsTool
,JsonSerializer.Deserialize
등의 핵심 설정 및 코드 요소 강조
섹션별 세부 요약
1. 도구 개발 배경 및 목표
- AI 어시스턴트와의 연동을 위한 CLI 도구 필요성 제시
- AntDesign.Blazor 컴포넌트의 최신 API 정보를 제공하는 도구 개발 목적 명시
- GitHub Copilot의 Agent 모드와 MCP 서버 연동 가능성 강조
2. 프로젝트 설정 및 구성
PackAsTool
설정으로 .NET Tool로 패키징,ToolCommandName
명령어 정의dotnet pack
및dotnet tool install
명령어를 통한 패키징 및 설치 절차 설명PackageOutputPath
설정으로 NuGet 패키지 배포 경로 지정
3. 컴포넌트 데이터 처리 구현
System.Text.Json
을 사용한 JSON 파싱 로직 (ComponentModel
클래스 정의)HttpClient
를 통한 외부 API 호출 및_components
데이터 캐싱 메커니즘FindComponent
메서드로 컴포넌트 검색 기능 구현
4. MCP 서버 연동 구현
[McpServerTool]
어트리뷰트를 사용한 MCP 서버 인터페이스 정의SearchComponent
및ListComponents
메서드를 통한 AI 어시스턴트와의 상호작용 구현Program.cs
에AddMcpServer()
설정을 통한 MCP 서버 활성화
5. VS Code 연동 및 사용 예시
mcp.json
파일에stdio
방식의 MCP 서버 설정- GitHub Copilot에서 "Button 컴포넌트 속성" 또는 "Navigation 카테고리 컴포넌트" 등의 자연어 쿼리 가능
- CLI 모드와 MCP 서버 모드의 이중 지원 특징 강조
결론
.NET MCP SDK
를 활용한 CLI 도구 확장은 AI 어시스턴트와의 시너지 극대화 가능McpServerTool
어트리뷰트 및JsonSerializer.Deserialize
활용을 통한 간단한 구현 예시 제공- 향후 예제 코드 생성, 다국어 지원 등 확장성 강화 방향 제시