Delphi MCP Bileşenleri — Model Context Protocol İstemcisi ve Sunucusu
Delphi uygulamalarını Model Context Protocol aracılığıyla yapay zeka ekosistemine bağlayın: TsgcWSAPIServer_MCP, uygulamanızın araçlarını, istemlerini ve kaynaklarını yapay zeka modellerine sunar; TsgcWSAPIClient_MCP ise MCP uyumlu herhangi bir sunucuyu tüketir. Aynı kitaplık, OpenAI, Anthropic Claude ve Google Gemini için yapay zeka API istemcileriyle birlikte gelir.
Yapay zeka modelleri ile uygulamanız arasındaki köprü
MCP, büyük dil modellerini harici araçlara ve verilere bağlamak için yükselen standarttır. Her yapay zeka sağlayıcısı için ayrı bir özel entegrasyon yerine tek bir protokol uygularsınız.
Delphi'de Model Context Protocol, mevcut VCL veya FMX uygulamanızın yapay zekanın erişebildiği bir hizmete dönüşebilmesi anlamına gelir. Protokol JSON-RPC tabanlıdır ve üç temel öğe tanımlar: araçlar (türlendirilmiş parametrelere sahip çağrılabilir fonksiyonlar), istemler (bağımsız değişkenlerle yeniden kullanılabilir şablonlar) ve kaynaklar (URI adresleme yoluyla sunulan veriler). Bir MCP sunucusu bunları yayımlar; bir MCP istemcisi (Claude Desktop, Cursor veya kendi Delphi uygulamanız) bunları keşfeder ve çağırır.
Sunucu bileşeni bir sgcWebSockets HTTP sunucusuna takılır ve hem stdio hem de HTTP taşımalarını destekler; böylece aynı kod, onu bir alt süreç olarak başlatan masaüstü yapay zeka asistanına da ağ üzerinden çağıran uzak bir ajana da hizmet eder. İstemci bileşeni, HTTP veya HTTP Streamable üzerinden JSON-RPC konuşur ve tüm katalog yüzeyini kapsar: başlatma, araçları listeleme ve çağırma, istemleri alma, kaynakları okuma, ayrıca etkileşimli yapay zeka iş akışları için örnekleme (sampling) ve bilgi isteme (elicitation).
Her iki bileşen de MCP 2026-07-28 spesifikasyonunu uygular: istek başına _meta ile durumsuz istekler, server/discover, subscriptions/listen, Multi Round-Trip Requests ve Tasks uzantısı. 2025-11-25 ile geriye dönük uyumlu kalırlar. Aynı sunucu her iki dönemi de yanıtlar ve istemci, bir sunucu yalnızca eski protokolü konuştuğunda otomatik olarak geri döner.
MCP Sunucusu
TsgcWSAPIServer_MCP: araçlar, istemler, kaynaklar, stdio ve HTTP taşımaları
MCP İstemcisi
TsgcWSAPIClient_MCP: MCP uyumlu herhangi bir sunucuyu keşfedin ve çağırın
Delphi 7'den RAD Studio 13'e, C++Builder 10.1 Berlin'den 13'e, Lazarus 4.4.0
ÖZELLİKLER
Protokolün her iki tarafı
Sunucu, istemci ve MCP'nin sunduklarını tüketen yapay zeka sağlayıcı istemcileri.
Türlendirilmiş şemalara sahip araçlar
Tools.AddTool, çağrılabilir bir fonksiyonu ve InputSchema özelliklerini kaydeder; çağrılar, ayrıştırılmış bağımsız değişkenler ve yapılandırılmış bir yanıt nesnesiyle OnMCPRequestTool olayına gelir.
İstemler & kaynaklar
Bağımsız değişkenlere sahip yeniden kullanılabilir istem şablonları ve URI adresli kaynaklar; OnMCPRequestPrompt ve OnMCPRequestResource aracılığıyla sunulur.
İstemci katalog yüzeyi
Initialize, ListTools, ListPrompts, ListResources, ListResourceTemplates, ardından olay güdümlü yanıtlarla RequestTool / RequestPrompt / RequestResource.
Örnekleme & bilgi isteme
İstemci, protokolün iki etkileşimli uzantısı olan MCP örneklemeyi (sunucunun istediği yapay zeka modeli etkileşimi) ve bilgi istemeyi (iş akışının ortasında kullanıcı girdisi toplama) destekler.
Kimlik doğrulama
İstemci tarafı kimlik doğrulama seçenekleri, AuthenticationOptions.ApiKey aracılığıyla API anahtarlarını içerir; OAuth2 korumalı MCP sunucuları için bloga bakın.
MCP 2026-07-28
Durumsuz istekler, server/discover, doğrulamalı Mcp-Method / Mcp-Name / Mcp-Param başlıkları, önbellek ipuçları (ttlMs, cacheScope) ve yeni hata kodları. İstemcideki MCPOptions.ProtocolEra, Auto, Modern veya Legacy seçer.
Multi Round-Trip Requests
Bir araç, aResponse.InputRequired aracılığıyla elicitation (form veya URL), sampling ya da roots ister; istemci OnMCPInputRequired içinde yanıt verir ve HMAC ile imzalanmış requestState ile yeniden dener.
Subscriptions & Tasks
subscriptions/listen, liste değişikliklerini ve kaynak güncellemelerini akış olarak iletir. io.modelcontextprotocol/tasks uzantısı (CreateTask) uzun süren araçları arka planda çalıştırır; istemci bileşeni bunu MCPOptions.Tasks.Enabled ile yoklar ya da doğrudan TasksGet ile alır.
MCP istemci OAuth
MCPOptions.Authorization: korumalı kaynak metadata discovery, Client ID Metadata Documents, dinamik kayda geri dönüş, resource indicators ile PKCE, RFC 9207 iss doğrulaması ve sağlayıcı başına kimlik bilgileri.
İki taşıma
Alt süreç olarak başlatılan sunucular için stdio (Claude Desktop modeli) ve ağ dağıtımları için HTTP. Tek bileşen, her iki kanal.
Yapay zeka istemci ailesi
Modellerle doğrudan da konuşun: OpenAI, Anthropic Claude ve Google Gemini'ye karşı sohbet, akış ve fonksiyon çağırma; ayrıca aynı yapay zeka ailesinde DeepSeek, Grok, Mistral ve Ollama.
Çapraz platform
Windows 32/64, Linux 64, macOS (Intel ve ARM), iOS ve Android. Tasarım zamanı bileşenleriyle VCL ve FireMonkey.
Sürüm
MCP sunucusu, MCP istemcisi ve yapay zeka API istemcileri, sgcWebSockets'in Enterprise sürümü özellikleridir.
HIZLI BAŞLANGIÇ
Delphi'de bir MCP sunucusu ve bir MCP istemcisi
Sunucuda türlendirilmiş bağımsız değişkene sahip bir araç kaydedin; istemciden keşfedin ve çağırın.
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;
Bir yapay zeka modelinin, denetimli ve türlendirilmiş araçlar aracılığıyla uygulamanızın verilerini sorgulamasına izin verin. Salt okunur veya okuma-yazma, her çağrıda işleyiciniz karar verir.
İş otomasyonu
CRM, ERP veya destek kaydı işlemlerini MCP araçları olarak sunun; böylece doğal dil talimatları mevcut Delphi iş mantığını yönetir.
Yapay zeka destekli masaüstü araçları
Eski bir uygulamanın işlevselliğini bir stdio MCP sunucusuyla sararak Claude Desktop gibi asistanların erişimine açın.
Çok adımlı yapay zeka iş akışları
Alma, işleme ve eylem için araçları ve kaynakları, Delphi tarafından yönetilen tek bir yapay zeka güdümlü ardışık düzende zincirleyin.
İLGİLİ
sgcWebSockets'te MCP ve yapay zeka hakkında daha fazlası