はじめに
2025年7月25日 UiPath Automation Cloudの新機能として MCP (Model Context Protocol) サーバーがプレビューリリース されました。本記事ではUiPath MCPサーバーで実現できることと利用手順について説明いたします。
2025年8月6日現在 UiPath MCPサーバーが利用可能なAutomation Cloudは、Community/Freeプラン、もしくはEnterpriseプランの カナリアテナント です。
Enterpriseプランの通常テナントではまだMCPサーバーは利用できませんが、近日中には利用可能になると思われます。本記事ではカナリアテナントを利用します。
【2025年8月8日追記】通常テナントでもMCPサーバーが利用可能になりました!
UiPath MCPサーバー概要
UiPath MCPサーバーの機能を概略した図です。
主な機能・メリット
- RPAワークフローやAIエージェントをMCPプロトコル経由で実行できます。
- コマンド実行によってコールするMCPサーバーや他のリモートMCPサーバーをプロキシ実行できます。
- 実行環境はAutomation Cloud上に準備されるため新たに用意する必要はありません。
- UiPath MCPサーバーにはStreamable HTTPトランスポート & OAuthで安全にアクセスできます。
つまり機能面で既存RPAワークフローやAIエージェントを各MCPクライアントからコールして連携できるだけでなく、管理面においても 複数のMCPサーバー接続を一元管理し、OAuthでアクセスコントロールすることによってガバナンスを効かせることができる ようになります。
実行可能なRPAやAIエージェント
- UiPath MCPサーバーで実行可能なRPAやAIエージェントは無人実行(Unattended Robotもしくはサーバーレスロボット)のみとなります。
- 有人実行(Attended Robot)にはUiPath MCPサーバーは対応しておりません。有人実行するには非公式のソリューションとなりますが、私が書いたこちらの記事をご参照ください。
基本的な利用手順
実際の利用方法について、まずは基本的な利用手順について説明します。
1. RPAワークフロー作成
MCPサーバーからコールされるRPAワークフローをStudio Webにて作成します。
-
ここでは簡単な例として、テキスト型入力引数
input
を受け取り、出力引数output
として「こんにちは!{input}さん!」を返すだけのワークフローを作成します。 -
mcp-test-workflow
というプロジェクト名で個人用ワークスペースにパブリッシュします。 -
Orchestratorにて入力引数を指定してジョブ実行できることを確認します。
-
正常実行され出力値が正しいことを確認します。
2. MCPサーバー設定
OrchestratorにてMCPサーバーを設定します。
-
Orchestrator > 個人用ワークスペース > MCPサーバー > MCPサーバーを追加 をクリックします。
-
MCPサーバーの種類として UiPath, コード(Coded), コマンド(Command), リモート(Remote) があります。これらの違いは後述しますが、ここでは既定の"UiPath"を選択します。
-
名前はそのままMCPサーバーのエンドポイントの一部として使用されます。ここでは
test
としておきます。 -
説明は任意で追加します。
-
ツールを追加 をクリックします。
-
オートメーションとして
mcp-test-workflow
を選択します。 -
ツールの説明文は実行時にLLMがツールと入力引数を識別しやすくするために重要 です。自動化処理の内容に応じて「名前をinput入力引数として受け取り挨拶を出力」のように具体的に記述し、追加をクリックします。
-
ツールが追加されましたらMCPサーバーの設定は完了です。MCPサーバーのエンドポイントをコピーしてメモしておきます。
3. 個人用アクセストークン取得
MCPクライアントからのアクセス時にOAuthで認可するために個人用アクセストークンを取得します。
-
右上ユーザーアイコン > 設定をクリックします。
-
個人用アクセストークン > Create Token をクリックします。
-
名前と有効期限をセットし、スコープを追加 をクリックします。
-
リソースとして
Orchestrator API Access
を選択し、スコープとしてOR.Execution.Read
とOR.Jobs
を選択し、保存をクリックします。 -
作成をクリックします。
-
表示される個人用アクセストークンをコピーしてメモします。
管理観点の話になりますが、もしMCP利用ユーザーが退職した場合など権限を剥奪したい時は速やかに該当ユーザーを削除します。これによってそのユーザーに紐づく個人用アクセストークンは利用不可となります。
4. MCPクライアント設定と動作確認
MCPクライアントにてMCPサーバーを設定し、RPAワークフローを実行してみましょう。
-
まずはWindows版 Claude Desktop を設定してみます。前提として Node.js をインストールする必要があります。その他のMCPクライアントでの設定手順は 後述しています 。
-
Claude Desktopの設定ファイル(
%AppData%\Claude\claude_desktop_config.json
)をエディターで開き、次のように設定します。 -
{UIPATH_MCP_ENDPOINT}
にはUiPath MCPサーバーのエンドポイント、{UIPATH_ACCESS_TOKEN}
には個人用アクセストークンを設定します。{ "mcpServers": { "uipath-mcp": { "command": "cmd", "args": [ "/c", "npx", "mcp-remote", "{UIPATH_MCP_ENDPOINT}", "--header", "Authorization: Bearer {UIPATH_ACCESS_TOKEN}" ] } } }
-
Claude Desktopを再起動し、検索とツール にて
uipath-mcp
>mcpTestWorkflow
が表示されることを確認します。エラーが出る場合にはmcp関連のログ(%AppData%\Claude\logs
)を確認します。 -
テスト用RPAワークフローがツールとして適切に実行されるよう、次のようなプロンプトを実行してみます:
ひでちゃという名前を渡して挨拶するツールを実行し結果を表示して
-
ツール実行の許可を求めるポップアップが表示されますので「常に許可する」または「一度だけ許可する」をクリックして実行します。
-
正常に実行され、結果が表示されることを確認します。
-
Automation Cloudでもジョブ実行されていることを確認します。
-
ツールが正常に選択されなかったり、入力引数が正常に渡されない場合には、ツールの説明文とプロンプトをより分かりやすく変更して再実行してください。
ここではRPAワークフローをツールとして呼び出しましたが、Agent Builderなどで開発したAIエージェントを呼び出すこともできます。
以上が基本的な利用手順です。
詳細な利用手順
次にUiPath MCPサーバーの詳しい使い方について説明したいと思います。
複数ツールの登録
先ほどは1つMCPサーバーに対して1つのツールを登録しましたが、複数のツールを登録することもできます。
-
たとえば以前作成した2つのワークフロー「実行中のAzure仮想マシン一覧を出力(cloud-resource-report)」と「出力結果を特定のSlackチャンネルに投稿(Slack-Post-Message)」をツールとして登録してみます。これらの実装方法は 【UiPath】MCP x RPA連携手順 (Attendedロボット応用編) をご参照ください。
-
実行中のAzure VMの一覧を作ってSlackのmessage-testチャンネルに投稿して
というプロンプトによって、2つのツールが順次実行され、結果がSlackに投稿されることを確認します。
Coded MCPサーバー
これまでMCPサーバーの種類として"UiPath"を使用してきましたが、他の種類の利用方法についても簡単に説明します。
まず コード(Coded) はPythonコードでMCPサーバーを実装し、Automation Cloudにデプロイして利用可能となります。
- UiPath Coded MCPサーバーを実装するにはUiPath MCP SDKを利用します。
-
クイックスタートガイドの通りコマンド実行し、プロジェクトを作成します。詳しい実装方法は省略しますが FastMCP ライブラリを使用し
@mcp.tool()
デコレーターによって各ツールを定義します。ここでは自動的に生成される数値計算の関数をそのまま使用します。 -
uipath CLIにてパッケージをパブリッシュします。
-
パブリッシュ後は、MCPサーバーの種類として コード(Coded) を選択し、プロセス > + をクリックします。
-
math-server
をパッケージソースとして追加し、次へをクリックします。 -
パッケージ要件は特に変更不要なためそのまま次へクリックします。
-
表示名は
math-server-mcp
と指定し、作成をクリックします。 -
追加をクリックして、MCPサーバーを追加します。
-
様々な数値計算を行う関数がツールとして追加されていることを確認し、エンドポイントをコピーしてメモします。
-
Claude Desktopの設定ファイルを変更して再起動します。動作確認として
uipath-mcpを使って華氏90度は摂氏何度か計算して
とプロンプト実行します。温度変換を行うconvert_temperature
ツールが実行され、正しい結果が返されることを確認します。 -
他にもFastMCPライブラリを使用した既存MCPサーバーがあれば、Automation Cloudにパブリッシュして実行してみると良いと思います。
コマンドMCPサーバー
UiPath MCPサーバーは、npx
や uvx
コマンドなどによって実行されるMCPサーバーにも対応しています。
-
設定手順としては、MCPサーバーの種類として コマンド(Command) を選択します。
-
名前と説明の指定はこれまでと同様ですが、コマンド・引数・環境変数をMCPサーバーの仕様に応じて設定します。
たとえば Amazon Document MCP Server であれば次のように指定します。-
コマンド:
uvx
-
引数:
awslabs.aws-documentation-mcp-server@latest
-
環境の構成:
FASTMCP_LOG_LEVEL=ERROR AWS_DOCUMENTATION_PARTITION=aws
-
コマンド:
-
しばらくするとコマンドがサーバレスロボットでジョブ実行され、ツールが正しく取得できることを確認します。これまでと同様にエンドポイントをコピーして、Claude Desktopの設定ファイルに反映させます。
-
動作確認として
uipath-mcpを使ってAWSアカウントごとのS3バケット作成上限を調べて
というプロンプトを実行します。途中read_documentation
やsearch_documentation
のツールを実行しながらAWSドキュメントを参照し、最終的には回答が生成されることを確認します。
リモートMCPサーバー
UiPath MCPサーバーでは他のリモートMCPサーバーを登録し、プロキシ・ゲートウェイのように利用することもできます。
- 同様のソリューションとして Docker MCP Gateway があり、様々なMCPサーバーへの接続を統合できるメリットがあります。
-
設定手順としては、MCPサーバーの種類として リモート(Remote) を選択します。
-
名前と説明の指定はこれまでと同様ですが、リモートMCPサーバーのURLを指定します。OAuthを使う場合などはヘッダー設定を行います。
注意点:
- リモートMCPサーバーはStreamable HTTPトランスポートのみ対応しており、SSEには非対応です。
- 実行ループ防止のため、Automation Cloudの既存MCPサーバーをリモートMCPサーバーとしては登録できません。
各MCPクライアント設定
- これまでMCPクライアントとしてWindows版 Claude Desktop を使用しましたが、それ以外のMCPクライアントの設定方法について説明したいと思います。設定ファイルの書き方はプロトコルで標準化されていないようで、微妙に違いがあるため調べるのに苦労しました。。。💦
- タイムアウトは3~5分程度に設定することをお勧めします。ツール実行時に裏ではRPAワークフローやAIエージェントが実行されるため待機時間が長くなるためです。既定値ではおそらく1分程度なのでMCPクライアントによっては自動でリトライが走ってしまうため、タイムアウトの設定によってコントロールします。
UiPath MCPサーバーへのリモート接続プロトコルとして Streamable HTTPトランスポート のみに対応しています。古い仕様であるSSE には対応していませんのでご注意ください。
- 以降の各MCPクライアントの設定ファイルで次の部分は環境に応じて変更します。
-
{PROJECT_DIR}
: IDE利用時のプロジェクトディレクトリ -
{UIPATH_MCP_ENDPOINT}
: UiPath MCPサーバーのURL(エンドポイント) -
{UIPATH_ACCESS_TOKEN}
: 個人用アクセストークン
-
Claude Desktop
-
Windows: 前述の通り
-
macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
{ "mcpServers": { "uipath-mcp": { "command": "npx", "args": [ "mcp-remote", "{UIPATH_MCP_ENDPOINT}", "--header", "Authorization: Bearer {UIPATH_ACCESS_TOKEN}" ] } } }
-
一言コメント: MCP本家のClaude Desktopですが、npxを使わずに直接Streamable HTTPトランスポートを指定する方法やタイムアウトの指定方法が筆者では分かりませんでした。ご存じの方はコメントいただけると助かります🙇🏻
VSCode
-
Windows:
%AppData%\Code\User\mcp.json
or{PROJECT_DIR}\.vscode\mcp.json
-
macOS:
~/Library/Application Support/Code/User/mcp.json
or{PROJECT_DIR}/.vscode/mcp.json
{ "servers": { "uipath-mcp": { "type": "http", "url": "{UIPATH_MCP_ENDPOINT}", "headers": { "Authorization": "Bearer {UIPATH_ACCESS_TOKEN}" }, "timeout": 180 } } }
-
一言コメント: typeは
http
です!
Cline
-
Windows:
%AppData%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json
-
macOS:
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
{ "mcpServers": { "uipath-mcp": { "type": "streamableHttp", "url": "{UIPATH_MCP_ENDPOINT}", "headers": { "Authorization": "Bearer {UIPATH_ACCESS_TOKEN}" }, "timeout": 180 } } }
-
一言コメント: typeは
streamableHttp
です!
Roo Code
-
Windows:
%AppData%\Code\User\globalStorage\rooveterinaryinc.roo-cline\settings\mcp_settings.json
or{PROJECT_DIR}\.roo\mcp.json
-
macOS:
~/Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/mcp_settings.json
or{PROJECT_DIR}/.roo/mcp.json
{ "mcpServers": { "uipath-mcp": { "type": "streamable-http", "url": "{UIPATH_MCP_ENDPOINT}", "headers": { "Authorization": "Bearer {UIPATH_ACCESS_TOKEN}" }, "timeout": 180 } } }
-
一言コメント: typeは
streamable-http
です!(なんで統一してくれないんだろう...💦)
Claude Code
-
Windows, Linux, macOS:
~/.claude/settings.json
or{PROJECT_DIR}/.mcp.json
{ "mcpServers": { "uipath-mcp": { "type": "http", "url": "{UIPATH_MCP_ENDPOINT}", "headers": { "Authorization": "Bearer {UIPATH_ACCESS_TOKEN}" }, "timeout": 180 } } }
-
一言コメント: typeは
http
です!
Gemini CLI
-
Windows, Linux, macOS:
~/.gemini/settings.json
{ "mcpServers": { "uipath-mcp": { "httpUrl": "{UIPATH_MCP_ENDPOINT}", "headers": { "Authorization": "Bearer {UIPATH_ACCESS_TOKEN}" }, "timeoutMs": 180000 } } }
-
一言コメント: type指定は不要。タイムアウトはミリ秒です!
MCP Inspectorによるトラブルシューティング
MCPクライアントからうまく接続できない時は MCP Inspector を使い、原因がサーバー側かクライアント側かを切り分けします。
-
MCP Inspectorを使うにはあらかじめ Node.js をインストールしておき、次のコマンドを実行します。
npx -y @modelcontextprotocol/inspector@latest
-
次の起動メッセージとともにローカルで自動的にブラウザーが起動します。
-
次のように設定します。
- Trasnport Type: Streamable HTTP
- URL: MCPサーバーのエンドポイント
- Authenticationをクリックして展開し、API Token Authenticationにて
- Header Name: Authorization
- Bearer Token: 個人用アクセストークン
-
Connect をクリックして接続できることを確認します。
-
Connected状態になりましたら、Tools > List Tools をクリックし、登録したツール一覧を取得します。
-
ツールを選択します。
-
Run Tool をクリックして実行できることを確認します。(※ 引数は指定できないかもしれません)
-
途中でエラーが出る場合には、コンソールメッセージを確認します。
おわりに
- 本記事ではUiPath MCPサーバーの機能概要、MCPサーバー設定手順、各種MCPクライアント設定ファイルの書き方について説明しました。
- この機能によってRPAワークフロー、AIエージェントと各種MCPサーバーとの連携がスムーズに行うことができると期待しています。現時点ではまだプレビューリリースのため将来仕様が変わる可能性がありますが、ぜひ皆さんの環境でお試しいただければ幸いです!