uipath-mcp-servers について
UiPath Orchestrator の Agent Gateway と `uip agenthub` コマンドラインを使い、MCP サーバーとツールを管理するスキルです。サーバーのライフサイクル、ツール設定、接続確認、クライアント接続用 URL の取得を扱います。
主な機能
- 01MCP サーバーの作成と管理
- 02サーバーツールの更新
- 03接続とツールの確認
- 04UiPath 項目のツール化
- 05platform サーバーツールの設定
- 06クライアント接続 URL の取得
活用シーン
- 01Agent Gateway MCP サーバーの設定
- 02プロセスやエージェントのツール化
- 03サーバー接続とツールの確認
- 04platform サービスのツールを検索
MCP 対応
`uip agenthub mcp` と `mcp-tools` による MCP サーバーとツールの管理を案内します。クライアントが接続する MCP URL の取得も扱います。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ uipath/ skills --skill uipath-mcp-serversインストール後、Claude Code で/uipath-mcp-serversを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/tools-guide.mdtroubleshooting-guide.mdupdating-servers-guide.md詳細
UiPath Agent Gateway MCP サーバー
Agent Gateway は、MCP サーバーと A2A エージェントのための Orchestrator のハブです:概要、MCP サーバーの種類。このスキルでは、その MCP サーバーを扱います。CLI グループ名は agenthub です。uip agenthub mcp でサーバーを管理し、uip agenthub mcp-tools で各サーバーのツールを管理します。
このスキルを使用する場面
サーバー — uip agenthub mcp。platform 名を調べるには uip agenthub platform-services/platform-tools も使用します:
- あらゆる種類の MCP サーバーを作成、更新、削除、一覧表示、取得したり、ツールを更新したりします(それぞれを使う場面についてはサーバーの種類を参照)。
- サーバーが機能するかどうかを確認します:Integration Service の接続と、そのツール(サーバーの確認を参照)。
- MCP クライアントが接続する
McpUrlを取得します。 platformサーバーが公開できる UiPath サービス名とツール名を調べます。
ツール — uip agenthub mcp-tools:
- Orchestrator のプロセス、エージェント、エージェント型プロセス、または API ワークフローを
uipathサーバー上のツールとしてバインドし、編集または削除します。 platformサーバー上のツールを追加または削除します。- あらゆるサーバーのツールを一覧表示または取得します。
このスキルの対象外: MCP ツールを呼び出すエージェント → uipath-agents。uip CLI 自体を MCP サーバーとして実行する方法(uip mcp serve)→ uipath-platform。A2A エージェント(uip agenthub remote-a2a-agent --help。これを扱うスキルはありません)。MCP サーバー自体の作成(uipath-mcp Python SDK、FastMCP、セルフホスト型ランタイム)を扱うスキルはありません:uipath-mcp クイックスタートを参照してください。
重要なルール
CLI の --help には記載されていない注意事項です。
-
スラッグは
mcp listの出力どおりに指定してください。 作成時、CLI はスラッグを検証しません。--slugを指定しない場合、CLI は--nameを小文字に変換し、他の文字を-に置き換えて送信しますが、その結果は3文字未満または50文字超になる場合があります。サービスでは^[a-z0-9-]+$かつ3~50文字(表示名は3~100文字)が必要なため、必ず--slugを指定してください。サービスはスラッグより先に表示名でサーバーを検索するため、別のスラッグが返される引数をmcp get、mcp update、refresh-tools、およびすべてのmcp-tools ... --mcpに渡すと、拒否されます('<INPUT>' resolves to the MCP server '<SLUG>' …)。表示名や GUID は絶対に渡さないでください。mcp deleteはスラッグ以外を指定すると404を返します。 -
すべてのサーバーコマンドにフォルダーを指定してください。 フォルダーコンテキストにコマンドごとの指定方法が記載されているとおり、
--folder-key <FOLDER_KEY>(GUID)または--folder-path <FOLDER_PATH>(名前またはParent/Child)を渡します。両方を同時に指定しないでください。スラッグに対する404は、通常、フォルダーが間違っています。mcp list --all-foldersでサーバーを探し、そのFolderKeyを指定してください。 -
ペイロードは camelCase で、それ以外の CLI 出力はすべて PascalCase です。
--file/--bodyのキーには、API の camelCase 名(name、slug、uri、headers、processKey、targetIdentifierなど)を指定する必要があります。mcp create、mcp update、およびmcp-toolsの create/update 動詞は、--dry-runを使った場合も、別の大文字・小文字の表記でフィールド名を指定すると拒否されます(Payload keys differ from their fields only in case: `Name` should be `name`, …)。各キーの名前を記載どおりに変更してください。フィールド名と一致しないキーは、エラーなしで削除されます。mcp templateとmcp-tools templateは camelCase のペイロードを出力するため、そのまま編集して送信してください。--print-schemaが示すのは camelCase のペイロードのスキーマであり、ペイロード自体ではありません。mcp get、mcp list、すべての create/update の結果、mcp-tools list、および--dry-runの計画は PascalCase で出力されます。コピーした値は、--print-schemaが示す camelCase 名の下に配置してください。mcp getでは、リモートサーバーの URI はArgumentsとして、リモート/swagger ヘッダーはEnvironmentVariablesとしても表示されます。 -
フラグでヘッダーと環境変数を設定します。
remote/swaggerでは--header <NAME>=<VALUE>を、commandでは--env <KEY>=<VALUE>を使用します。createとupdateで、エントリーごとに1回指定します。CLI は、サービスに保存される改行区切りのName:Value/KEY=VALUEの行を送信します。また、名前の重複や改行を含む値は拒否します。ヘッダー値が正確に%ASSETS/<ASSET_NAME>%の場合、呼び出し時に、その Orchestrator アセットの値(サーバーのフォルダーから読み取ったもの)に置き換えられます。アセットには値全体を格納する必要があります(例:Bearer <TOKEN>)。Bearer %ASSETS/<ASSET_NAME>%はそのまま送信されます。別の構文を考案しないでください。Orchestrator は、ポータルの Agent Gateway とジョブにはアセットの値を渡しますが、CLI ログインには渡しません。このようなサーバーで CLI からrefresh-toolsを実行すると、403 で失敗します(トラブルシューティング)。mcp updateでは、--header/--envによって保存済みのエントリーがすべて置き換えられます。シークレットを保持するには、mcp getで****の値とともに表示される名前と正確に同じ名前を使い、"<NAME>=****"を渡します。 -
各変更の結果を確認します。
mcp create/mcp updateは保存されたサーバーを返し、mcp-tools create-resource/create-raw/updateは保存されたツールを返します。また、deleteはすべての削除が成功した場合にのみDeleted: trueを報告します。mcp-tools enable/disableは選択情報を含まないサーバーを返します。uip agenthub mcp-tools list --mcp <SLUG> --folder-path <FOLDER_PATH> --limit 1000 --output-filter "{Names: Items[].Name, Total: Total, Count: Count}" --output jsonで確認してください(フィルターなしの行には、各ツールのスキーマが含まれます)。mcp getでは、シークレットはどちらの場合も****と表示されるため、マスクされた値が保持されたことを証明できません。refresh-toolsはツールの再一覧表示ではなく、Data.Statusで確認します(ルール7)。 -
スカラー形式のフラグは既存の値を保持し、ペイロードは置き換えます。 スカラー形式のフラグを使用すると、
mcp updateはサーバーを読み取り、変更しない保存済みフィールドをすべて含めて送信します。--file/--bodyのペイロードはそのまま送信されます。ペイロードで省略された各フィールドが保持されるかクリアされるかは、ペイロードの表のとおりです。descriptionを省略すると、常にクリアされます。また、selectedToolNames/useAllToolsを含まないplatformペイロードでは選択がクリアされ、「すべてのツール」がオフになります。--print-schemaでは、すべてのフィールドについてこの動作が示されるわけではありません。uipathサーバーでは、toolsを指定せずに更新するとすべてのツールが保持されます。toolsを含むペイロードでは、すべてのツールが置き換えられます。mcp updateを実行する前に、サーバーの更新を読んでください。 -
refresh-toolsの動作はサーバーの種類によって異なります。 新しいcoded、command、またはremoteサーバーには、実行されるまでツールがありません。mcp createの後、およびremoteの--uriを変更した後に実行してください(保存済みのツールは古い URI のままです)。--dry-runの場合もフォルダーが必要です。coded/command:Data: {RuntimeId, Status: "Started"}。Agent Gateway は、サーバーを Orchestrator ジョブとして起動しました(uip or jobs get <RUNTIME_ID> --output json)。ツールリストは、そのジョブがツールを登録したときにのみ変更されます。RuntimeIdを報告し、ツールが更新されたと断言しないでください。remote/swagger:Data: {Status: "Refreshed"}。ツールはすでに保存されています。remote ツールは URI から取得されます。swagger ツールは、保存済みヘッダーを使って再ダウンロードしたswaggerUrlから再生成されます(URL がない場合は、保存済みの仕様から再生成されます)。platform:Data: {Status: "Refreshed"}。サービスはキャッシュされたサービス定義を破棄します。選択は保持されます。uipath/selfhosted:拒否されます。uipathツールはmcp-tools create-resourceから、selfhostedツールはそれを提供するランタイムから取得されます。
-
削除にはスラッグ、フォルダー、
--yesが必要です。mcp deleteとmcp-tools deleteは、--dry-runを指定した場合も含め、--yesがないと実行を拒否し、確認プロンプトも表示しません。指定する前にユーザーの確認を得てください。まず削除対象を一覧表示します(mcp list --limit 1000を実行し、TotalがCountと等しいことを確認します。プレフィックスを指定する場合は--output-filter "Items[?starts_with(Slug, '<PREFIX>')].Slug"を使用します)。各スラッグをNameとともに表示し、その一覧からユーザーが確認したサーバーだけを削除してください。mcp deleteでは、1 回の呼び出しにつきスラッグを 1 つ指定します。各スラッグに対して実行し、その後、再度一覧表示してください。mcp delete --dry-runは、サーバーの存在を確認しません。mcp-tools delete --name <SUBSTR>は、大文字と小文字を区別せず部分文字列で一致させます。複数のツールが一致する場合は、名前が完全一致するものが優先されます。また、--allow-multipleを指定すると、一致するものをすべて削除します。ツール ID はmcp-tools listから取得して使用してください。 -
プラットフォーム名は一覧から取得し、推測しないでください。
--serviceにはplatform-services listの値を、--toolにはplatform-tools listの値を、それぞれ大文字と小文字を含めて正確に指定してください。--toolフラグには 1 つの名前を指定します(「platform」の手順)。サービスは環境によって異なるため、orchestratorがあると決めつけないでください。--toolと--use-all-toolsはどちらか一方を指定し、両方は指定しないでください。どちらも指定しない場合、サーバーにはツールがありません。 -
保存済みの認証情報を別の場所に送ることで、拒否を回避してはいけません。
mcp updateは、保存済みの接続トークンやシークレットヘッダーが送信される状態で、remoteサーバーの接続先オリジン(スキーム、ホスト、ポート)を変更したり、swaggerサーバーの仕様書を別のものに変更したりすることを拒否します。拒否メッセージのInstructions(サーバーの移動)に従ってください。ユーザーの同意なく、拒否を回避するためにヘッダーや接続を削除してはいけません。
フォルダーコンテキスト
| コマンド | フォルダー入力 |
|---|---|
mcp list | --folder-key、--folder-path、--all-folders のいずれかが必須 |
mcp get、mcp create <TYPE>、mcp update(--print-schema、--dry-run を含む)、mcp delete、mcp refresh-tools | --folder-key または --folder-path が必須 |
--mcp を受け取るすべての mcp-tools 動詞 | サーバーのフォルダーが必須。create-resource、create-raw、update は、別のフォルダーにあるターゲットを指定するための --target-folder-key/--target-folder-path も受け取ります |
mcp-tools candidates | 省略可。指定しない場合はテナント全体が対象 |
mcp create <TYPE> --print-schema | 不要(フォルダーフラグは無視されます) |
mcp template、mcp-tools template、platform-services list、platform-tools list | 不要。フォルダーフラグを指定すると unknown option エラーになります |
- フォルダーを検索するには、
uip or folders list --output jsonを実行します。行のKeyを--folder-keyに、Pathを--folder-pathに指定してください。 - 個人用ワークスペースフォルダー(
<USER_EMAIL>'s workspace)は名前では解決できません。--folder-keyを使用してください。 - 同じ名前のフォルダーが入れ子になっている場合、完全なパスが完全一致するフォルダーが選択されます。一致しない場合、CLI は候補を表示します。
Parent/Childまたは--folder-keyを指定して再実行してください。 mcp list --all-foldersは、読み取り可能なすべてのフォルダーにあるサーバーを一覧表示し、各行にFolderKeyを含めます(mcp-toolsには--all-foldersがありません)。読み取りできないフォルダーは、stderr にのみ報告されます。create codedでスカラー値を指定すると、どちらのフォルダーフラグからもペイロードのfolderKeyが設定されます。codedの--file/--bodyでは、folderKeyを自分で指定する必要があります。
CLI を信頼する
uip agenthub mcp create <TYPE> --print-schema --output json— タイプごとの作成ペイロードのフィールドを表示します。ログインもフォルダーも不要です。uip agenthub mcp template <TYPE> --output json—--fileのひな形を作成します。値を編集し、そのまま送信してください。uip agenthub mcp update <SLUG> --folder-path <FOLDER_PATH> --print-schema --output json— そのサーバーのタイプに応じた更新フィールドを表示します。サーバーを読み取るため、ログイン、フォルダー、正確なスラッグが必要です。省略した場合の動作が示されるのは一部のフィールドのみです。ペイロードの表ですべてのフィールドを確認できます。platformの名前はuip agenthub platform-services listとuip agenthub platform-tools listから取得します。platformの手順に記載されたとおりに実行してください。uip agenthub mcp-tools candidates --category <CATEGORY> --output json—uipathサーバー上のツールにできる Orchestrator リソースを表示します。<CATEGORY>∈automation | agent | agentic-process | api-workflow。--categoryが使えるのは、uipathサーバーのツール(candidates、create-resource、create-raw)のみです。uip agenthub mcp get <SLUG> --folder-path <FOLDER_PATH> --output json—McpUrlは、MCP クライアントが接続するエンドポイントです。ユーザーが名前を指定したサーバーを表示するには、mcp listでNameからSlugを探し、mcp getを実行してツールを一覧表示します(ルール 5)。mcp get/mcp listはTypeを数値で出力します。0 はuipath、1 はcommand、2 はcoded、3 はselfhosted、4 はremote、6 はplatform、7 はswaggerです。Statusの 1 は接続済み、0 は未接続です。ツールのTypeは別の数値です。null のフィールドは省略されます。ConnectionIdがなければ、Integration Service 接続はありません。swaggerサーバーでは、mcp getは仕様 URL(SwaggerUrl。インライン仕様の場合は省略)も出力します。読み取れない場合は、標準エラー出力に警告([WARN] Could not read the spec URL …)を表示し、その情報を含めずにサーバーを表示します。--output-filter <JMESPATH>は、各コマンドが出力するキーに対して機能します。キーは PascalCase(Items[].Slug)で、mcp templateと--print-schemaでは camelCase(uri)です。結果も同じ形式のキーになるため、フィルターで出力をペイロードのキーに変換することはできません。mcp listとmcp-tools listは現在のページ(デフォルトは--limit 50)のみをフィルタリングします。--limit 1000を渡し、TotalがCountと一致することを確認してください。platform-services list/platform-tools listでは、--limitを指定しないとフィルターを使用できません。--dry-runは CLI のチェックを実行し、変更を加えずに計画(Code: DryRun)を出力します。mcp update、refresh-tools、mcp-toolsの変更処理ではサーバーの読み取りが引き続き必要です(ログイン、正確なスラッグ、フォルダー)。また、mcp updateの拒否条件はドライランでもすべて適用されます。サービス側の検証は実行されないため、ドライランが正常でも実際の呼び出しが成功するとは限りません。- 失敗時には
ErrorCode、Retry、Message、Instructionsに加え、該当する場合はNextCommand(値はシェル用に引用符で囲まれます)、Errors(400 で拒否されたフィールド)、Context.HttpStatusが出力されます。終了コードではなく、ErrorCode、Retry、Instructionsに基づいて対処してください。NextCommandは通常フォルダーフラグを繰り返しますが、動詞しか示さない場合もあります(platformサーバーではmcp-tools enable --mcp <SLUG>、uipathサーバーではmcp-tools create-resource --mcp <SLUG> --folder-key <GUID>)。実行する前に、フォルダーと必要なフラグを追加してください。 - ほとんどの
--helpの例ではフォルダーフラグが省略されています(mcp delete --dry-runでは--yesも省略され、mcp-tools updateの例では--mcpが省略されています)。また、出力キーの大文字・小文字の形式は実際の出力と異なります。例ではなく、ルール 3 の形式を使用してください。
サーバーのタイプ
uip agenthub mcp create <TYPE>では、--name、--slug、--description、--version、--file/--body/--print-schema、--dry-run、--folder-path/--folder-key、--login-validityを共通で指定できます。スカラー値を指定するフラグ、--file、--bodyのいずれか1つだけを使用してください。CLIでは必須フィールドのチェックは行われません(必須フィールドは--print-schemaで確認できます)。サービスはErrorsとともに400を返します。ただし、--spec-urlもswaggerContentも指定せずにswaggerを作成した場合は、HTTP 409 Either SwaggerUrl or SwaggerContent must be providedで失敗します。
| Type | 種類固有のフラグ | 使用する場面 | ツールの取得元 | 詳細 |
|---|---|---|---|---|
uipath | (なし) | Orchestratorのプロセス、エージェント、エージェント型プロセス、またはAPIワークフローを実行するツールを追加するサーバーです。 | mcp-tools create-resource | ツール、バインド、uipathの更新 |
coded | --process-key <PROCESS_KEY> | 公開済みのコード作成型MCP サーバーパッケージ(uipath-mcp Python SDK、プロセスタイプはMCPServer)です。サーバーのフォルダー内でジョブとして起動します。コード作成型エージェントではありません。 | refresh-tools(非同期) | ペイロード、更新エラー |
command | --command <CMD>、--arg <ARG>(繰り返し指定可、最低1つ)、--env <KEY>=<VALUE>(繰り返し指定可) | Agent Gatewayがサーバーレスジョブ内でコマンド(npx/uvx+パッケージ)として起動する、stdio MCP サーバーです。 | refresh-tools(非同期) | マスクされた値、更新エラー |
remote | --uri <URL>、--header <NAME>=<VALUE>(繰り返し指定可)、--connection-id <CONNECTION_ID>、--use-relay | ベンダーがホストするHTTP MCP サーバー、またはRelay経由で社内ネットワーク内に接続するHTTP MCP サーバーです。 | refresh-tools(同期) | マスクされた値、サーバーの移動、ネットワークエラー |
swagger | --spec-url <URL>、--header <NAME>=<VALUE>(繰り返し指定可)、--use-relay | OpenAPIドキュメントを含むREST APIです。操作ごとにツールが1つ作成されます。 | 作成時およびrefresh-tools時の仕様書(同期) | ペイロード、サーバーの移動、ネットワークエラー |
platform | --service <SERVICE_NAME>、続けて--tool <TOOL_NAME>(繰り返し指定可)または--use-all-tools | UiPathのファーストパーティサービス(例:Test Manager)です。選択したツールセット、または後から追加されるツールも含むすべてのツールを使用します。 | 選択したツール、またはすべてのツール | プラットフォームの選択、プラットフォームエラー |
-
coded:--process-keyは、uip or processes list --folder-key <FOLDER_KEY> --process-type MCPServer --output jsonが返すプロセス(リリース)のKeyGUID であり、ProcessKeyフィールド(パッケージ名)ではありません。プロセスはサーバーと同じフォルダーに存在する必要があります。また、サービスは作成時にそのキーを確認しないため、誤ったキーはサーバーの実行時に初めて問題として現れます。mcp template codedにはprocessKey/folderKeyのプレースホルダーがあるため、両方を GUID に置き換えてください。 -
command: サービスはargumentsをスペースで分割するため、1 つの--argの値にスペースを含めることはできません。 -
remote/swagger:--use-relayを指定しない場合、サービスはプライベートホストをブロックします(URL blocked for security reasons: …)。指定すると、絶対http(s)URL はすべて Relay 経由でアクセスされます(swagger の場合、仕様のダウンロードと API 呼び出しの両方が対象です)。mcp updateでは、--use-relay/--no-use-relayで Relay を切り替えられます。どちらも指定しない場合、設定はそのまま保持されます。--connection-id(remote)は、呼び出しの認証に使われるトークンを持つ Integration Service 接続の GUID です。これは、コネクターuipath-uipath-mcpの OAuth 接続で、コネクターキーを指定したuip is connections list <CONNECTOR_KEY> --all-folders --output jsonから取得します。 -
swagger: テナントで Swagger MCP 機能が必要です(有効でない場合は HTTP 404 になります)。--headerの値は、仕様のダウンロードとすべての API 呼び出しに適用されます。インライン仕様(swaggerContent)は--file/--bodyにのみ指定します。--filterは受け付けられますが、送信されません。作成結果には仕様全体が含まれるため、フィルターしてください(--output-filter "{Slug: Slug, McpUrl: McpUrl}")。 -
platform:uip agenthub platform-services list --output json— ユーザーの表現をDisplayNameと照合し、そのServiceNameを渡します。複数の名前に同じ語句が含まれる場合があります(Test Manager、Test Manager External、Test Manager Performance Testing)。完全一致するものを選び、一致するものがなければ確認してください。uip agenthub platform-tools list --service <SERVICE_NAME> --limit 1000 --output-filter "{Names: Items[].Name, Total: Total}" --output json— ツール名を取得します。フィルターなしの行には JSON スキーマが含まれ、数百 KB に及ぶことがあります。--name <SUBSTR>は検索を行い、Descriptionを含む全行を返します。リクエストに使うツールを選ぶ前に、候補ごとのDescriptionを確認してください(「テストケースを一覧表示する」場合はGet_Automated_Test_Cases_For_FolderではなくGet_test_cases)。選んだ正確な名前をユーザーに伝えてください。uip agenthub mcp create platform --name <NAME> --slug <SLUG> --service <SERVICE_NAME> --tool <TOOL_NAME> --tool <TOOL_NAME> --folder-path <FOLDER_PATH> --output jsonを実行するか、--toolの代わりに--use-all-toolsを指定します。uip agenthub mcp-tools list --mcp <SLUG> --folder-path <FOLDER_PATH> --limit 1000 --output-filter "{Names: Items[].Name, Total: Total, Count: Count}" --output json— 公開されるツールを取得します(All tools サーバーでは、そのサービスのすべてのツールが対象です)。
mcp getでは、サービスはArguments、モードはUseAllToolsとして表示されます。テナントで Platform MCP が有効でない場合、2 つの一覧取得コマンドはPlatform MCP is not enabled on this tenant.で失敗し、create platformと platform のmcp updateは本文のない HTTP 404 を返します。 -
selfhosted/process-assistant:mcp templateはどちらも受け付けますが、mcp createにはこの種類がありません。セルフホスト型サーバーは、uipath-mcpPython ランタイムの起動時に自身を登録します。CLI ではそのサーバーのlist/get/deleteを実行できますが、mcp updateとrefresh-toolsは拒否されます。process-assistantはレガシー値です。
サーバーの更新
mcp update <SLUG> はサーバーを読み込み、そのタイプの更新内容全体を送信します。スカラーのフラグで変更されるのは、フラグで指定した項目だけです。--file/--body と組み合わせることはできません。ペイロードでは、含めなかった項目はペイロードの表のとおり保持またはクリアされます。キーは camelCase とし、type は含めません。どのタイプでも --name、--description、--version を指定できます。そのタイプでは使用できないフラグは拒否されます(単一のフラグの場合は applies となり、<FLAGS> apply only to <TYPES> servers; '<SLUG>' is a <TYPE> server. が表示されます)。--service も拒否されます。
| タイプ | 変更方法 |
|---|---|
uipath | ほかのフラグはありません。ツールは保持されます。ツールを変更するには mcp-tools を使用します。ペイロードの tools リストで、すべてのツールが置き換えられます(ガイド)。 |
coded | --process-key。folderKey はサーバー自身のフォルダーに保持されます。 |
command | --command、--arg(引数をすべて置き換えます)、--env(変数をすべて置き換えます。ルール 4)。 |
remote | --uri、--header(すべて置き換えます。ルール 4)、--use-relay/--no-use-relay、--connection-id <CONNECTION_ID> または --clear-connection(どちらも指定しない場合、接続は保持されます)。 |
swagger | --spec-url(仕様を再ダウンロードし、ツールを再生成します)、--header(すべて置き換えます)、--use-relay/--no-use-relay。 |
platform | --tool(選択内容全体を置き換えます)、--use-all-tools/--no-use-all-tools。これらを指定しない場合、選択内容とモードは保持されます。All tools サーバーでは、--tool に --no-use-all-tools が必要です。 |
selfhosted、process-assistant | 拒否されます。 |
タイプごとのペイロードフィールド、uipath のツールリスト、マスクされた値、サーバーを別のホストに移動する方法については、references/updating-servers-guide.md を参照してください。
サーバーの確認
Agent Gateway の Check connection はサーバーの Integration Service 接続をテストし、Refresh tools はサーバー自体をテストします。
- 接続:
mcp getで取得したConnectionIdを使って、uip is connections ping <CONNECTION_ID> --force-refresh --output jsonを実行します(ConnectionIdがない場合、そのサーバーには確認対象の接続がありません)。Data.Status: "Enabled"は接続が有効であることを示します。それ以外のステータスではConnection '<CONNECTION_ID>' is not enabled (status: <STATUS>).というエラーになります。Expiredの接続は、所有者が再度サインインする必要があります(uip is connections edit <CONNECTION_ID>、またはポータルの Integration Service を使用)。ユーザーにその旨を伝えてください。これを回避するために、接続を作成、切り替え、またはクリアしてはいけません。 - サーバー:
refresh-tools(ルール 7)。remoteとswaggerでは、Refreshedは Agent Gateway がサーバー(または仕様)に自身の認証情報で接続し、一覧表示されたツールを保存したことを意味します。mcp-tools listで確認してください(ルール 5)。失敗した場合は原因が示されます(トラブルシューティング)。coded/commandではジョブを開始するだけです。サーバーにユーザーごとの接続がある場合は呼び出し元自身の接続を使い、ない場合はサーバーのConnectionIdを使って認証します。CLI ではユーザーごとの接続を一覧表示できません。 refresh-toolsは書き込み操作です。remoteとswaggerでは、ツールリストのいずれかのフィールドが保存済みのものと異なると、すべてのツールが新しい ID で再作成され、ツールのガードレールが削除されます。ユーザーがサーバーの確認だけを依頼した場合は、実行前にそのことを伝えてください。
ツール(uip agenthub mcp-tools)
| 動詞 | 対象 |
|---|---|
create-resource、create-raw、update、delete | uipath サーバーのみ |
enable、disable | platform サーバーのみ |
list、get --name <NAME> | すべての種類 |
get <TOOL_ID> | platform 以外のすべての種類(404:そのツールは保存されていません) |
template、candidates | サーバーは不要です |
- リソースをバインドする:
mcp-tools candidates --category <CATEGORY> --name <SUBSTR> --output json(1ページ、デフォルトは50件。--nameで絞り込み、Nameの隣に行のFolder.Nameを表示)から行を選び、uip agenthub mcp-tools create-resource --mcp <SLUG> --name <NAME> --description "<DESCRIPTION>" --category <CATEGORY> --target-identifier <RESOURCE_ID> --target-folder-key <RESOURCE_FOLDER_KEY> --folder-path <FOLDER_PATH> --output jsonを実行します。行のIdとFolder.Keyを指定してください。--description(サービスで必須です。行にない場合は、リクエストから説明を作成してください)と--categoryは必ず指定してください。candidates --nameは部分一致です(EchoAgentではCoded copy of EchoAgentも見つかります)。Nameが完全一致する行を選び、一致するものがない場合や複数ある場合は、それぞれのNameとFolder.Nameを表示してユーザーに確認してください。誤った行を選んでも動作するツールが作成されるため、結果のTargetIdentifierがその行のIdと一致することを確認してください。 - プラットフォームの選択:
uip agenthub mcp-tools enable/disable --mcp <SLUG> --name <TOOL_NAME> --folder-path <FOLDER_PATH> --output json(--nameは繰り返し指定可能)で、指定したツールを追加または削除し、残りのツールはそのままにします。All tools サーバーでは、enableは何も変更せず、disableは拒否されます。先にuip agenthub mcp update <SLUG> --no-use-all-tools --folder-path <FOLDER_PATH> --output jsonを実行してください。これにより、すべてのツールが選択された状態は維持されます。サービスで定義されていない名前に対するdisableは拒否されます(Tools not found in the <SERVICE_NAME> service: …)。一方、サービスでは定義されていてもサーバーで選択されていない名前に対するdisableは成功し、何も変更しません。先にツールを一覧表示し、その名前が含まれていない場合は実行せずにユーザーに伝えてください。 - ツールを編集する: ツール自体のフィールドは
mcp-tools update <TOOL_ID>で変更し、サーバーはmcp updateで変更します。ID はmcp-tools listから取得してください。--nameは部分一致で、複数一致する場合は、名前が完全一致するツールが優先されます(大文字と小文字は区別されます)。編集できるのはuipathツールのみです。それ以外の種類のツールは、それぞれのソース(URI、仕様、コマンド、パッケージ、サービス)から取得され、refresh-toolsはそのソースから再構築します。 mcp-tools templateは camelCase のペイロードを出力します(ルール3)。create-rawはスカラー値のフラグを無視するため、--file/--bodyと一緒にのみ使用してください。mcp-tools update --renameはNameを変更します。MCP クライアントに表示される名前であるMcpNameは変更しません。
フラグ、デフォルト値、対象フォルダー、update、delete、get、ページ分割については、references/tools-guide.md を参照してください。ほとんどの内容は uipath および platform サーバー向けです。それ以外の種類では、一覧表示のセクションのみが該当します。
トラブルシューティング
Payload keys differ from their fields only in case: …— ルール 3 に従って、各キーの名前を変更します。mcp getまたはmcp-tools listからコピーしたキーは PascalCase です。--descriptionを指定せずにcreate-resourceを実行すると HTTP 400 が返される —--descriptionを指定します。AgentHub requires a folder context. …— フォルダフラグを追加します(フォルダーコンテキスト)。No folder named '<NAME>' was found.— タイプミス、または個人用ワークスペースです。Keyを--folder-keyとして指定します。'<INPUT>' resolves to the MCP server '<SLUG>', …— 保存済みの<SLUG>を指定します(ルール 1)。<INPUT>が別のサーバーのスラッグである場合は、先に<SLUG>の名前を変更します。スラッグに対して HTTP 404 が返される — フォルダーが間違っているか、スラッグではありません(ルール 1、2)。--uri moves '<SLUG>' to another origin, …/--spec-url gives '<SLUG>' a new spec, …(または--file/--bodyの場合はThe payload's …)— ルール 10。This command requires a <EXPECTED_TYPE> MCP server; <SLUG> is <TYPE>.—mcp-toolsの動詞は、そのタイプには適用されません。coded/command/remote/swaggerの場合は、NextCommand(refresh-tools)を実行します。platformの場合、NextCommandは--nameもフォルダーも指定せずにmcp-tools enableを指定しています。両方を追加します。Platform MCP is not enabled on this tenant.、またはcreate platformで HTTP 404 が返される — このテナントでは機能が無効です。別のテナントまたはサーバータイプを使用します。
リファレンスの案内
- references/updating-servers-guide.md — タイプごとのペイロードフィールド、
uipathサーバーの更新、マスクされた値、サーバーの別のホストへの移動。 - references/tools-guide.md —
uipathサーバーのmcp-tools(バインド、更新、削除、対象フォルダー)とplatformサーバー(選択)。任意のタイプのツールの一覧表示と読み取り。 - references/troubleshooting-guide.md — その他すべての
uip agenthubメッセージと、その修正方法。
やってはいけないこと
- プラットフォームサービス名やツール名を推測したり、
orchestratorと決めつけたりしないでください(ルール 9)。 - PascalCase の CLI 出力をそのままペイロードに貼り付けないでください(ルール 3)。
- スラッグを指定する箇所に、表示名や GUID を渡さないでください(ルール 1)。
- ユーザーが削除を確認する前に
--yesを渡さないでください(ルール 8)。 Status: "Started"が返された場合、coded/commandの更新が完了したと報告しないでください(ルール 7)。- 省略されているフォルダフラグを追加せずに、
--helpの例をコピーしないでください。