Serwer MCP dla Delphi
Buduj serwery Model Context Protocol (MCP) w Delphi. Udostępniaj narzędzia, zasoby i prompty aplikacjom AI.
Buduj serwery Model Context Protocol (MCP) w Delphi. Udostępniaj narzędzia, zasoby i prompty aplikacjom AI.
Udostępnij własne narzędzia, prompty i zasoby dowolnemu klientowi LLM obsługującemu MCP. Hostuje endpoint JSON-RPC z transportami HTTP i HTTP Streamable na bazie serwera HTTP sgcWebSockets.
TsgcWSAPIServer_MCP
Model Context Protocol server, specyfikacja 2026-07-28 z kompatybilnością wsteczną 2025-11-25
Windows, macOS, Linux, iOS, Android
Enterprise (dodatek AI)
Podłącz do serwera HTTP, wypełnij ServerInfo, podepnij handlery OnMCPRequest*, ustaw Active := True.
uses
sgcAI_MCP_Server, sgcAI_MCP_Classes;
var
MCP: TsgcWSAPIServer_MCP;
begin
MCP := TsgcWSAPIServer_MCP.Create(nil);
MCP.MCPOptions.HttpOptions.Port := 8080;
MCP.MCPOptions.ServerInfo.Name := 'sgc-mcp-server';
MCP.MCPOptions.ServerInfo.Title := 'Weather MCP';
MCP.MCPOptions.ServerInfo.Version := '1.0.0';
// Lifecycle + incoming request handlers
MCP.OnMCPInitialize := SrvInitialize;
MCP.OnMCPSessionNew := SrvSessionNew;
MCP.OnMCPRequestTool := SrvCallTool;
MCP.OnMCPRequestPrompt := SrvGetPrompt;
MCP.OnMCPRequestResource := SrvReadResource;
MCP.Active := True;
// Push a notification to every connected session
MCP.SendNotificationToolsListChanged;
end;
5 publikowanych właściwości, 9 metod, 12 zdarzeń — zaczerpnięte z dokumentacji komponentu.
Metody: KeepAlive.
Zdarzenia: OnMCPHTTPRequest, OnMCPHTTPResponse.
Publikowane właściwości: MCPOptions, EndpointOptions, TransportOptions.
Publikowane właściwości: Version.
Właściwości: Server.
Metody: RequestRootsList, RequestSamplingCreateMessage, RequestElicitationCreate.
Żądania bezstanowe z _meta per żądanie, server/discover, walidacją nagłówków Mcp-Method / Mcp-Name / Mcp-Param oraz wskazówkami cache (MCPOptions.Cache). Klienci na 2025-11-25 nadal korzystają z initialize i sesji na tym samym serwerze.
subscriptions/listen przesyła zmiany list i aktualizacje zasobów. Opcje: MCPOptions.Subscriptions. Metoda: CloseSubscriptions.
Poproś klienta o elicitation (formularz lub URL), sampling lub roots z poziomu narzędzia za pomocą aResponse.InputRequired. requestState jest podpisywany HMAC (MCPOptions.MRTR).
io.modelcontextprotocol/tasks dla długo działających narzędzi. Metoda: CreateTask. Opcje: MCPOptions.Tasks.
Autorytatywne źródła protokołów implementowanych przez ten komponent.
Deep-link do dokumentacji komponentu, gotowy do uruchomienia projekt demonstracyjny i pobranie wersji próbnej.
| Projekt demonstracyjny — Demos\AI\MCP\Server Gotowy do uruchomienia projekt przykładowy. Dostarczany wewnątrz pakietu sgcWebSockets — pobierz wersję próbną poniżej. | Otwórz | |
| Dokument techniczny (PDF) Funkcje, szybki start, przykłady kodu dla Delphi i C++ Builder oraz odniesienia do źródeł pierwotnych — tylko ten komponent. | Otwórz | |
| Podręcznik użytkownika (PDF) Kompleksowy podręcznik obejmujący każdy komponent biblioteki. | Otwórz |
TsgcWSAPIServer_MCP, ustaw MCPOptions.HttpOptions.Port i MCPOptions.ServerInfo, podłącz handlery OnMCPRequest*, a następnie ustaw Active := True. Hostuje on punkt końcowy JSON-RPC na bazie serwera HTTP sgcWebSockets.
TransportOptions i EndpointOptions.
OnMCPRequestTool dla wywołań narzędzi, OnMCPRequestPrompt dla promptów i OnMCPRequestResource dla zasobów. Możesz również wypychać aktualizacje do każdej połączonej sesji, na przykład za pomocą SendNotificationToolsListChanged.
RequestRootsList, RequestSamplingCreateMessage i RequestElicitationCreate, dzięki czemu serwer może poprosić połączony klient MCP o roots, uzupełnienia samplingu lub dane wejściowe użytkownika. W MCP 2026-07-28 te same pytania są przekazywane jako Multi Round-Trip Requests: handler narzędzia wypełnia aResponse.InputRequired, na przykład za pomocą AddElicitation, a odpowiedzi odczytuje przy ponowionym wywołaniu za pomocą InputResponse.
server/discover, subscriptions/listen, Multi Round-Trip Requests i rozszerzenie Tasks) i zachowuje pełną kompatybilność wsteczną z klientami 2025-11-25 korzystającymi z initialize i sesji. Obie generacje obsługuje ten sam komponent, era jest wykrywana przy każdym żądaniu. Dostępne w sgcWebSockets 2026.10.0 dla Delphi 7 do Delphi 13 oraz w pakiecie .NET.