Delphi MCP サーバー: ツール

· 機能

sgcWebSockets 2025.9.0 のリリースにより、開発者はサーバーに Model Context Protocol(MCP)機能を直接統合できるようになりました。これには MCP ツールリクエストを処理する機能が含まれており、AI モデルとバックエンドサービス間のダイナミックでインテリジェントな通信を実現する重要なコンポーネントです。

本ガイドでは MCP ツールリクエストの仕組み・TsgcWSAPIServer_MCP サーバーでの処理方法・クライアントや AI エージェントへの構造化されたレスポンスの送信方法を説明します。

MCP ツールリクエストの理解

MCP(Model Context Protocol)エコシステムでは、ツールは AI モデルが呼び出せる機能を表します。たとえばデータベースの照会・メールの送信・API からのデータ取得などです。

MCP サーバーはこれらのツールを WebSocket で公開し、クライアント(AI エージェントなど)が特定のアクションをトリガーするツールリクエストを行えます。sgcWebSockets の TsgcWSAPIServer_MCP コンポーネントはフロー全体を簡素化し、MCP メッセージを自動的にデコードしてサーバーの適切なイベントハンドラーにルーティングします。

MCP ツールリクエストの仕組み

通信フローは一般的に次のようになります:

  1. クライアントがツールリクエストを送信(JSON 形式の MCP メッセージ)して MCP サーバーに届きます。
  2. sgcWebSockets がリクエストを解析し、OnToolRequest のようなイベントをトリガーします。
  3. サーバーがリクエストされたアクションを実行します。たとえば CRM からの読み取り・データベースの照会・計算の実行など。
  4. サーバーが MCP 形式でレスポンスを構築します(結果データやエラーを含む)。
  5. レスポンスがリクエスト元のクライアントに送信されます

各 MCP ツールリクエストは以下で識別されます:

Delphi でのツールリクエスト処理

TsgcWSAPIServer_MCP を使用して MCP サーバーを設定したら、イベントハンドラーで受信したツールリクエストを処理できます。
以下は受信した MCP ツールリクエストのハンドラーを実装する例です。

procedure TMainForm.MCPServerMCPRequestTool(Sender: TObject;
  const ASession: TsgcAI_MCP_Session;
  const ARequest: TsgcAI_MCP_Request_ToolsCall;
  const AResponse: TsgcAI_MCP_Response_ToolsCall);
var
  LA, LB: Double;
begin
  if ARequest.Params.Name = 'math.add' then
  begin
    LA := ARequest.Params.Arguments.Node['a'].AsNumber;
    LB := ARequest.Params.Arguments.Node['b'].AsNumber;
    AResponse.Result.Content.AddText(Format('Sum = %.2f', [LA + LB]));
  end
  else
    AResponse.Result.IsError := True;
end; 

MCP ツールメタデータの使用

MCP API を使用して利用可能なツールのメタデータを登録・公開することもできます。
これにより AI モデルが利用可能なツールを動的に検出し、期待されるパラメーターを理解できます。

たとえば、以下のように宣言できます:

procedure TMainForm.FormCreate(Sender: TObject);
var
  oTool: TsgcAI_MCP_Tool;
begin
  oTool := MCPServer.Tools.AddTool('math.add', 'Adds two numbers');
  oTool.InputSchema.Properties.AddProperty('a', True, aimcpjtNumber, 'Left operand');
  oTool.InputSchema.Properties.AddProperty('b', True, aimcpjtNumber, 'Right operand');
end; 

この情報により AI クライアントがツールの呼び出し方法を自動的に理解し、自己ドキュメント化 AI 統合の作成が容易になります。

まとめ

sgcWebSockets 2025.9.0 の MCP ツールリクエストは、AI モデルと実世界のシステムを接続するシンプルかつ強力な方法を提供します。
TsgcWSAPIServer_MCP コンポーネントとその組み込みツールリクエスト処理を使用することで、以下が可能になります:

詳細情報

MCP API と利用可能なサーバーコンポーネントの詳細については、公式ドキュメントをご覧ください:


👉 sgcWebSockets MCP Tools サーバーリファレンス


以下に Windows 向けの Delphi MCP サーバーデモがあります。