Delphi MCP サーバー

Delphi で Model Context Protocol (MCP) サーバーを構築します。AI アプリケーションにツール、リソース、プロンプトを公開できます。

TsgcWSAPIServer_MCP

独自のツール、プロンプト、リソースを、任意の 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。

HTTP

イベント: OnMCPHTTPRequest、OnMCPHTTPResponse。

設定

Published プロパティ: MCPOptions、EndpointOptions、TransportOptions。

診断

Published プロパティ: Version。

サーバー

プロパティ: Server。

サーバー発リクエスト

メソッド: RequestRootsList、RequestSamplingCreateMessage、RequestElicitationCreate。

MCP 2026-07-28

リクエストごとの _meta によるステートレスなリクエスト、server/discover、Mcp-Method / Mcp-Name / Mcp-Param ヘッダーの検証、キャッシュヒント (MCPOptions.Cache)。2025-11-25 のクライアントは、同じサーバー上で引き続き initialize とセッションを利用できます。

Subscriptions

subscriptions/listen は、リスト変更やリソース更新をストリームとして配信します。オプション: MCPOptions.Subscriptions。メソッド: CloseSubscriptions。

Multi Round-Trip Requests

ツールから aResponse.InputRequired を使って、クライアントに Elicitation (フォームまたは URL)、Sampling、Roots を要求します。requestState は HMAC 署名されます (MCPOptions.MRTR)。

Tasks 拡張

長時間実行するツール向けの 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 エンドポイントをホストします。
本コンポーネントは sgcWebSockets に同梱されており、Delphi 7 から Delphi 13 Florence および対応する C++ Builder のバージョンに対応しています。Windows、macOS、Linux、iOS、Android で動作します。
sgcWebSockets HTTP サーバー上で、HTTP および HTTP Streamable トランスポートに対応した JSON-RPC エンドポイントをホストします。トランスポートの動作は、TransportOptions および EndpointOptions の published プロパティで設定します。
受信リクエストイベントを処理します。ツール呼び出しには OnMCPRequestTool、プロンプトには OnMCPRequestPrompt、リソースには OnMCPRequestResource を使用します。また、接続中の全セッションに対して更新をプッシュすることもできます。たとえば SendNotificationToolsListChanged を使用します。
はい。本コンポーネントは、RequestRootsList、RequestSamplingCreateMessage、RequestElicitationCreate を通じてサーバー発のリクエストに対応しています。これにより、サーバーは接続中の MCP クライアントに対して、roots、sampling 補完、ユーザー入力を要求できます。MCP 2026-07-28 では、同じやり取りはマルチラウンドトリップリクエスト (MRTR) として行われます。ツールハンドラーが(たとえば AddElicitation を使って)aResponse.InputRequired を設定し、再試行された呼び出しで InputResponse によって回答を読み取ります。
サーバーは MCP 2026-07-28(ステートレスなリクエスト、server/discover、subscriptions/listen、マルチラウンドトリップリクエスト (MRTR)、Tasks 拡張)を実装しており、initialize とセッションを使用する 2025-11-25 のクライアントとの完全な後方互換性も維持しています。両方の世代は同じコンポーネントで処理され、世代はリクエストごとに検出されます。sgcWebSockets 2026.10.0 の Delphi 7 から Delphi 13、および .NET パッケージで利用できます。
最もお得な選択: All-AccesseSeGeCe の全製品にプレミアムサポートが付いて、年間 €1,059 からご利用いただけます。
All-Access の価格を見る

MCP サーバーを構築する準備はできましたか?

体験版をダウンロードして、数分で構築を開始できます。