MCP Client 컴포넌트 — sgcAI | eSeGeCe

MCP Client

TsgcWSAPIClient_MCP는 Model Context Protocol의 클라이언트 쪽을 담당합니다. HTTP, HTTP Streamable 또는 로컬 stdio 하위 프로세스로 모든 MCP 서버에 연결해 서버가 제공하는 도구, 프롬프트, 리소스를 조회하고 사용자 코드에서 호출합니다.

TsgcWSAPIClient_MCP

전송 방식 3종을 갖춘 JSON-RPC MCP 클라이언트입니다. initialize 핸드셰이크를 수행하고 세션을 추적하며, 요청을 보내고 애플리케이션이 지원하기로 선택한 서버 발신 요청에 응답합니다.

컴포넌트 클래스

TsgcWSAPIClient_MCP

용도

MCP 서버 이용

플랫폼

Windows, macOS, Linux, iOS, Android

sgcAI는 자체 완결형 제품입니다. 이 컴포넌트는 기반이 되는 sgcWebSockets Core 런타임과 함께 sgcAI에 포함되어 제공되므로, 별도로 구매해야 할 기본 라이선스가 없습니다.

MCP 서버에서 도구 호출하기

전송 방식과 옵션을 설정하고 초기화한 다음, 도구와 프롬프트, 리소스를 조회하고 호출하세요.

uses
  sgcAI, sgcAI_MCP_Classes, sgcAI_MCP_Types;

var
  oMCP: TsgcWSAPIClient_MCP;
begin
  oMCP := TsgcWSAPIClient_MCP.Create(nil);

  // Remote server over streamable HTTP.
  oMCP.MCPOptions.Transport      := aimcptrHttpStreamable;
  oMCP.MCPOptions.HttpOptions.URL := 'https://mcp.example.com/mcp';
  oMCP.MCPOptions.ClientInfo.Name    := 'sgc-mcp-client';
  oMCP.MCPOptions.ClientInfo.Version := '1.0.0';
  oMCP.MCPOptions.AuthenticationOptions.ApiKey.Enabled := True;
  oMCP.MCPOptions.AuthenticationOptions.ApiKey.Value   := 'mcp-...';

  oMCP.OnMCPListTools    := MCPListTools;
  oMCP.OnMCPResponseTool := MCPToolResponse;

  oMCP.Initialize;
  oMCP.ListTools;
  oMCP.RequestTool('GetTemperature', vArguments);   // vArguments: IsgcJSON
end;

// Or spawn a local MCP server as a subprocess instead:
oMCP.MCPOptions.Transport := aimcptrStdio;
oMCP.MCPOptions.StdioOptions.Command   := 'C:\tools\my-mcp-server.exe';
oMCP.MCPOptions.StdioOptions.Arguments := '--stdio';
// includes: sgcAI.hpp, sgcAI_MCP_Classes.hpp, sgcAI_MCP_Types.hpp

TsgcWSAPIClient_MCP *oMCP = new TsgcWSAPIClient_MCP(NULL);
oMCP->MCPOptions->Transport = aimcptrHttpStreamable;
oMCP->MCPOptions->HttpOptions->URL = "https://mcp.example.com/mcp";
oMCP->MCPOptions->ClientInfo->Name = "sgc-mcp-client";

oMCP->OnMCPListTools    = MCPListTools;
oMCP->OnMCPResponseTool = MCPToolResponse;

oMCP->Initialize();
oMCP->ListTools();

주요 속성 & 메서드

가장 자주 사용하게 되는 멤버들입니다.

전송

MCPOptions.Transport로 POST 기반의 일반 JSON-RPC를 쓰려면 aimcptrHttp, keep-alive와 SSE 알림 스트림을 함께 쓰려면 aimcptrHttpStreamable, 로컬 서버를 하위 프로세스로 실행하려면 aimcptrStdio를 선택합니다.

HttpOptions와 StdioOptions

HttpOptions는 URL, TLS 옵션, 로깅을 담습니다. StdioOptions는 하위 프로세스를 위한 Command, Arguments, WorkingDir, Environment, Timeout을 담습니다.

인증

AuthenticationOptions는 API 키, 사용자 지정 헤더, 그리고 신원 확인을 포함한 완전한 OAuth 2.0 흐름을 지원합니다. 공개 MCP 서버가 점점 더 많이 요구하는 방식입니다.

세션

Initialize가 핸드셰이크를 수행하고 Ping이 연결 상태를 확인합니다. HeartBeat가 주기적으로 ping을 보내 유휴 세션이 끊기지 않게 하며, Session이 협상된 세션 상태를 노출합니다.

도구, 프롬프트, 리소스

ListToolsRequestTool, ListPromptsRequestPrompt, ListResources, ListResourceTemplates, RequestResource를 제공합니다. 목록 조회는 페이징용 커서 인자를 받습니다.

구독과 로깅

SubscribeResourceUnsubscribeResource로 리소스의 변경을 추적하고, SetLoggingLevel로 서버 측 로그 상세도를 조정하며, Complete로 인자 값 자동 완성을 요청합니다.

서버에 응답하기

서버가 클라이언트에 파일 시스템 루트, 모델 completion, 사용자 입력을 요청하면 OnMCPListRoots, OnMCPSamplingCreateMessage, OnMCPElicitationCreate가 발생하며, 애플리케이션이 답을 제공합니다.

이벤트

OnMCPInitialize, OnMCPPing, OnMCPListTools, OnMCPResponseTool, OnMCPListPrompts, OnMCPResponsePrompt, OnMCPListResources, OnMCPResponseResource, OnMCPStreamMessage.

사양 & 참고 자료

이 컴포넌트가 사용하는 서비스와 프로토콜의 공식 자료입니다.

계속 살펴보기

온라인 도움말sgcAI 컴포넌트의 전체 API 레퍼런스와 사용 안내서.
sgcAI 전체 컴포넌트15개 컴포넌트 전체의 기능 매트릭스를 살펴보세요.
무료 체험판 다운로드공개 또는 로컬 MCP 서버에 직접 작성한 코드로 연결해 보세요.
가격Single, Team, Site 라이선스, 전체 소스 코드 포함, 기본 제품 불필요.
최고의 가성비: All-Access모든 eSeGeCe 제품과 프리미엄 지원이 포함되어 연 €1,059부터 이용할 수 있어요.
All-Access 가격 보기

시작할 준비가 되셨나요?

무료 체험판을 다운로드하고 Delphi 또는 C++ Builder에서 MCP 서버를 호출해 보세요.