Komponenty MCP dla Delphi — Klient i serwer Model Context Protocol

Połącz aplikacje Delphi z ekosystemem AI przez Model Context Protocol: TsgcWSAPIServer_MCP udostępnia narzędzia, prompty i zasoby Twojej aplikacji modelom AI, a TsgcWSAPIClient_MCP konsumuje dowolny serwer zgodny z MCP. Ta sama biblioteka dostarcza klienty API AI dla OpenAI, Anthropic Claude i Google Gemini.

Most między modelami AI a Twoją aplikacją

MCP to wyłaniający się standard łączenia dużych modeli językowych z zewnętrznymi narzędziami i danymi. Zamiast jednej niestandardowej integracji na każdego dostawcę AI implementujesz jeden protokół.

Model Context Protocol w Delphi oznacza, że Twoja istniejąca aplikacja VCL lub FMX może stać się usługą dostępną dla AI. Protokół oparty jest na JSON-RPC i definiuje trzy prymitywy: narzędzia (wywoływalne funkcje z typowanymi parametrami), prompty (szablony wielokrotnego użytku z argumentami) i zasoby (dane udostępniane przez adresowanie URI). Serwer MCP je publikuje; klient MCP (Claude Desktop, Cursor lub Twoja własna aplikacja Delphi) je odkrywa i wywołuje.

Komponent serwera podłącza się do serwera HTTP sgcWebSockets i wspiera transporty stdio oraz HTTP, więc ten sam kod obsługuje desktopowego asystenta AI uruchamiającego go jako podproces i zdalnego agenta wywołującego go przez sieć. Komponent klienta mówi JSON-RPC przez HTTP lub HTTP Streamable i pokrywa pełną powierzchnię katalogu: initialize, listowanie i wywoływanie narzędzi, pobieranie promptów, odczyt zasobów, plus sampling i elicitation dla interaktywnych przepływów AI.

Oba komponenty implementują specyfikację MCP 2026-07-28: żądania bezstanowe z _meta per żądanie, server/discover, subscriptions/listen, Multi Round-Trip Requests i rozszerzenie Tasks. Zachowują kompatybilność wsteczną z 2025-11-25. Ten sam serwer obsługuje obie generacje, a klient automatycznie przechodzi na starszy protokół, gdy serwer mówi tylko nim.

Serwer MCP

TsgcWSAPIServer_MCP: narzędzia, prompty, zasoby, transporty stdio i HTTP

Klient MCP

TsgcWSAPIClient_MCP: odkrywaj i wywołuj dowolny serwer zgodny z MCP

Klienty API AI

TsgcHTTP_API_OpenAI, TsgcHTTP_API_Anthropic, TsgcHTTP_API_Gemini

Kompilatory

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

Obie strony protokołu

Serwer, klient i klienty dostawców AI, które konsumują to, co MCP udostępnia.

Narzędzia z typowanymi schematami

Tools.AddTool rejestruje wywoływalną funkcję i jej właściwości InputSchema; wywołania przychodzą w zdarzeniu OnMCPRequestTool ze sparsowanymi argumentami i strukturalnym obiektem odpowiedzi.

Prompty i zasoby

Szablony promptów wielokrotnego użytku z argumentami i zasoby adresowane przez URI, serwowane przez OnMCPRequestPrompt i OnMCPRequestResource.

Powierzchnia katalogu klienta

Initialize, ListTools, ListPrompts, ListResources, ListResourceTemplates, potem RequestTool / RequestPrompt / RequestResource z odpowiedziami sterowanymi zdarzeniami.

Sampling i elicitation

Klient wspiera sampling MCP (interakcję z modelem AI żądaną przez serwer) i elicitation (zbieranie danych od użytkownika w trakcie przepływu), dwa interaktywne rozszerzenia protokołu.

Uwierzytelnianie

Opcje uwierzytelniania po stronie klienta obejmują klucze API przez AuthenticationOptions.ApiKey; zobacz na blogu serwery MCP chronione OAuth2.

MCP 2026-07-28

