A versão 2025.10.0 do sgcWebSockets expande o toolkit de integração com IA com uma implementação de Cliente MCP de nível comercial que mantém suas aplicações Delphi em sintonia com a especificação Model Context Protocol 2025-06-18. Entregue contexto curado, orquestre chamadas de ferramentas e atenda a assistentes cientes de recursos, tudo a partir de um único componente.
O Model Context Protocol (MCP) padroniza como assistentes negociam capabilities e trocam contexto estruturado. Ao adicionar suporte ao Cliente MCP, o sgcWebSockets viabiliza:
- Interoperabilidade de nível enterprise com qualquer assistente em conformidade com MCP, garantindo fluxos consistentes de inicialização e descoberta de capabilities.
- Time-to-market mais rápido para experiências aumentadas por IA em projetos VCL, FMX ou WebBroker existentes graças a um componente Delphi pronto para uso.
- Visibilidade operacional em cada troca JSON-RPC por meio de logging HTTP integrado e hardening de transporte TLS 1.3.
Destaques do TsgcAI_MCP_Client
Handshake MCP turnkey
Execute a negociação do protocolo a partir de uma única chamada Initialize. O cliente anuncia o nome, título e versão semântica do seu produto enquanto respeita o identificador de sessão retornado pelo servidor.
Superfície rica de capabilities
Emita chamadas de métodos prontos para uso, incluindo Ping, ToolsList, ToolsCall, PromptsList, PromptsGet, ResourcesList e ResourcesRead. Cada tipo de resposta é fortemente tipado, tornando o processamento downstream trivial.
Personalização orientada a eventos
Engate-se em eventos granulares — inicialização, ping, descoberta de ferramentas, recuperação de prompts e streaming de recursos — para rastrear e personalizar cada troca antes que ela alcance sua camada de negócio.
O componente incrementa automaticamente os identificadores de requisição JSON-RPC, persiste os identificadores de sessão MCP entre as chamadas e dispara exceções tipadas quando um erro remoto é retornado. A conectividade HTTP é encapsulada dentro do cliente especializado que registra o tráfego e negocia TLS 1.3 com APIs do OpenSSL 3.0.
Visão geral da configuração
- Perfil do cliente: configure
MCPOptions.ClientInfopara apresentar sua solução integrada com assistente com metadados de nome, título e versão. - Endpoint do servidor: defina
MCPOptions.ServerOptions.URLcom o endpoint HTTPS compatível com MCP que você deseja alcançar. - Pilha HTTP: construída sobre
TsgcAI_MCP_HTTP_Client, a camada de transporte é ajustada para tipos de conteúdo JSON, cabeçalhos de sessão automáticos e padrões TLS seguros. - Hooks de observabilidade: inscreva-se em handlers de eventos como
OnMCPToolsCallouOnMCPResourcesReadpara auditar e enriquecer cada transição do protocolo.
Exemplo de integração Delphi
O trecho abaixo ilustra como soltar o Cliente MCP em um data module, inicializá-lo durante o startup e atender a uma resposta de chamada de ferramenta assim que o assistente remoto a solicitar.
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;
