MCP Server
TsgcWSAPIServer_MCP 把一个 sgc HTTP 或 WebSocket 服务器变成 Model Context Protocol 服务器。发布您自己的工具、提示词和资源,任何支持 MCP 的客户端,无论是 IDE 智能体、桌面助手还是您自己的代码,都可以调用进您的应用程序。
TsgcWSAPIServer_MCP 把一个 sgc HTTP 或 WebSocket 服务器变成 Model Context Protocol 服务器。发布您自己的工具、提示词和资源,任何支持 MCP 的客户端,无论是 IDE 智能体、桌面助手还是您自己的代码,都可以调用进您的应用程序。
MCP 的服务器一侧。它在您的端点上解析 JSON-RPC、管理会话,为每个工具、提示词或资源请求触发一个事件,并可以把通知和服务器发起的请求推回客户端。
TsgcWSAPIServer_MCP
为 AI 客户端托管工具
Windows、macOS、Linux、iOS 和 Android
sgcAI 是自包含的。该组件随 sgcAI 一同交付,并附带它所基于的 sgcWebSockets Core 运行时,因此无需购买基础授权。
把该 API 挂到服务器上,填写 ServerInfo,处理请求事件,然后设置 Active。
uses
sgcAI, sgcAI_MCP_Classes, sgcHTTP_Server;
var
oMCP: TsgcWSAPIServer_MCP;
begin
oMCP := TsgcWSAPIServer_MCP.Create(nil);
oMCP.Server := sgcHTTPServer1;
oMCP.EndpointOptions.Endpoint := '/mcp';
oMCP.MCPOptions.ServerInfo.Name := 'sgc-mcp-server';
oMCP.MCPOptions.ServerInfo.Version := '1.0.0';
oMCP.MCPOptions.SessionTimeout := 300;
// Streamable HTTP enables notifications and server to client requests.
oMCP.TransportOptions.Http.Enabled := True;
oMCP.TransportOptions.HttpStreamable.Enabled := True;
oMCP.OnMCPInitialize := SrvInitialize;
oMCP.OnMCPSessionNew := SrvSessionNew;
oMCP.OnMCPRequestTool := SrvCallTool;
oMCP.OnMCPRequestPrompt := SrvGetPrompt;
oMCP.OnMCPRequestResource := SrvReadResource;
sgcHTTPServer1.Active := True;
// Tell every connected session the tool list changed.
oMCP.SendNotificationToolsListChanged;
end;
// includes: sgcAI.hpp, sgcAI_MCP_Classes.hpp, sgcHTTP_Server.hpp
TsgcWSAPIServer_MCP *oMCP = new TsgcWSAPIServer_MCP(NULL);
oMCP->Server = sgcHTTPServer1;
oMCP->EndpointOptions->Endpoint = "/mcp";
oMCP->MCPOptions->ServerInfo->Name = "sgc-mcp-server";
oMCP->MCPOptions->ServerInfo->Version = "1.0.0";
oMCP->TransportOptions->HttpStreamable->Enabled = true;
oMCP->OnMCPRequestTool = SrvCallTool;
sgcHTTPServer1->Active = true;
您最常使用的成员。
Server 指向负责监听的 HTTP 或 WebSocket 服务器,而 EndpointOptions.Endpoint 是 JSON-RPC 请求到达的路径。
ServerInfo 是客户端在握手期间看到的内容。SessionTimeout 让空闲会话过期,TasksSupported 声明 tasks 能力,AuthenticationOptions 涵盖 API 密钥、自定义头部和 OAuth 2.0。
Http.Enabled 通过 POST 提供普通 JSON-RPC。HttpStreamable.Enabled 增加保持连接和 SSE 通知流,正是它让通知和服务器发起的请求成为可能。HttpStreamable.ValidateOrigin 把会话固定到它最初的 Origin 头部。
Tools、Prompts、Resources 和 ResourceTemplates 保存服务器对外声明的内容。您可以在启动时填充它们,也可以在运行时修改并发送对应的列表变更通知。
OnMCPRequestTool、OnMCPRequestPrompt 和 OnMCPRequestResource 是您的代码完成实际工作的地方。OnMCPInitialize、OnMCPSessionNew 和 OnMCPSessionEnd 跟踪会话生命周期,OnMCPException 报告失败。
SendNotificationToolsListChanged、SendNotificationPromptsListChanged、SendNotificationResourcesListChanged、SendNotificationResourcesUpdated 和 SendLogMessage 会把更新推送给已连接的会话。
RequestRootsList、RequestSamplingCreateMessage 和 RequestElicitationCreate 让服务器向客户端索取文件系统根目录、模型补全或用户输入,答复在对应的 OnMCPResponse* 事件中返回。
该组件实现了 MCP 认证流程中授权服务器的一侧,包括动态客户端注册、同意页面、PKCE 和刷新令牌,因此智能体无需借助单独的身份服务即可在您的服务器上完成授权。