일타 저스틴의 MCP 강의 04 C#으로 MCP 서버 만들기

뉴테크프라임 » 일타 저스틴의 MCP 강의 04-001. Model Context Protocol (MCP) C# SDK

가장 먼저 할 일은 프로젝트에 필요한 패키지를 추가하는 것입니다.

ModelContextProtocol은 MCP 서버를 구현하는 데 핵심적인 패키지이고, Microsoft.Extensions.Hosting은 .NET 애플리케이션의 호스팅 환경을 설정하는 데 사용됩니다.

다음으로, Program.cs 파일에서 MCP 서버 서비스를 구성해야 합니다.

  • Services.AddMcpServer(): 이 메서드는 애플리케이션의 의존성 주입 컨테이너에 MCP 서버 서비스를 등록합니다. MCP 서버를 실행하는 데 필요한 구성 요소를 초기화하는 역할을 합니다.
  • .WithStdioServerTransport(): 이 메서드는 표준 입출력(stdio)을 통신 전송 메커니즘으로 사용하도록 서버를 구성합니다. 다시 말해, 서버와 클라이언트가 앱의 표준 입력 및 출력 스트림을 통해 통신하게 만든다는 의미입니다. 특히 stdio를 통해 작동하는 도구나 환경과 통합할 때 유용하죠.
  • .WithToolsFromAssembly(): 이 메서드는 현재 어셈블리에서 [McpServerToolType]이나 [McpServerTool]과 같은 특정 MCP 속성으로 장식된 클래스 및 메서드를 자동으로 스캔합니다. 그리고 이 메서드들을 MCP 서버가 클라이언트에 노출할 수 있는 ‘도구’로 등록합니다.

이제 MCP 서버가 제공할 실제 기능을 코드로 작성할 차례입니다.

[McpServerToolType] 클래스를 작성하고 [McpServerTool] 메소드를 작성합니다. [McpServerToolType]은 이 클래스가 MCP 도구를 포함하고 있음을 나타내고, [McpServerTool]은 특정 메서드가 MCP 서버를 통해 외부로 노출될 ‘도구’임을 명시합니다. Description 속성도 보이시죠? 이 도구가 어떤 기능을 하는지 설명해 주는 역할을 합니다. 

이제 서버를 만들었으니, 이 서버를 MCP 호스트 앱에서 사용하도록 설정해야 합니다.

Claude 데스크탑 앱이라고 하면, 설정(Settings) -> 개발자(Developers) 탭으로 이동하여 ‘edit config’를 클릭하고, JSON 형식의 설정 파일을 수정합니다.

About the Author
(주)뉴테크프라임 대표 김현남입니다. 저에 대해 좀 더 알기를 원하시는 분은 아래 링크를 참조하세요. http://www.umlcert.com/kimhn/

Leave a Reply

*