Żądania bezstanowe, server/discover, nagłówki Mcp-Method / Mcp-Name / Mcp-Param z walidacją, wskazówki cache (ttlMs, cacheScope) oraz nowe kody błędów. MCPOptions.ProtocolEra po stronie klienta wybiera Auto, Modern lub Legacy.

Multi Round-Trip Requests

Narzędzie prosi o elicitation (formularz lub URL), sampling lub roots przez aResponse.InputRequired; klient odpowiada w OnMCPInputRequired i ponawia wywołanie z podpisanym HMAC requestState.

Subskrypcje i zadania

subscriptions/listen przesyła zmiany list i aktualizacje zasobów. Rozszerzenie io.modelcontextprotocol/tasks (CreateTask) uruchamia długie narzędzia w tle, a komponent kliencki odpytuje je za pomocą MCPOptions.Tasks.Enabled lub pobiera bezpośrednio przez TasksGet.

OAuth klienta MCP

MCPOptions.Authorization: wykrywanie metadanych chronionego zasobu, Client ID Metadata Documents, rejestracja dynamiczna jako fallback, PKCE ze wskaźnikami zasobów, walidacja iss wg RFC 9207 oraz dane uwierzytelniające per wystawca.

Dwa transporty

Stdio dla serwerów uruchamianych jako podproces (model Claude Desktop) i HTTP dla wdrożeń sieciowych. Jeden komponent, oba kanały.

Rodzina klientów AI

Rozmawiaj z modelami także bezpośrednio: chat, streaming i function calling wobec OpenAI, Anthropic Claude i Google Gemini, plus DeepSeek, Grok, Mistral i Ollama w tej samej rodzinie AI.

Wieloplatformowość

Windows 32/64, Linux 64, macOS (Intel i ARM), iOS i Android. VCL i FireMonkey, z komponentami design-time.

Edycja

Serwer MCP, klient MCP i klienty API AI to funkcje edycji Enterprise sgcWebSockets.

Serwer MCP i klient MCP w Delphi

Zarejestruj narzędzie z typowanym argumentem na serwerze; odkryj je i wywołaj z klienta.

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;

Co zespoły Delphi budują z MCP

Agenci bazodanowi

Pozwól modelowi AI odpytywać dane Twojej aplikacji przez kontrolowane, typowane narzędzia. Tylko odczyt lub odczyt i zapis, Twój handler decyduje przy każdym wywołaniu.

Automatyzacja biznesu

Udostępnij operacje CRM, ERP lub systemu ticketowego jako narzędzia MCP, aby instrukcje w języku naturalnym napędzały istniejącą logikę biznesową Delphi.

Narzędzia desktopowe napędzane AI

Daj asystentom takim jak Claude Desktop dostęp do funkcjonalności starszej aplikacji, opakowując ją w serwer MCP stdio.

Wieloetapowe przepływy AI

Łącz narzędzia i zasoby dla pobierania, przetwarzania i akcji w jednym pipeline sterowanym przez AI, orkiestrowanym od strony Delphi.

Więcej o MCP i AI w sgcWebSockets

Przegląd MCP

Czym jest Model Context Protocol i jak komponenty serwera i klienta dzielą pracę.

Komponent MCP Server

Pełna referencja dla TsgcWSAPIServer_MCP: właściwości, metody, zdarzenia.

Komponent MCP Client

Pełna referencja dla TsgcWSAPIClient_MCP: metody katalogu i zdarzenia odpowiedzi.

Blog: Budowa serwera MCP

Przewodnik krok po kroku po działającym serwerze MCP w Delphi.

Blog: Klient MCP

Łączenie klienta Delphi z serwerami MCP i wywoływanie ich narzędzi.

Blog: Uwierzytelnianie MCP

Zabezpieczanie endpointów MCP: klucze API i uwierzytelnione przepływy z Delphi.

Najkorzystniejsza oferta: All-AccessWszystkie produkty eSeGeCe, ze wsparciem Premium w cenie, już od €1,059 rocznie.
Zobacz cennik All-Access

Zacznij budować z MCP już dziś

Pobierz wersję próbną i uruchom dema serwera i klienta MCP wobec swojego ulubionego asystenta AI.