
아무래도 간단한 테스트 버전이라도 구현해보고
직접 굴려봐야 내부 동작 이해가 가능할 것 같았다...
(오늘의 좌우명 : 막히면 일단 박치기 !)
Visual Studio 2022 에서 MCP Server와 Client, 각각의 콘솔 앱을 세팅하는 과정을 정리해보았다.
1. 프로젝트 초기 환경 세팅
1. [새 프로젝트 만들기] - 콘솔 앱 (.NET Framework) 선택 - 새 프로젝트 구성 (아래 사진 참고)
* 참고 영상 내용 => 콘솔 앱 (기본) 선택 - 프레임워크 .NET 9.0 버전 선택

2. [도구] - Nuget 패키지 관리자 - 솔루션용 Nuget 패키지 관리
- ModelContextProtocol (version=0.1.0-preview.4)
- Microsoft.Extensions.Hosting
(Serilog 패키지는 생략)

* 왜 Nuget 패키지 관리자에서 "ModelContextProtocol" 패키지가 안보이는가 * 에 대한 해결방법...

콘솔 앱 .NET 8.0/9.0 의 경우, PowerShell 로 패키지 추가하는 방법
PS C:\Users\user\source\repos> cd .\MCP_Test\
PS C:\Users\user\source\repos\MCP_Test> cd .\McpServer\
PS C:\Users\user\source\repos\MCP_Test\McpServer> dotnet add package ModelContextProtocol --version 0.1.0-preview.4
복원할 프로젝트를 확인하는 중...
...
log : C:\Users\user\source\repos\MCP_Test\McpServer\McpServer.csproj을(를) 1.11 sec 동안 복원했습니다.
PS C:\Users\user\source\repos\MCP_Test\McpServer> dotnet add package Microsoft.Extensions.Hosting
복원할 프로젝트를 확인하는 중...
...
log : C:\Users\user\source\repos\MCP_Test\McpServer\McpServer.csproj을(를) 3.14 sec 동안 복원했습니다.
* 콘솔 앱 ( .NET Framework ) 은 dotnet add package ... 명령이 안되어요... (미래의 나~ 해결해줘~)
PS C:\Users\user\source\repos\MCP_Test\McpServer> dotnet add package ModelContextProtocol --version 0.1.0-preview.4
복원할 프로젝트를 확인하는 중...
Writing C:\Users\user\AppData\Local\Temp\tmpchmzoc.tmp
info : X.509 certificate chain validation will use the default trust store selected by .NET for code signing.
info : X.509 certificate chain validation will use the default trust store selected by .NET for timestamping.
info : 'C:\Users\user\source\repos\MCP_Test\McpServer\McpServer.csproj' 프로젝트에 'ModelContextProtocol' 패키지에 대한 PackageReference 를 추가하는 중입니다.
error: 패키지 'ModelContextProtocol'을(를) 프로젝트 'C:\Users\user\source\repos\MCP_Test\McpServer\McpServer.csproj'(으)로 추가하는 중 오류가 발생했습니다. add package 명령을 통한 패키지 참조 추가는 프로젝트에서 지원되지 않습니다.
Usage: NuGet.CommandLine.XPlat.dll package add [options]
Options:
-h|--help Show help information
--force-english-output 고정 영어 기반 문화권을 사용하여 애플리케이션을 강제로 실행합니다.
--package 추가할 패키지의 ID입니다.
--version 추가할 패키지의 버전입니다.
-d|--dg-file 미리 보기 복원 및 호환성 검사에 사용할 종속성 그래프 파일의 경로입니다.
-f|--framework 패키지 참조를 추가할 프레임워크입니다.
-s|--source 복원 중 사용할 NuGet 패키지 원본을 지정합니다.
--interactive 명령이 인증 같은 작업에 대해 수동 작업을 차단하고 요구하도록 허용합니다.
--prerelease 시험판 패키지를 설치할 수 있습니다.
2. 서버 구현
1. Program.cs 코드 수정
아래 공식문서에서 "Getting Started (Server)" 코드를 확인할 수 있어요 !
[공식문서 - C# SDK 패키지]
https://github.com/modelcontextprotocol/csharp-sdk
GitHub - modelcontextprotocol/csharp-sdk: The official C# SDK for Model Context Protocol servers and clients. Maintained in coll
The official C# SDK for Model Context Protocol servers and clients. Maintained in collaboration with Microsoft. - modelcontextprotocol/csharp-sdk
github.com
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using ModelContextProtocol.Server;
namespace McpServer
{
public static class Program
{
static async Task Main(string[] args)
{
var builder = Host.CreateApplicationBuilder(args);
builder.Logging.AddConsole(consoleLogOptions =>
{
// Configure all logs to go to stderr
consoleLogOptions.LogToStandardErrorThreshold = LogLevel.Trace;
});
builder.Services
.AddMcpServer()
.WithStdioServerTransport()
.WithToolsFromAssembly();
await builder.Build().RunAsync();
}
[McpServerToolType]
public static class EchoTool
{
[McpServerTool, Description("Echoes the message back to the client.")]
public static string Echo(string message) => $"hello {message}";
}
}
}
2. 서버 실행
디버깅 시작 F5

* 종료 방법 : Ctrl + C 를 눌러 셧다운~
MCP 서버는 구축 완료...!
체력 이슈로 클라이언트는 다음 화에 계속...
[mcp-c# 구축 영상]
https://www.youtube.com/watch?v=mhgcdMe7uhE
[powershell + c# 기반 자료]
https://dev.to/mehrandvd/create-an-mcp-server-with-net-and-c-251p
'🧙🏻♀️🌌 고독한 개발자의 삶 > 한국에서C#개발자로살아남기' 카테고리의 다른 글
| [AI | MCP] Day 4. Anthropic.SDK 로 .NET MCP Client 구현 (1) | 2025.04.14 |
|---|---|
| [AI | MCP] Day 3. .NET Framework 환경에서 MCP Client 구축하기 (1) | 2025.04.14 |
| [AI | MCP] Day 1. "MCP가 뭐야?.... 대단한 분들이지~!" (1) | 2025.04.08 |
| [AI | MCP] Day 0. "MCP, 너 뭐 돼?" (1) | 2025.04.08 |