Xircuits MCP Component Library について
Xircuits MCP Component Libraryは、Xircuitsのビジュアルプログラミング画面でMCPサーバーを構築するコンポーネント集です。ワークフローでサーバーの機能を定義する開発者向けに、ライフサイクル、ツール、リソース、プロンプト、結果設定の部品を提供します。
主な機能
- 01MCPサーバーの作成と実行
- 02ツール、リソース、プロンプトの定義
- 03実行結果の設定
- 04起動・終了処理の設定
- 05リソースの読み取りと進捗報告
活用シーン
- 01XircuitsのワークフローでMCPサーバーを構築
- 02LLMアプリケーションが呼び出すツールを定義
- 03サーバー起動時と終了時の処理を設定
MCP 対応
ツール、リソース、プロンプトを定義してMCPサーバーを構築し、MCPRunServerで起動できます。構築した機能はMCPクライアントから利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Xircuits MCP コンポーネントライブラリ
Model Context Protocol(MCP)サーバーを実装するための Xircuits コンポーネントライブラリです。このライブラリには、Xircuits のビジュアルプログラミングインターフェースを使って MCP サーバーを簡単に作成、設定、実行するためのコンポーネントが用意されています。
Model Context Protocol(MCP)とは?
Model Context Protocol(MCP)を使うと、LLM アプリケーションにデータや機能を安全かつ標準化された方法で公開するサーバーを構築できます。LLM とのやり取り専用に設計された Web API のようなものと考えてください。MCP サーバーでは、次のことができます。
- リソースを通じてデータを公開します(GET エンドポイントのようなもので、LLM のコンテキストに情報を読み込むために使用されます)。
- ツールを通じて機能を提供します(POST エンドポイントのようなもので、コードの実行やその他の副作用を伴う処理に使用されます)。
- プロンプトを通じてインタラクションパターンを定義します(LLM とのやり取りに再利用できるテンプレートです)。
- さらに多くのことができます!
前提条件
- Python 3.8 以上
- Xircuits
- MCP Python SDK
インストール
このコンポーネントライブラリを使用するには、Xircuits がインストールされていることを確認してから、次のコマンドを実行してください。
xircuits install https://github.com/xpressai/xai-mcp
または、ディレクトリを手動でコピーするか、リポジトリをクローンまたはサブモジュールとして作業中の Xircuits プロジェクトディレクトリに追加してから、次のコマンドでパッケージをインストールできます。
pip install -r requirements.txt
コンポーネント
このライブラリには、MCP サーバーを実装するためのコンポーネントが用意されており、いくつかのカテゴリに分類されています。
サーバー設定コンポーネント
- MCPCreateServer:指定した名前とオプションの依存関係を使用して、FastMCP サーバーインスタンスを作成します。
- MCPRunServer:MCP サーバーを起動し、中断されるまで実行し続けます。
開始ノードコンポーネント
これらのコンポーネントは、MCP サーバーの機能を定義するためのエントリーポイントとして機能します。キャンバスにドラッグして、イベントへの応答を実装できます。
- MCPDefineTool(ロイヤルブルー):MCP サーバーのツールを定義し、LLM がアクションや計算を実行できるようにします。
- MCPDefineResource(ライムグリーン):MCP サーバーのリソースを定義し、URI パターンを通じて LLM がデータにアクセスできるようにします。
- MCPDefinePrompt(ダークオーキッド):MCP サーバーのプロンプトテンプレートを定義し、LLM が再利用できるインタラクションパターンを提供します。
- MCPServerOnStart(ダークオレンジ):MCP サーバーの起動時に実行するコードを定義します。
- MCPServerOnShutdown(ファイアブリック):MCP サーバーのシャットダウン時に実行するコードを定義します。
結果設定コンポーネント
これらのコンポーネントは、開始ノードの本体内で使用し、ツール、リソース、またはプロンプトの実行結果を設定します。
- MCPSetToolResult(ロイヤルブルー):ツールの実行結果を設定します。
- MCPSetResourceResult(ライムグリーン):リソースの実行結果を設定します。
- MCPSetPromptResult(ダークオーキッド):プロンプトの実行結果を設定します。
ユーティリティコンポーネント
- MCPCreateImage:MCP のツールやリソースで使用する Image オブジェクトを作成します。
- MCPGetArgument:args 辞書から引数を取得します。
- MCPReportProgress:長時間実行される操作の進行状況を報告します。
- MCPReadResource:MCP サーバーからリソースを読み取ります。
- MCPCreateUserMessage:プロンプトで使用するユーザーメッセージを作成します。
- MCPCreateAssistantMessage:プロンプトで使用するアシスタントメッセージを作成します。
- MCPCreateMessageList:プロンプトで使用するメッセージのリストを作成します。
使用例
このコンポーネントライブラリを使用して MCP サーバーを作成する方法の例を以下に示します。
- 新しい Xircuits ワークフローを作成します
- MCPCreateServer コンポーネントを追加して、サーバーインスタンスを作成します
- MCPDefineTool、MCPDefineResource、MCPDefinePrompt の開始ノードを追加して、サーバーの機能を定義します
- 各開始ノードにコンポーネントを接続して、ツール、リソース、またはプロンプトのロジックを実装します
- MCPSetToolResult、MCPSetResourceResult、または MCPSetPromptResult を使用して結果を設定します
- 必要に応じて、MCPServerOnStart と MCPServerOnShutdown の開始ノードを追加して、サーバーのライフサイクル動作を定義します
- MCPRunServer コンポーネントを追加して、サーバーを起動します
例:計算ツールの作成
- MCPDefineTool の開始ノードをキャンバスにドラッグします
- 名前を「add」、説明を「2 つの数値を加算」に設定します
- MCPGetArgument コンポーネントを接続して、「a」引数を取得します
- 別の MCPGetArgument コンポーネントを接続して、「b」引数を取得します
- 2 つの数値を加算するコンポーネントを接続します
- MCPSetToolResult コンポーネントを接続して、結果を設定します
例:サーバーのライフサイクル管理
- MCPServerOnStart の開始ノードをキャンバスにドラッグします
- コンポーネントを接続して、リソースの初期化、データの読み込み、その他の起動時タスクを実行します
- MCPServerOnShutdown の開始ノードをキャンバスにドラッグします
- コンポーネントを接続して、リソースのクリーンアップ、データの保存、その他のシャットダウン時タスクを実行します
ドキュメント
ライセンス
Apache License 2.0
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。