Delphi MCP Server Tools (2/4)

· 기능

sgcWebSockets 2025.9.0 출시로 개발자는 이제 Model Context Protocol(MCP) 기능을 서버에 직접 통합할 수 있어요. AI 모델과 백엔드 서비스 간의 동적이고 지능적인 통신을 가능하게 하는 핵심 요소인 MCP 도구 요청 처리가 포함돼요.

이 가이드는 MCP 도구 요청의 작동 방식, TsgcWSAPIServer_MCP 서버에서의 처리 방법, 클라이언트나 AI 에이전트에 구조화된 응답을 보내는 방법을 안내해요.

MCP 도구 요청 이해

MCP(Model Context Protocol) 생태계에서 도구는 AI 모델이 호출할 수 있는 기능을 나타내요. 예를 들어 데이터베이스 조회, 이메일 전송, API에서 데이터 가져오기 등이 있어요.

MCP 서버는 WebSocket을 통해 이러한 도구를 노출하고, 클라이언트(AI 에이전트 등)는 특정 작업을 트리거하기 위해 도구 요청을 할 수 있어요. sgcWebSockets의 TsgcWSAPIServer_MCP 컴포넌트는 전체 흐름을 단순화하여 MCP 메시지를 자동으로 디코딩하고 서버의 적절한 이벤트 핸들러로 라우팅해요.

MCP 도구 요청 작동 방식

통신 흐름은 일반적으로 다음과 같아요:

  1. 클라이언트가 도구 요청(JSON 형식 MCP 메시지)을 MCP 서버에 보내요.
  2. sgcWebSockets가 요청을 파싱하고 OnToolRequest 같은 이벤트를 트리거해요.
  3. 서버가 요청된 작업을 실행해요. 예: CRM에서 읽기, 데이터베이스 조회, 계산 수행 등이에요.
  4. 서버가 MCP 형식으로 응답을 구성해요 (결과 데이터나 오류 포함).
  5. 응답이 요청한 클라이언트에게 다시 전송돼요.

각 MCP 도구 요청은 다음으로 식별돼요:

Delphi에서 도구 요청 처리

TsgcWSAPIServer_MCP를 사용하여 MCP 서버를 설정하면 이벤트 핸들러를 통해 들어오는 도구 요청을 처리할 수 있어요.
아래는 들어오는 MCP 도구 요청에 대한 핸들러 구현 예제예요.

procedure TMainForm.MCPServerMCPRequestTool(Sender: TObject;
  const ASession: TsgcAI_MCP_Session;
  const ARequest: TsgcAI_MCP_Request_ToolsCall;
  const AResponse: TsgcAI_MCP_Response_ToolsCall);
var
  LA, LB: Double;
begin
  if ARequest.Params.Name = 'math.add' then
  begin
    LA := ARequest.Params.Arguments.Node['a'].AsNumber;
    LB := ARequest.Params.Arguments.Node['b'].AsNumber;
    AResponse.Result.Content.AddText(Format('Sum = %.2f', [LA + LB]));
  end
  else
    AResponse.Result.IsError := True;
end; 

MCP 도구 메타데이터 사용

MCP API를 사용하여 이용 가능한 도구에 대한 메타데이터를 등록하고 노출할 수도 있어요.
이를 통해 AI 모델이 이용 가능한 도구를 동적으로 발견하고 예상 파라미터를 이해할 수 있어요.

예를 들어 다음과 같이 선언할 수 있어요:

procedure TMainForm.FormCreate(Sender: TObject);
var
  oTool: TsgcAI_MCP_Tool;
begin
  oTool := MCPServer.Tools.AddTool('math.add', 'Adds two numbers');
  oTool.InputSchema.Properties.AddProperty('a', True, aimcpjtNumber, 'Left operand');
  oTool.InputSchema.Properties.AddProperty('b', True, aimcpjtNumber, 'Right operand');
end; 

이 정보는 AI 클라이언트가 도구 호출 방법을 자동으로 이해하도록 도와서 자체 문서화 AI 통합을 더 쉽게 만들어요.

요약

sgcWebSockets 2025.9.0의 MCP 도구 요청은 AI 모델을 실제 시스템과 연결하는 간단하지만 강력한 방법을 제공해요.
TsgcWSAPIServer_MCP 컴포넌트와 내장된 도구 요청 처리를 사용하면 다음을 할 수 있어요:

더 알아보기

MCP API와 이용 가능한 서버 컴포넌트에 대한 더 자세한 내용은 공식 문서를 방문하세요:


👉 sgcWebSockets MCP Tools Server Reference 


Windows용 Delphi MCP 서버 데모를 아래에서 찾아볼 수 있어요.