Delphi MCP サーバー
Delphi で Model Context Protocol (MCP) サーバーを構築します。AI アプリケーションにツール、リソース、プロンプトを公開できます。
Delphi で Model Context Protocol (MCP) サーバーを構築します。AI アプリケーションにツール、リソース、プロンプトを公開できます。
独自のツール、プロンプト、リソースを、任意の MCP 対応 LLM クライアントに公開できます。sgcWebSockets HTTP サーバー上で、HTTP および HTTP Streamable トランスポートに対応した JSON-RPC エンドポイントをホストします。
TsgcWSAPIServer_MCP
Model Context Protocol サーバー、仕様 2026-07-28 (2025-11-25 との後方互換)
Windows, macOS, Linux, iOS, Android
Enterprise (AI アドオン)
HTTP サーバーに接続し、ServerInfo を設定して OnMCPRequest* ハンドラーをフックし、Active := True を設定します。
uses
sgcAI_MCP_Server, sgcAI_MCP_Classes;
var
MCP: TsgcWSAPIServer_MCP;
begin
MCP := TsgcWSAPIServer_MCP.Create(nil);
MCP.MCPOptions.HttpOptions.Port := 8080;
MCP.MCPOptions.ServerInfo.Name := 'sgc-mcp-server';
MCP.MCPOptions.ServerInfo.Title := 'Weather MCP';
MCP.MCPOptions.ServerInfo.Version := '1.0.0';
// ライフサイクル + 受信リクエストハンドラー
MCP.OnMCPInitialize := SrvInitialize;
MCP.OnMCPSessionNew := SrvSessionNew;
MCP.OnMCPRequestTool := SrvCallTool;
MCP.OnMCPRequestPrompt := SrvGetPrompt;
MCP.OnMCPRequestResource := SrvReadResource;
MCP.Active := True;
// 接続中の全セッションに通知をプッシュ
MCP.SendNotificationToolsListChanged;
end;
5 個の published プロパティ、9 個のメソッド、12 個のイベント — コンポーネントリファレンスから抜粋。
メソッド: KeepAlive。
イベント: OnMCPHTTPRequest、OnMCPHTTPResponse。
Published プロパティ: MCPOptions、EndpointOptions、TransportOptions。
Published プロパティ: Version。
プロパティ: Server。
メソッド: RequestRootsList、RequestSamplingCreateMessage、RequestElicitationCreate。
リクエストごとの _meta によるステートレスなリクエスト、server/discover、Mcp-Method / Mcp-Name / Mcp-Param ヘッダーの検証、キャッシュヒント (MCPOptions.Cache)。2025-11-25 のクライアントは、同じサーバー上で引き続き initialize とセッションを利用できます。
subscriptions/listen は、リスト変更やリソース更新をストリームとして配信します。オプション: MCPOptions.Subscriptions。メソッド: CloseSubscriptions。
ツールから aResponse.InputRequired を使って、クライアントに Elicitation (フォームまたは URL)、Sampling、Roots を要求します。requestState は HMAC 署名されます (MCPOptions.MRTR)。
長時間実行するツール向けの io.modelcontextprotocol/tasks。メソッド: CreateTask。オプション: MCPOptions.Tasks。
本コンポーネントが実装するプロトコルの正式な情報源です。
コンポーネントリファレンスへのディープリンク、すぐに実行できるデモプロジェクト、体験版のダウンロードをご利用ください。
| デモプロジェクト — Demos\AI\MCP\Server すぐに実行できるサンプルプロジェクトです。sgcWebSockets パッケージに同梱されています — 下のリンクから体験版をダウンロードしてください。 | 開く | |
| 技術ドキュメント (PDF) 機能、クイックスタート、Delphi および C++ Builder のコードサンプルと一次情報源リファレンス — 本コンポーネントのみ。 | 開く | |
| ユーザーマニュアル (PDF) ライブラリ内のすべてのコンポーネントを網羅した包括的なマニュアルです。 | 開く |
TsgcWSAPIServer_MCP コンポーネントを配置し、MCPOptions.HttpOptions.Port と MCPOptions.ServerInfo を設定し、OnMCPRequest* ハンドラーをフックしてから、Active := True を設定します。sgcWebSockets HTTP サーバー上で JSON-RPC エンドポイントをホストします。
TransportOptions および EndpointOptions の published プロパティで設定します。
OnMCPRequestTool、プロンプトには OnMCPRequestPrompt、リソースには OnMCPRequestResource を使用します。また、接続中の全セッションに対して更新をプッシュすることもできます。たとえば SendNotificationToolsListChanged を使用します。
RequestRootsList、RequestSamplingCreateMessage、RequestElicitationCreate を通じてサーバー発のリクエストに対応しています。これにより、サーバーは接続中の MCP クライアントに対して、roots、sampling 補完、ユーザー入力を要求できます。MCP 2026-07-28 では、同じやり取りはマルチラウンドトリップリクエスト (MRTR) として行われます。ツールハンドラーが(たとえば AddElicitation を使って)aResponse.InputRequired を設定し、再試行された呼び出しで InputResponse によって回答を読み取ります。
server/discover、subscriptions/listen、マルチラウンドトリップリクエスト (MRTR)、Tasks 拡張)を実装しており、initialize とセッションを使用する 2025-11-25 のクライアントとの完全な後方互換性も維持しています。両方の世代は同じコンポーネントで処理され、世代はリクエストごとに検出されます。sgcWebSockets 2026.10.0 の Delphi 7 から Delphi 13、および .NET パッケージで利用できます。