概要
IBM watsonx OrchestrateはIBMが提供するAI Agentプラットフォームです。watsonx OrchestrateはMCPツールとしてPythonランタイムもサポートしていますが、2025/07時点では公式ドキュメントに詳細を見つけられませんでした。試行錯誤の結果、uvxを使用することで簡単にPythonで公開されているMCPサーバーをツールとして登録できることがわかりました。
背景
IBM watsonx Orchestrateの公式ドキュメントでは、ランタイムとしてNodeとPythonの両方がサポートされていることが明記されています。しかし、Pythonでの具体的な利用方法については詳細が不足していました。
NodeのMCPサーバー利用方法(参考)
Nodeで作成されたMCPサーバーの場合は、npx
を使用して簡単にMCPサーバーを利用できます。
npx <package-name>
npxの動作原理:
- ローカルにpackageがあるかチェック
- なければリモートからダウンロード
- 実行
PythonでのMCPサーバー利用方法
Pythonで同様の動作を実現するには、uvxを使用します。uvxは最近よく見るパッケージ管理ツールのuvの付属的なコマンドで、uv tool run
のエイリアスです。uvxはPyPIからパッケージを取得し、npxと同様の機能を提供します。
使用例:mcp-server-fetch
今回はAnthropicが提供しているmcp-server-fetchを使用しました。このパッケージはPyPI上で公開されており、uvxで直接実行可能です。
設定方法
watsonx Orchestrateのツール設定画面で、以下のようなコマンドを設定するだけです:
uvx mcp-server-fetch
参考までに、以下コマンドでは動きませんでした。
python -m mcp_server_fetch
まとめ
- watsonx Orchestrate はMCPサーバーとしてPythonランタイムをサポートしているが、公式ドキュメントに詳細記載なし
-
npx
(Node)と同様にuvx
(Python)を使用することで、PyPI上のMCPサーバーを簡単に登録・実行可能 - npxとuvxの両方が使えることで、NPMとPyPIにあるMCPサーバーを利用でき、選択肢が大幅に広がる
- これにより、watsonx Orchestrateでできることが飛躍的に増加
参考リンク
IBM watsonx Orchestrate
MCP Server
uv / uvx
Node.js