Delphi MCP 컴포넌트 | Model Context Protocol 클라이언트 & 서버 | eSeGeCe

Delphi MCP 컴포넌트 — Model Context Protocol 클라이언트와 서버

Model Context Protocol을 통해 Delphi 애플리케이션을 AI 생태계에 연결하세요: TsgcWSAPIServer_MCP는 애플리케이션의 도구, 프롬프트, 리소스를 AI 모델에 노출하고, TsgcWSAPIClient_MCP는 MCP 호환 서버라면 무엇이든 소비해요. 같은 라이브러리에 OpenAI, Anthropic Claude, Google Gemini용 AI API 클라이언트가 함께 제공돼요.

AI 모델과 애플리케이션 사이의 다리

MCP는 대규모 언어 모델을 외부 도구와 데이터에 연결하기 위한 떠오르는 표준이에요. AI 공급자마다 하나씩 사용자 정의 통합을 만드는 대신, 하나의 프로토콜만 구현하면 돼요.

Delphi의 Model Context Protocol은 기존 VCL 또는 FMX 애플리케이션이 AI가 접근할 수 있는 서비스가 될 수 있다는 뜻이에요. 프로토콜은 JSON-RPC 기반이며 세 가지 기본 요소를 정의해요: 도구(타입이 지정된 매개변수를 가진 호출 가능한 함수), 프롬프트(인수를 가진 재사용 가능한 템플릿), 리소스(URI 주소 지정을 통해 노출되는 데이터). MCP 서버가 이를 게시하고, MCP 클라이언트(Claude Desktop, Cursor 또는 자신의 Delphi 애플리케이션)가 이를 발견하고 호출해요.

서버 컴포넌트는 sgcWebSockets HTTP 서버에 연결되고 stdio와 HTTP 전송을 모두 지원하므로, 같은 코드가 서브프로세스로 실행하는 데스크톱 AI 어시스턴트와 네트워크를 통해 호출하는 원격 에이전트 모두를 처리해요. 클라이언트 컴포넌트는 HTTP 또는 HTTP Streamable 위에서 JSON-RPC로 통신하며 전체 카탈로그 표면을 다뤄요: 초기화, 도구 목록 조회와 호출, 프롬프트 검색, 리소스 읽기, 그리고 대화형 AI 워크플로를 위한 샘플링과 엘리시테이션까지.

MCP 서버

TsgcWSAPIServer_MCP: 도구, 프롬프트, 리소스, stdio 및 HTTP 전송

MCP 클라이언트

TsgcWSAPIClient_MCP: 모든 MCP 호환 서버를 발견하고 호출

AI API 클라이언트

TsgcHTTP_API_OpenAI, TsgcHTTP_API_Anthropic, TsgcHTTP_API_Gemini

컴파일러

Delphi 7부터 RAD Studio 13, C++Builder 10.1 Berlin부터 13, Lazarus 4.4.0

프로토콜의 양쪽 모두

서버, 클라이언트, 그리고 MCP가 노출하는 것을 소비하는 AI 공급자 클라이언트.

타입 스키마를 가진 도구

Tools.AddTool이 호출 가능한 함수와 그 InputSchema 속성을 등록해요. 호출은 파싱된 인수 및 구조화된 응답 객체와 함께 OnMCPRequestTool 이벤트로 도착해요.

프롬프트 & 리소스

인수를 가진 재사용 가능한 프롬프트 템플릿과 URI 주소 지정 리소스가 OnMCPRequestPromptOnMCPRequestResource를 통해 제공돼요.

클라이언트 카탈로그 표면

Initialize, ListTools, ListPrompts, ListResources, ListResourceTemplates, 그다음 이벤트 기반 응답과 함께 RequestTool / RequestPrompt / RequestResource.

샘플링 & 엘리시테이션

클라이언트는 MCP 샘플링(서버가 요청하는 AI 모델 상호작용)과 엘리시테이션(워크플로 중간에 사용자 입력 수집)을 지원해요 — 프로토콜의 두 가지 대화형 확장이에요.

인증

클라이언트 측 인증 옵션에는 AuthenticationOptions.ApiKey를 통한 API 키가 포함돼요; OAuth2로 보호되는 MCP 서버는 블로그를 참조하세요.

두 가지 전송

서브프로세스로 실행되는 서버용 stdio(Claude Desktop 모델)와 네트워크 배포용 HTTP. 하나의 컴포넌트, 두 채널.

AI 클라이언트 제품군

모델과 직접 대화할 수도 있어요: OpenAI, Anthropic Claude, Google Gemini에 대한 채팅, 스트리밍, 함수 호출, 그리고 같은 AI 제품군의 DeepSeek, Grok, Mistral, Ollama까지.

크로스 플랫폼

Windows 32/64, Linux 64, macOS (Intel 및 ARM), iOS 및 Android. VCL과 FireMonkey, 디자인 타임 컴포넌트 포함.

에디션

