MCP Server 组件 — sgcAI | eSeGeCe

MCP Server

TsgcWSAPIServer_MCP 把一个 sgc HTTP 或 WebSocket 服务器变成 Model Context Protocol 服务器。发布您自己的工具、提示词和资源,任何支持 MCP 的客户端,无论是 IDE 智能体、桌面助手还是您自己的代码,都可以调用进您的应用程序。

TsgcWSAPIServer_MCP

MCP 的服务器一侧。它在您的端点上解析 JSON-RPC、管理会话,为每个工具、提示词或资源请求触发一个事件,并可以把通知和服务器发起的请求推回客户端。

组件类

TsgcWSAPIServer_MCP

用途

为 AI 客户端托管工具

平台

Windows、macOS、Linux、iOS 和 Android

sgcAI 是自包含的。该组件随 sgcAI 一同交付,并附带它所基于的 sgcWebSockets Core 运行时,因此无需购买基础授权。

把您的工具发布给 AI 客户端

把该 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 请求到达的路径。

MCPOptions

ServerInfo 是客户端在握手期间看到的内容。SessionTimeout 让空闲会话过期,TasksSupported 声明 tasks 能力,AuthenticationOptions 涵盖 API 密钥、自定义头部和 OAuth 2.0。

TransportOptions

Http.Enabled 通过 POST 提供普通 JSON-RPC。HttpStreamable.Enabled 增加保持连接和 SSE 通知流,正是它让通知和服务器发起的请求成为可能。HttpStreamable.ValidateOrigin 把会话固定到它最初的 Origin 头部。

目录

ToolsPromptsResourcesResourceTemplates 保存服务器对外声明的内容。您可以在启动时填充它们,也可以在运行时修改并发送对应的列表变更通知。

请求事件

OnMCPRequestToolOnMCPRequestPromptOnMCPRequestResource 是您的代码完成实际工作的地方。OnMCPInitializeOnMCPSessionNewOnMCPSessionEnd 跟踪会话生命周期,OnMCPException 报告失败。

通知

SendNotificationToolsListChangedSendNotificationPromptsListChangedSendNotificationResourcesListChangedSendNotificationResourcesUpdatedSendLogMessage 会把更新推送给已连接的会话。

服务器发起的请求

RequestRootsListRequestSamplingCreateMessageRequestElicitationCreate 让服务器向客户端索取文件系统根目录、模型补全或用户输入,答复在对应的 OnMCPResponse* 事件中返回。

内置 OAuth 2.0

该组件实现了 MCP 认证流程中授权服务器的一侧,包括动态客户端注册、同意页面、PKCE 和刷新令牌,因此智能体无需借助单独的身份服务即可在您的服务器上完成授权。

规范与参考资料

该组件所用服务和协议的权威资料来源。

继续探索

在线帮助sgcAI 组件的完整 API 参考和使用指南。
所有 sgcAI 组件浏览全部 15 个组件的完整功能矩阵。
下载免费试用版把您自己的应用程序逻辑暴露给 AI 客户端。
价格Single、Team 和 Site 授权,均含完整源代码,无需基础产品。
超值之选:All-AccesseSeGeCe 全部产品,含高级支持,每年 €1,059 起。
查看 All-Access 价格

准备好开始了吗?

下载免费试用版,让 AI 智能体通过 MCP 调用您的应用程序。