Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • ModelContextProtocol - MCP작성을 위한 패키지
  • ModelContextProtocol.NET.Server - 작성된 MCP를 표준 MCP 서버로 구동시키기위한 패키지

...



MCP Server APP 작동코드

Code Block
themeEmacs
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;

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();
  • StdIO모드로 Local LLM Agent툴과 상호작용하는듯
  • 특정 Port가 Listen되어 Remote로 서비스를 제공하는 일반적인 Server 개념과는 다릅니다.
    • 처음 MCP Server 구동할때 서버는  Port는 도대체 뭐지? - 삽질주의 PartA
  • LLM Agent가 필요하면 필요한 타이밍 툴을 실행하고 종료되는 종료하는 짧은 사이클을 가진듯가졌습니다.
    • 어플리케이션이 툴로서의 기능을 하기때문에 아주 짧은 사이클을 가졌으며~ 한번작동하면 내려갈때까지 사용할수 있는 싱글톤 주입의 라이프사이클은 의미가 없습니다. 왜 객체가 유지안되지? 싱글톤DI사용했다가 한참 삽질을... 롱텀이라 생각했던 싱글톤사이클의 DI를 주입하더라도~ 객체가 금방사라져 삽질을 하게됩니다.  - 삽질주의 PartB
  • 계속 지속 작동하는 Server로 인식하기보다 LLM Agent가 필요하면 잠깐 당겨써는~ Execute Tool이다라고 생각해야 여러모로 헛갈리지 않을듯

...