MCP 서버, MCP 클라이언트 및 AI API 클라이언트는 sgcWebSockets의 Enterprise 에디션 기능이에요.

Delphi로 만드는 MCP 서버와 MCP 클라이언트

서버에 타입이 지정된 인수를 가진 도구를 등록하고, 클라이언트에서 발견하고 호출하세요.

uses
  sgcWebSocket_Server, sgcAI, sgcAI_MCP_Classes, sgcAI_MCP_Server;

procedure TForm1.SetupMCPServer;
begin
  // Attach the MCP API component to a sgcWebSockets HTTP server
  MCPServer.Server := Server;
  MCPServer.EndpointOptions.Endpoint := '/mcp';
  MCPServer.MCPOptions.ServerInfo.Name    := 'sgc-mcp-server';
  MCPServer.MCPOptions.ServerInfo.Version := '1.0.0';

  // Register a callable tool with a typed argument
  with MCPServer.Tools.AddTool('GetTemperature',
    'Get the actual temperature in a city.') do
    InputSchema.Properties.AddProperty('city', True);

  MCPServer.OnMCPRequestTool := MCPRequestTool;
  Server.Port   := 8080;
  Server.Active := True;
end;

procedure TForm1.MCPRequestTool(Sender: TObject;
  const aSession: TsgcAI_MCP_Session;
  const aRequest: TsgcAI_MCP_Request_ToolsCall;
  const aResponse: TsgcAI_MCP_Response_ToolsCall);
begin
  if aRequest.Params.Name = 'GetTemperature' then
    aResponse.Result.Content.AddText('The current temperature in ' +
      aRequest.Params.Arguments.Item[0].Value + ' is 22 Celsius');
end;
uses
  sgcAI_MCP_Client, sgcAI_MCP_Classes;

var
  MCP: TsgcWSAPIClient_MCP;
begin
  MCP := TsgcWSAPIClient_MCP.Create(nil);
  MCP.MCPOptions.HttpOptions.URL        := 'https://mcp.example.com/';
  MCP.MCPOptions.ClientInfo.Name        := 'sgc-mcp-client';
  MCP.MCPOptions.ClientInfo.Title       := 'sgc MCP demo';
  MCP.MCPOptions.ClientInfo.Version     := '1.0.0';
  MCP.MCPOptions.AuthenticationOptions.ApiKey.Enabled := True;
  MCP.MCPOptions.AuthenticationOptions.ApiKey.Value   := 'sk-mcp-...';

  MCP.OnMCPInitialize    := MCPInit;
  MCP.OnMCPListPrompts   := MCPListPrompts;
  MCP.OnMCPListTools     := MCPListTools;
  MCP.OnMCPResponseTool  := MCPToolResponse;

  MCP.Initialize;
  MCP.ListPrompts;
  MCP.ListResources;
  MCP.ListTools;
  MCP.RequestTool('GetTemperature', '{"city":"Madrid"}');
end;

Delphi 팀이 MCP로 만드는 것

데이터베이스 에이전트

AI 모델이 통제되고 타입이 지정된 도구를 통해 애플리케이션의 데이터를 쿼리하게 하세요. 읽기 전용이든 읽기-쓰기든, 호출마다 핸들러가 결정해요.

비즈니스 자동화

CRM, ERP 또는 티켓팅 작업을 MCP 도구로 노출하여 자연어 지시가 기존 Delphi 비즈니스 로직을 구동하게 하세요.

AI 기반 데스크톱 도구

레거시 애플리케이션의 기능을 stdio MCP 서버로 감싸 Claude Desktop 같은 어시스턴트가 접근할 수 있게 하세요.

다단계 AI 워크플로

검색, 처리, 실행을 위한 도구와 리소스를 하나의 AI 기반 파이프라인으로 연결하고, Delphi 쪽에서 오케스트레이션하세요.

sgcWebSockets의 MCP와 AI 자세히 알아보기

MCP 개요

Model Context Protocol이 무엇이고 서버와 클라이언트 컴포넌트가 작업을 어떻게 나누는지.

MCP 서버 컴포넌트

TsgcWSAPIServer_MCP에 대한 전체 참조: 속성, 메서드, 이벤트.

MCP 클라이언트 컴포넌트

TsgcWSAPIClient_MCP에 대한 전체 참조: 카탈로그 메서드와 응답 이벤트.

블로그: MCP 서버 구축

작동하는 Delphi MCP 서버의 단계별 워크스루.

블로그: MCP 클라이언트

Delphi 클라이언트를 MCP 서버에 연결하고 도구를 호출하기.

블로그: MCP 인증

MCP 엔드포인트 보호: Delphi에서의 API 키와 인증된 흐름.

Best value: All-AccessEvery eSeGeCe product, Premium Support included, from €1,059/year.
See All-Access pricing

오늘 MCP로 개발을 시작하세요

체험판을 다운로드하고 즐겨 쓰는 AI 어시스턴트와 함께 MCP 서버 및 클라이언트 데모를 실행해 보세요.