Serwer MCP w Delphi: narzędzia (2/4)

· Funkcje

Od wydania sgcWebSockets 2025.9.0 programiści mogą bezpośrednio integrować funkcjonalność Model Context Protocol (MCP) ze swoimi serwerami. Obejmuje to obsługę żądań narzędzi MCP — kluczowego elementu umożliwiającego dynamiczną i inteligentną komunikację między modelami AI a usługami backendowymi.

Ten przewodnik przeprowadzi cię przez sposób działania żądań narzędzi MCP, ich obsługę w serwerze TsgcWSAPIServer_MCP oraz wysyłanie ustrukturyzowanych odpowiedzi z powrotem do klienta lub agenta AI. 

Omówienie żądań narzędzi MCP

W ekosystemie MCP (Model Context Protocol) narzędzia reprezentują możliwości, które może wywoływać model AI — na przykład zapytanie do bazy danych, wysłanie e-maila lub pobranie danych z API.

Serwer MCP udostępnia te narzędzia przez WebSocket, a klienci (np. agenci AI) mogą wykonywać żądania narzędzi w celu wyzwolenia określonych akcji. Komponent TsgcWSAPIServer_MCP w sgcWebSockets upraszcza cały przepływ: automatycznie dekoduje komunikaty MCP i kieruje je do odpowiednich procedur obsługi zdarzeń na serwerze. 

Jak działają żądania narzędzi MCP

Typowy przepływ komunikacji wygląda następująco:

  1. Klient wysyła żądanie narzędzia (wiadomość MCP w formacie JSON) do serwera MCP.
  2. sgcWebSockets przetwarza żądanie i wyzwala zdarzenie, np. OnToolRequest.
  3. Serwer wykonuje żądaną akcję — np. odczytuje dane z CRM, odpytuje bazę danych lub wykonuje obliczenie.
  4. Serwer buduje odpowiedź w formacie MCP (zawierającą dane wynikowe lub błędy).
  5. Odpowiedź jest odsyłana do klienta, który wysłał żądanie.

Każde żądanie narzędzia MCP jest identyfikowane przez:

Obsługa żądań narzędzi w Delphi

Po skonfigurowaniu serwera MCP przy użyciu TsgcWSAPIServer_MCP możesz obsługiwać przychodzące żądania narzędzi za pomocą procedur obsługi zdarzeń.
Poniżej znajduje się przykład implementacji procedury dla przychodzących żądań narzędzi 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; 

Korzystanie z metadanych narzędzi MCP

Możesz również rejestrować i udostępniać metadane dotyczące dostępnych narzędzi za pomocą MCP API.
Pozwala to modelom AI na dynamiczne wykrywanie dostępnych narzędzi i poznanie oczekiwanych parametrów.

Na przykład możesz zadeklarować: 

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; 

Te informacje pomagają klientom AI automatycznie zrozumieć, jak wywoływać twoje narzędzia, ułatwiając tworzenie samodokumentujących się integracji AI

Podsumowanie

Żądania narzędzi MCP w sgcWebSockets 2025.9.0 zapewniają prosty, ale potężny sposób na łączenie modeli AI z rzeczywistymi systemami.
Używając komponentu TsgcWSAPIServer_MCP i wbudowanej obsługi żądań narzędzi, możesz:

Dowiedz się więcej

Aby zapoznać się dokładniej z MCP API i dostępnymi komponentami serwera, odwiedź oficjalną dokumentację:


👉 sgcWebSockets MCP Tools Server Reference 


Poniżej znajdziesz demo serwera Delphi MCP dla systemu Windows.