Componentes MCP Delphi — Cliente e Servidor Model Context Protocol
Conecte aplicações Delphi ao ecossistema de IA através do Model Context Protocol: TsgcWSAPIServer_MCP expõe as tools, prompts e resources da sua aplicação a modelos de IA, e TsgcWSAPIClient_MCP consome qualquer servidor compatível com MCP. A mesma biblioteca traz clientes de API de IA para OpenAI, Anthropic Claude e Google Gemini.
MCP é o padrão emergente para conectar grandes modelos de linguagem a ferramentas e dados externos. Em vez de uma integração customizada por provedor de IA, você implementa um único protocolo.
Model Context Protocol em Delphi significa que sua aplicação VCL ou FMX existente pode se tornar um serviço acessível por IA. O protocolo é baseado em JSON-RPC e define três primitivas: tools (funções chamáveis com parâmetros tipados), prompts (templates reutilizáveis com argumentos) e resources (dados expostos por endereçamento URI). Um servidor MCP os publica; um cliente MCP (Claude Desktop, Cursor ou sua própria aplicação Delphi) os descobre e chama.
O componente servidor se acopla a um servidor HTTP do sgcWebSockets e suporta os transportes stdio e HTTP, então o mesmo código atende um assistente de IA desktop que o lança como subprocesso e um agente remoto que o chama pela rede. O componente cliente fala JSON-RPC sobre HTTP ou HTTP Streamable e cobre a superfície completa do catálogo: initialize, listar e chamar tools, recuperar prompts, ler resources, além de sampling e elicitation para fluxos de IA interativos.
Os dois componentes implementam a especificação MCP 2026-07-28: solicitações sem estado com _meta por solicitação, server/discover, subscriptions/listen, Multi Round-Trip Requests e a extensão Tasks. Eles mantêm retrocompatibilidade com 2025-11-25. O mesmo servidor responde às duas eras, e o cliente recorre automaticamente ao protocolo antigo quando um servidor só fala a versão mais antiga.
Servidor MCP
TsgcWSAPIServer_MCP: tools, prompts, resources, transportes stdio e HTTP
Cliente MCP
TsgcWSAPIClient_MCP: descubra e chame qualquer servidor compatível com MCP
Do Delphi 7 ao RAD Studio 13, C++Builder 10.1 Berlin ao 13, Lazarus 4.4.0
Recursos
Os dois lados do protocolo
Servidor, cliente e os clientes de provedores de IA que consomem o que o MCP expõe.
Tools com schemas tipados
Tools.AddTool registra uma função chamável e as propriedades do seu InputSchema; as chamadas chegam no evento OnMCPRequestTool com argumentos interpretados e um objeto de resposta estruturado.
Prompts & resources
Templates de prompt reutilizáveis com argumentos e resources endereçados por URI, servidos pelos eventos OnMCPRequestPrompt e OnMCPRequestResource.
Superfície de catálogo do cliente
Initialize, ListTools, ListPrompts, ListResources, ListResourceTemplates, depois RequestTool / RequestPrompt / RequestResource com respostas orientadas a eventos.
Sampling & elicitation
O cliente suporta sampling MCP (interação com o modelo de IA solicitada pelo servidor) e elicitation (coleta de entrada do usuário no meio do fluxo), as duas extensões interativas do protocolo.
Autenticação
As opções de autenticação do lado cliente incluem chaves de API via AuthenticationOptions.ApiKey; veja o blog para servidores MCP protegidos por OAuth2.
MCP 2026-07-28
Solicitações sem estado, server/discover, validação dos cabeçalhos Mcp-Method / Mcp-Name / Mcp-Param, sugestões de cache (ttlMs, cacheScope) e os novos códigos de erro. MCPOptions.ProtocolEra no cliente seleciona Auto, Modern ou Legacy.
Multi Round-Trip Requests
Uma ferramenta solicita elicitation (formulário ou URL), sampling ou roots através de aResponse.InputRequired; o cliente responde em OnMCPInputRequired e repete a chamada com o requestState assinado por HMAC.
Subscriptions e tasks
subscriptions/listen transmite mudanças de listas e atualizações de recursos. A extensão io.modelcontextprotocol/tasks (CreateTask) executa ferramentas demoradas em segundo plano, e o componente cliente consulta o status com MCPOptions.Tasks.Enabled ou busca diretamente com TasksGet.
OAuth do cliente MCP
MCPOptions.Authorization: descoberta de metadados de recurso protegido, Client ID Metadata Documents, fallback de registro dinâmico, PKCE com indicadores de recurso, validação de iss conforme RFC 9207 e credenciais por emissor.
Dois transportes
Stdio para servidores lançados como subprocesso (o modelo do Claude Desktop) e HTTP para implantações em rede. Um componente, os dois canais.
Família de clientes de IA
Fale com os modelos diretamente também: chat, streaming e function calling contra OpenAI, Anthropic Claude e Google Gemini, além de DeepSeek, Grok, Mistral e Ollama na mesma família de IA.
Multiplataforma
Windows 32/64, Linux 64, macOS (Intel e ARM), iOS e Android. VCL e FireMonkey, com componentes design-time.
Edição
O servidor MCP, o cliente MCP e os clientes de API de IA são recursos da edição Enterprise do sgcWebSockets.
Início Rápido
Um servidor MCP e um cliente MCP em Delphi
Registre uma tool com argumento tipado no servidor; descubra e chame a partir do cliente.
uses
sgcWebSocket_Server, sgcAI, sgcAI_MCP_Classes, sgcAI_MCP_Server;
procedure TForm1.SetupMCPServer;
begin// Attach the MCP API component to a sgcWebSockets HTTP server
MCPServer.Server := Server;
MCPServer.EndpointOptions.Endpoint := '/mcp';
MCPServer.MCPOptions.ServerInfo.Name := 'sgc-mcp-server';
MCPServer.MCPOptions.ServerInfo.Version := '1.0.0';
// Register a callable tool with a typed argumentwith MCPServer.Tools.AddTool('GetTemperature',
'Get the actual temperature in a city.') do
InputSchema.Properties.AddProperty('city', True);
MCPServer.OnMCPRequestTool := MCPRequestTool;
Server.Port := 8080;
Server.Active := True;
end;
procedure TForm1.MCPRequestTool(Sender: TObject;
const aSession: TsgcAI_MCP_Session;
const aRequest: TsgcAI_MCP_Request_ToolsCall;
const aResponse: TsgcAI_MCP_Response_ToolsCall);
beginif aRequest.Params.Name = 'GetTemperature'then
aResponse.Result.Content.AddText('The current temperature in ' +
aRequest.Params.Arguments.Item[0].Value + ' is 22 Celsius');
end;
Deixe um modelo de IA consultar os dados da sua aplicação através de tools controladas e tipadas. Somente leitura ou leitura e escrita, seu handler decide a cada chamada.
Automação de negócios
Exponha operações de CRM, ERP ou tickets como tools MCP para que instruções em linguagem natural acionem a lógica de negócio Delphi existente.
Ferramentas desktop com IA
Dê a assistentes como o Claude Desktop acesso à funcionalidade de uma aplicação legada envolvendo-a em um servidor MCP stdio.
Fluxos de IA em várias etapas
Encadeie tools e resources para recuperação, processamento e ação em um único pipeline dirigido por IA, orquestrado do lado Delphi.