MCPツールリファレンス
入力はJSONオブジェクトです。未定義フィールドは拒否されます。実際のOpenTester UUIDを使います。全ツールは接続設定にある1つのアプリを対象にします。
| ツール | 必要な権限 | 操作 |
|---|---|---|
list_feedback | feedback:read | フィードバック一覧 |
get_feedback | feedback:read | フィードバック詳細 |
create_change_request | work-items:write | 修正作業作成 |
list_change_requests | work-items:read | 修正作業一覧 |
get_change_request | work-items:read | 修正作業詳細 |
attach_pull_request | work-items:write | 既存GitHub PR URL関連付け |
共通の結果
成功時はREST応答をstructuredContentと、JSON文字列のcontentに返します。例: get_feedbackは{ "feedback": { ... } }を返します。全フィールドはフィードバックAPIと修正作業APIを参照してください。
API・通信失敗はisError: trueとerrorを返します。不正入力は実行前にMCP層で拒否される場合があります。トラブルシューティングを参照してください。
list_feedback
新しいフィードバックから取得します。フィルターを省略するとアプリの全報告が対象です。
| 入力 | 型 | 既定値・範囲 |
|---|---|---|
kind | 任意の文字列 | bugまたはfeedback |
status | 任意の文字列 | open、confirmed、fixed、closed |
limit | 任意の整数 | 既定20、範囲1–50 |
offset | 任意の整数 | 既定0、範囲0–100000 |
{
"kind": "bug",
"status": "open",
"limit": 10,
"offset": 0
}{ feedback: Feedback[], total, limit, offset }を返します。次ページはoffset + limit、totalは条件に合う全件数です。
get_feedback
{
"issueId": "22222222-2222-4222-8222-222222222222"
}issueIdは必須UUIDです。{ feedback: Feedback }にタイトル、説明、再現手順、期待・実際の結果、バージョン、端末情報、種類、状態を返します。報告者名、メール、報酬履歴は含みません。
create_change_request
目標を記録し、1件以上の報告を関連付けます。
| 入力 | 型 | 制約 |
|---|---|---|
title | 必須文字列 | 前後空白除去後1–160文字 |
instructions | 必須文字列 | 前後空白除去後1–10000文字 |
acceptanceCriteria | 任意文字列 | 最大10000文字。既定は空 |
issueIds | 必須UUID配列 | 同じアプリの重複しない報告1–20件 |
clientRequestId | 必須UUID | 作成リクエストの再試行識別子 |
{
"title": "オフライン時の報告送信エラー案内を改善",
"instructions": "報告送信中に接続が切れたら入力を保持し、再試行の案内を表示してください。",
"acceptanceCriteria": "通信失敗後も入力が保持され、復旧後に同じ報告を一度だけ送信できること。",
"issueIds": ["22222222-2222-4222-8222-222222222222"],
"clientRequestId": "33333333-3333-4333-8333-333333333333"
}{ changeRequest: ChangeRequest }を返し、初期状態はopen、pullRequestUrlはnullです。返されたchangeRequest.idを次の呼び出しのchangeRequestIdに使います。
再試行ではIDを維持
新しい作業には例のUUIDを使い回さず、新規生成してください。再試行は元のclientRequestIdと入力を維持します。同じアプリ・作成者・IDで異なる内容はconflictです。別IDでは同じ問題に別作業ができるため、事前に既存作業を確認します。
この呼び出しは記録を保存するだけで、コード変更やエージェント起動は行いません。
list_change_requests
{
"limit": 20,
"offset": 0
}両方任意で、範囲はlist_feedbackと同じです。新しい順の{ changeRequests: ChangeRequest[], total, limit, offset }を返します。状態フィルターはありません。
get_change_request
{
"changeRequestId": "44444444-4444-4444-8444-444444444444"
}必須UUIDを1つ受け、{ changeRequest: ChangeRequest }に指示、完了条件、報告ID、openまたはpr_linkedの状態、PR URLを返します。
attach_pull_request
{
"changeRequestId": "44444444-4444-4444-8444-444444444444",
"url": "https://github.com/example/android-app/pull/42"
}| 入力 | 型 | 制約 |
|---|---|---|
changeRequestId | 必須UUID | 修正作業ID |
url | 必須文字列 | 最大2048文字。https://github.com/owner/repo/pull/正の整数 |
GitHub.comのPRのみ対応します。query、fragment、認証情報、ポート、GitHub Enterprise、GitLabは拒否します。所有者・リポジトリ名を小文字にし、末尾スラッシュを除去します。
{ changeRequest: ChangeRequest }を返し、状態をpr_linkedにします。1作業につきPRは1つです。同じURLの再送は可能で、別のURLはconflictです。
PRの存在、所有権、マージ状態は検証せず、報告状態や報酬も変更しません。作成、レビュー、マージ、デプロイは別のGitHub・CI/CDフローで行います。