Wersja 2025.10.0 sgcWebSockets rozszerza zestaw narzędzi integracji AI o komercyjny klient MCP zgodny ze specyfikacją Model Context Protocol 2025-06-18. Dostarczaj starannie dobrany kontekst, orkiestruj wywołania narzędzi i obsługuj asystentów świadomych zasobów — wszystko z jednego komponentu.
Model Context Protocol (MCP) standaryzuje sposób, w jaki asystenci negocjują możliwości i wymieniają ustrukturyzowany kontekst. Dodając obsługę klienta MCP, sgcWebSockets umożliwia:
- Interoperacyjność klasy enterprise z każdym asystentem zgodnym z MCP, zapewniającą spójne przepływy inicjalizacji i odkrywania możliwości.
- Szybsze wdrożenie funkcji wspomaganych przez AI w istniejących projektach VCL, FMX lub WebBroker dzięki komponentowi Delphi gotowemu do użycia.
- Widoczność operacyjna każdej wymiany JSON-RPC dzięki wbudowanemu rejestrowaniu HTTP i wzmocnieniu transportu TLS 1.3.
Najważniejsze cechy TsgcAI_MCP_Client
Gotowy uścisk dłoni MCP
Wykonaj negocjację protokołu za pomocą jednego wywołania Initialize. Klient ogłasza nazwę produktu, tytuł i wersję semantyczną, honorując jednocześnie identyfikator sesji zwrócony przez serwer.
Bogaty zestaw możliwości
Wykonuj gotowe wywołania metod, w tym Ping, ToolsList, ToolsCall, PromptsList, PromptsGet, ResourcesList i ResourcesRead. Każdy typ odpowiedzi jest silnie typowany, co ułatwia dalsze przetwarzanie.
Dostosowanie sterowane zdarzeniami
Podpinaj się pod szczegółowe zdarzenia — inicjalizację, ping, odkrywanie narzędzi, pobieranie podpowiedzi i przesyłanie zasobów strumieniowo — aby śledzić i personalizować każdą wymianę przed dotarciem do warstwy biznesowej.
Komponent automatycznie inkrementuje identyfikatory żądań JSON-RPC, przechowuje identyfikatory sesji MCP między wywołaniami i zgłasza typowane wyjątki po otrzymaniu zdalnego błędu. Łączność HTTP jest zamknięta w wyspecjalizowanym kliencie, który rejestruje ruch i negocjuje TLS 1.3 z API OpenSSL 3.0.
Przegląd konfiguracji
- Profil klienta: Skonfiguruj
MCPOptions.ClientInfo, aby przedstawić swoje rozwiązanie zintegrowane z asystentem wraz z nazwą, tytułem i metadanymi wersji. - Punkt końcowy serwera: Ustaw
MCPOptions.ServerOptions.URLna zgodny z MCP punkt końcowy HTTPS, z którym chcesz się połączyć. - Stos HTTP: Oparty na
TsgcAI_MCP_HTTP_Client, warstwa transportu jest dostosowana do typów zawartości JSON, automatycznych nagłówków sesji i bezpiecznych domyślnych ustawień TLS. - Haki obserwowalności: Subskrybuj procedury obsługi zdarzeń, takie jak
OnMCPToolsCalllubOnMCPResourcesRead, aby audytować i wzbogacać każde przejście protokołu.
Przykład integracji z Delphi
Poniższy fragment kodu pokazuje, jak umieścić klienta MCP na module danych, zainicjować go podczas uruchamiania i obsłużyć odpowiedź na wywołanie narzędzia, gdy tylko zdalny asystent o to poprosi.
uses
sgcAI_MCP_Client, sgcJSON;
procedure TdmMCP.StartMCP;
begin
sgcMCP := TsgcAI_MCP_Client.Create(Self);
sgcMCP.MCPOptions.ClientInfo.Name := 'sgc-demo-pos';
sgcMCP.MCPOptions.ClientInfo.Title := 'Smart POS Assistant';
sgcMCP.MCPOptions.ClientInfo.Version := '2025.10.0';
sgcMCP.MCPOptions.ServerOptions.URL := 'https://mcp.partnercloud.com';
sgcMCP.OnMCPInitialize := DoMCPInitialize;
sgcMCP.OnMCPToolsCall := DoMCPToolsCall;
sgcMCP.Initialize;
end;
procedure TdmMCP.DoMCPInitialize(Sender: TObject;
const Request: TsgcAI_MCP_Request_Initialize;
const Response: TsgcAI_MCP_Response_Initialize;
var Accept: Boolean);
begin
Accept := Response.ServerInfo.SupportsTools('inventory.lookup');
end;
procedure TdmMCP.DoMCPToolsCall(Sender: TObject;
const Request: TsgcAI_MCP_Request_ToolsCall;
const Response: TsgcAI_MCP_Response_ToolsCall);
var
ResultPayload: IsgcJSON;
begin
if Request.Params.Name = 'inventory.lookup' then
begin
ResultPayload := TsgcJSON.CreateObject;
ResultPayload['sku'] := Request.Params.Arguments['sku'];
ResultPayload['availability'] := 'in-stock';
Response.Result := ResultPayload;
end;
end;
