コンテンツへスキップ

Model Context Protocol

Model Context Protocol (MCP)は、AIエージェントが外部サービスやデータソースと対話できるようにするオープンスタンダードです。これにより、Claude、Claude Code、Codexなどのアプリケーションや、Zed、Cursor、Visual Studio CodeなどのエディタをTuistと相互運用できるようになります。

Tuistは、https://tuist.dev/mcpにサーバーサイドのModel Context Protocolエンドポイントをホストしています。クライアントをこのエンドポイントに接続することで、エージェントはテストインサイト、不安定なテストの分析などを含むTuistプロジェクトデータにアクセスできます。ほとんどのツールは読み取り専用で、認証されたTuistプロジェクトデータにスコープされています。アカウント設定ツールは、認証済みユーザーに必要な権限がある場合、アカウントの一覧表示、組織の作成、プロジェクトの作成、および既存ユーザーの組織への追加を行えます。各ツールは、読み取り専用かどうか、元に戻しにくい変更を引き起こす可能性があるかどうか、パブリックなインターネット状態を変更できるかどうかを示すアノテーションを公開します。アカウント設定ツールにはユーザー認証が必要です。プロジェクトトークンや通常のアカウントトークンでは利用できません。ユーザーがブラウザでクライアントを承認するか、auth.md登録をクレームすると、Tuistはその認証情報をModel Context Protocolエンドポイント上でのみユーザーに関連付け、設定ツールが要求されたワークフローを完了できるようにします。

Tuistは2026-07-28プロトコルを実装しています。リクエストはステートレスです。クライアントは各リクエストとともにプロトコルメタデータを送信し、初期化なしで直接ツールを呼び出すことができます。server/discoverは、サーバーの識別情報、機能、サポートされているバージョン、および手順を返します。セッション識別子や独立したイベントストリームはありません。2025-06-18または2025-03-26の初期化フローを使用するクライアントも引き続きサポートされており、サーバーセッションなしで動作します。

Model Context Protocol対Skills#

Model Context Protocolツールとスキルは、その機能において重複する可能性があります。現在の重複状況を考慮し、同じフロー内で両方を混在させるのではなく、ワークフローごとに一つのアプローチを選択し、一貫して使用してください。

プラグインインストールをサポートするクライアントの場合、Tuistプラグインを使用して両方を一緒にインストールしてください。

設定#

クライアントのリモートModel Context Protocolサーバーとしてhttps://tuist.dev/mcpを追加してください。サーバーの初期化手順とパブリックサーバーカードは、動的クライアント登録によるOAuth 2.0と標準的なブラウザ承認フローをインラインで説明しており、エージェントに外部の認証ドキュメントを取得したり従ったりすることを求めません。これらのサーバー全体の指示はワークフローガイダンスを一般的なものに保ちます。ツール認証はローカルのコマンドラインツールやビルドシステム統合を認証せず、エージェントは関連するTuistツールを通じて要求された変更を確認する必要があります。ビルドシステム固有の設定と認証チェックは、統合ガイドとプロンプトに記載されています。Tuistは依然として、Open Authorizationディスカバリーメタデータと現在のauth.mdプロトコルをhttps://tuist.dev/auth.mdで個別に公開しています。

このエンドポイントは、古いセッションベースのライフサイクル alongside 2026-07-28ステートレスなModel Context Protocolリクエストライフサイクル(server/discoverを含む)を受け入れます。既存のクライアントは現在の接続方法を継続して使用できます。

Model Context Protocolイベントをサポートするクライアントは、プロジェクトイベントをサブスクライブできます。利用可能なイベントと配信要件については、イベントを参照してください。

すでにリモートブラウザ認証をサポートしているクライアントは、ブラウザでの認証を継続できます。auth.mdをサポートするクライアントとエージェントは、匿名で登録したり、信頼されたプロバイダーのIDアサーションを提示したり、サービス認証された電子メールクレームを開始したりできます。登録によりTuist署名付きのIDアサーションが返され、エージェントはこれを標準のトークンエンドポイントで1時間有効のアクセストークンと交換します。Tuistは公開署名鍵を公開し、標準的なトークン失効とプロバイダーセキュリティイベントの配信をサポートしています。

認証されていないエージェントは、Model Context Protocolエンドポイントから返されるWWW-Authenticateヘッダーを読み取り、保護リソースメタデータを取得し、認証サーバーメタデータを取得し、そのagent_auth.skillURLに従う必要があります。Tuistは、言語モデル駆動型クライアントがネイティブクライアント統合に頼らずにフローを発見できるように、未承認のレスポンスボディにも同じローカルauth_mdURLを返します。デプロイメントローカルドキュメントは、エンドポイント名、リクエストボディ、クレームポーリング、およびアサーション交換に関する信頼できる情報源です。

エージェントが電子メールクレームを開始する前に、ユーザーにTuistアカウントの電子メールアドレスを確認してもらう必要があります。プロバイダープロファイル、Git設定、環境変数、またはセッションメタデータからそのアドレスを推測してはいけません。

このエンドポイントはmcpスコープグループを使用します。匿名の事前クレーム資格情報は機能を発見し、パブリックな統合ガイダンスを読み取ることができますが、サインインしたユーザーとしては扱われません。ブラウザ承認またはクレーム後、資格情報はユーザースコープとなり、各ツールはダッシュボードと同じ承認チェックを適用します。詳細については、スコープグループのドキュメントを参照してください。

ツールは、認証済みユーザーがすでに読み取り可能なプロジェクトに解決されます。XcodeおよびGradleビルドツールは、ビルドUUIDまたはダッシュボードURLを受け入れます。UUIDは正確に1つのプロジェクトを識別する必要があります。複数のプロジェクトに表示される場合、ツールは別のプロジェクトのレポートを選択する代わりに「見つかりません」を返します。プロジェクトスコープのダッシュボードおよびAPI読み取りは引き続き利用可能です。報告されたアクター識別子は検証されていないラベルであり、資格情報や追加のアクセス権ではありません。

ビルド一覧および詳細ツールは、オプションのtuist_versionメタデータを公開します。XcodeおよびCargoの場合はレポートを行うTuist CLI、Gradleの場合はTuist Gradleプラグイン、Mixの場合はtuist_exライブラリです。Xcodeは、リンクされたプロジェクト生成イベントからtuist_generation_versionも公開します。これはアップロードを行ったCLIとは異なる場合があります。欠損している観測値はnullであり、サーバーや他のレポートから推論されることはありません。Bazelは既存のbazel_versionを使用します。Onceの実行詳細はonce_versionを公開します。これらのフィールドは報告されたバージョンを示すものであり、検証された識別子やワイヤー契約バージョンではありません。RESTビルドエンドポイントも同じメタデータを公開します。既存の統合スキルおよびflaky-testスキルはバージョンフィールドに依存せず、ワークフローの変更は不要です。

Tuistオペレーターが顧客のアカウントを調査する際は、すべての呼び出しを記録するTuistの内部運用ツールを使用します。このエンドポイントへの直接接続では、ユーザー自身のメンバーシップを超えるアクセス権は付与されません。

Claude Code

実行:

bash
claude mcp add --transport http tuist https://tuist.dev/mcp

ヘッドレスなClaude Codeクライアントがモデルに対してネイティブサーバー接続の失敗を公開しない場合、エージェントはホストされたドキュメントを検索したりプロジェクトを編集したりする前に、構成済みエンドポイントの未認証ハイパーテキスト転送プロトコルレスポンスを検査する必要があります。ブラウザ認証が利用できない場合でも、このレスポンスはモデルをデプロイメントローカルのauth.mdドキュメントへ誘導します。

Codex

実行:

bash
codex mcp add tuist --url https://tuist.dev/mcp
codex mcp login tuist

新しいcodex exec実行を開始する前に、ブラウザでのログインを完了してください。Codexは初期化中にTuistサーバーの指示を読み取るため、Gradle最適化リクエストには自動的に認証および検証ワークフローが適用されます。

Claude Desktop

Settings → Connectors → Add custom connectorを開き、以下を設定します:

  • Name:tuist
  • URL:https://tuist.dev/mcp

プロンプトが表示されたら、ブラウザでOpen Authorizationを完了してください。

Pi

PiにはModel Context Protocolクライアントが含まれていません。ソースとセキュリティへの影響を確認した後、サードパーティのpi-mcp-adapter拡張機能をインストールできます:

bash
pi install npm:pi-mcp-adapter

プロジェクトレベルの.mcp.jsonファイルを追加します:

json
{
"mcpServers": {
"tuist": {
"url": "https://tuist.dev/mcp",
"auth": false
}
}
}

authをfalseに設定すると、アダプターのブラウザ認証ハンドラーがTuistの未承認レスポンスを隠蔽することを防ぎます。これにより、ヘッドレスエージェントは返されたauth_mdURLを読み取り、Tuistの登録、IDアサーション交換、およびクレームポーリングフローに従うことができます。交換されたアクセストークンをベアラートークンとして構成するか、エージェントが直接認証済みのModel Context Protocol呼び出しを行うようにします。

ブラウザ認証を希望する場合は、authを"oauth"に設定してください。そのフローの場合、認証が完了するまでPiのリモートプロシージャコールモードで1つのプロセスを生かした状態に保ちます:

bash
pi --mode rpc

コールバック状態を所有するプロセスが終了しているため、保留中のブラウザ認証を別々のpi --print呼び出しに分割しないでください。

OpenCode

Tuist Model Context Protocolサーバーをopencode.jsonに追加します:

json
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"tuist": {
"type": "remote",
"url": "https://tuist.dev/mcp"
}
}
}

その後、サーバーを認証します:

bash
opencode mcp auth tuist
Cursor

Cursor Settings → Tools & Integrations → Model Context Protocol Toolsを開き、以下を追加します:

  • Name:tuist
  • URL:https://tuist.dev/mcp
Visual Studio Code

Command Palette → MCP: Add Serverを使用し、以下の設定でハイパーテキスト転送プロトコルサーバーを構成します:

  • Name:tuist
  • URL:https://tuist.dev/mcp
Zed

Agent panel → Settings → Add Custom Serverを開き、以下を設定します:

  • Name:tuist
  • URL:https://tuist.dev/mcp

エージェントがauth.mdをサポートしている場合、ブラウザを開かずに匿名で開始できます。信頼できるプロバイダーIDがすでにリンクされている場合も、ブラウザなしで完了できます。サービス認証付きメール、匿名クレーム、または初回プロバイダーリンクの場合、エージェントはTuist検証リンクと6桁のコードを表示します。リンクを開き、サインインして、Tuistページでエージェントのコードを入力してください。コードをエージェントに送り返さないでください。Tuistの認証サーバーメタデータは、デプロイメント独自の/auth.mdを直接指しており、そこには正確なリクエストおよびポーリングの形状が含まれています。

ビルドシステム統合には2つの資格情報を使用します#

Model Context Protocolツールで使用される資格情報は、GradleプラグインやBazelのリモートサービスを認証しません。エージェントがGradleまたはBazelの統合を編集または検証する前に、以下を実行する必要があります:

bash
tuist auth whoami --url https://tuist.dev

そのコマンドが認証されていない場合、エージェントは停止し、ユーザーに以下を実行するよう依頼する必要があります:

bash
tuist auth login --url https://tuist.dev

ローカルまたはセルフホスト型デプロイメントの場合、両方のコマンドおよびtuist.toml内のURLを置き換えてください。すべての場所でホスト名のスペルを同一に保ってください。例えば、localhostと127.0.0.1は別々に保存された資格情報を使用します。

機能#

ツール#

以下のツールは、Tuist Model Context Protocolサーバーを通じて利用できます:

すべてのツールは、人間が読める説明と明示的な入力・出力スキーマを公開します。成功した呼び出しは、公開された出力スキーマに準拠した構造化コンテンツを返し、さらに構造化コンテンツをまだ消費できないクライアント向けにテキストとしてシリアル化された同じ結果も返します。

build_run_id、test_run_id、test_case_id、bundle_id、run_id、generation_id、またはcache_run_idなど、単一レコードの識別子を受け取るツールは、そのレコードのTuistダッシュボードURLも受け入れます。識別子を抽出するのではなく、ブラウザからURLを直接貼り付けてください。

ドキュメントおよびコミュニティ検索#

この読み取り専用ツールは、ドキュメントウェブサイトを動かしているのと同じ検索エンジンを使用して、Tuistのドキュメント、アプリケーションプログラミングインターフェースリファレンス、GitHubリリース、コミュニティフォーラム、およびGitHubイシューを検索します。リリース結果には、製品、バージョン、公開日、プレリリースステータスが含まれます。デフォルトでは安定版リリースが検索され、include_prereleasesを使用するとプレリリースを含めることができます。このツールは、https://tuist.dev/mcpにあるTuistホスト型サーバーでのみ利用可能です。

ツール説明必須パラメーター
search_tuist公開されているTuistドキュメント、アプリケーションプログラミングインターフェースリファレンス、GitHubリリース、コミュニティディスカッション、およびGitHubイシューを検索します。オプションで、1つのsource(docs、api_reference、releases、forum、issues)に制限できます。query

ソースに基づく回答#

これらの読み取り専用ツールにより、エージェントはホスト型サーバーと共にデプロイされた正確な公開Tuistソースリビジョンを、現在の動作に依存する回答の信頼できる情報源として使用できます。これらはhttps://tuist.dev/mcpでのみ利用可能です。

互換性のあるクライアントは、初期化中にインラインOAuth認証情報とともに、ツールのソースリビジョン、リンク、および結果制限に関する事実上の説明を受け取ります。これらの説明は、回答スタイルや検証ワークフローを規定するものではありません。ユーザーは、まずask_tuistプロンプトを呼び出さずに直接質問できます。プロンプトは、明示的なソースに基づくワークフローのために引き続き利用可能です。

すべての操作には、並行性、期間、トラバーサル、読み取りバイト数、およびレスポンスサイズに対する固定制限があります。検索およびリスト結果にはtruncatedフィールドとtruncation_reasonフィールドが含まれます。結果が切り捨てられた場合は、結果を網羅的なものとして扱うのではなく、パス、ファイルパターン、または検索語句を狭めてください。

ツール説明必須パラメーター
search_tuist_codeソースファイルを検索することで、現在の動作、デフォルト、構成、機能フラグ、エラー処理、または文書化されていない詳細に関する質問に回答します。結果には、周辺の行、リビジョン固定ソースリンク、およびスキャン統計が含まれます。pattern
list_tuist_files関連するパスが不明な場合に、ソースサブシステムまたは近くのテストを発見します。リストには深度と結果数の上限があります。なし
read_tuist_file関連するパスを見つけた後、実装ファイル、呼び出しサイト、またはテスト内の特定の行範囲を検査します。切り捨てられたレスポンスは、継続のためにnext_start_lineを提供します。path

プロジェクト#

ツール説明必須パラメーター
list_accounts認証済みユーザーが利用可能な個人および組織アカウントハンドルを一覧表示し、各アカウントがプロジェクトを作成できるかどうかを含みます。なし
get_organization組織のメンバーディレクトリを取得します。保留中の招待には、ダッシュボードと同じ管理者権限が必要です。招待受諾トークンは決して返されません。account_handle
create_organization認証済みユーザーのためにTuist組織を作成します。handle
create_project認証済みユーザーがアクセスできるアカウントの下にTuistプロジェクトを作成します。account_handle, project_handle
add_organization_member既存のTuistユーザーを組織に追加するか、既存のメンバーのロールを更新します。user(デフォルト)、admin、またはviewerを受け入れます。ビューアーはダッシュボードと実行を読み取ることができますが、何も変更することはできません。organization_handle, email
invite_organization_member既存のTuistユーザーに属しているかどうかに関係なく、メールアドレスを組織に招待します。Tuistは14日後に期限切れになる受諾リンクをメールで送信します。サーバーがメールを送信できない場合、email_sentはfalseになり、リンクをダッシュボードからコピーする必要があります。user(デフォルト)、admin、またはviewerを受け入れます。組織管理者権限が必要です。organization_handle, email
cancel_organization_invitation保留中の組織招待をキャンセルし、そのリンクを受け付けられないようにします。組織管理者権限が必要です。organization_handle, email
list_projects認証済みユーザーがアクセスできるすべてのプロジェクトを一覧表示します。なし
get_projectプロジェクトの構成と接続されたリポジトリURLを取得します。account_handle, project_handle
connect_project_repositoryプロジェクトを、アカウントのGitHub AppインストールがアクセスできるGitHubリポジトリにリンクします。プロジェクトはリポジトリのデフォルトブランチを採用します。プロジェクト管理者権限が必要です。account_handle, project_handle, repository_full_handle
disconnect_project_repositoryプロジェクトのGitHubリポジトリへのリンクを削除します。プロジェクト管理者権限が必要です。account_handle, project_handle

アカウントトークン#

ツール説明必須パラメーター
list_account_tokensトークンの値を公開せずに、アカウントトークンのメタデータを一覧表示します。account_handle
get_account_tokenトークンの値を公開せずに、アカウントトークンのメタデータを取得します。account_handle, token_id
list_project_tokensトークンの値を公開せずに、プロジェクトトークンのメタデータを一覧表示します。account_handle, project_handle

継続的インテグレーションランナー#

ツール説明必須パラメーター
list_runner_jobsアカウントの継続的インテグレーションランナージョブを一覧表示します。account_handle
get_runner_job継続的インテグレーションランナージョブを取得します。account_handle, workflow_job_id
list_runner_job_steps継続的インテグレーションランナージョブで記録されたステップを一覧表示します。account_handle, workflow_job_id
list_runner_job_metrics継続的インテグレーションランナージョブで記録されたマシンのメトリクスを一覧表示します。account_handle, workflow_job_id
list_runner_job_logs継続的インテグレーションランナージョブでキャプチャされた最大500行のログを一覧表示します。account_handle, workflow_job_id
list_runner_workflowsアカウントの継続的インテグレーションワークフローの集計を一覧表示します。account_handle
list_runner_profilesアカウントの継続的インテグレーションランナープロファイルと、各プロファイルのruns-onラベルを一覧表示します。account_handle
get_runner_catalogランナープロファイルが使用できるマシンの形状とXcodeバージョンを一覧表示します。account_handle
create_runner_profileプラットフォーム、マシンの形状、およびmacOSではXcodeバージョンを指定してランナープロファイルを作成します。オプションで、どのブランチがキャッシュボリュームを保存するかを設定できます。アカウント管理権限またはaccount:runners:writeスコープが必要です。account_handle, name, platform, vcpus, memory_gb
update_runner_profileランナープロファイルのマシンの形状、Xcodeバージョン、またはカスタムキャッシュボリュームの変更を保存するブランチを変更します。省略されたフィールドは値を維持します。アカウント管理権限またはaccount:runners:writeスコープが必要です。account_handle, profile_name
delete_runner_profileユーザーの確認後にランナープロファイルを削除します。デフォルトのプロファイルは削除できません。アカウント管理権限またはaccount:runners:writeスコープが必要です。account_handle, profile_name

ランナーボリュームツールは、Volumesダッシュボードと同じデータを公開します。読み取りツールにはランナーへのアクセスが必要であり、クリアするにはアカウント管理権限またはaccount:runners:writeスコープ、およびユーザーの確認が必要です。

ツール説明必須パラメーター
list_runner_volumes名前とリポジトリでフィルタリングし、ボリュームをソートおよびページネーションします。account_handle
get_runner_volumeリポジトリ、プラットフォーム、容量、使用済みスペース、最終使用日時。account_handle, volume_id
list_runner_volume_jobsページネーションされたジョブとワークフローの参照、キャッシュステータス、ヒット結果、およびマウント時間。account_handle, volume_id
list_runner_job_volumesジョブによってマウントされたボリューム。account_handle, workflow_job_id
get_runner_volume_analyticsストレージ時系列、ジョブ実行、ヒット率、およびトレンド。オプションのvolume_id、start、およびend(ISO 8601)。デフォルトは7日間、最大90日間。account_handle
clear_runner_volume保存されたコンテンツをクリアします。実行中のジョブはプライベートコピーを保持しますが、保存することはできません。後続のジョブは空の状態から開始されます。account_handle, volume_id

一覧はpageとpage_size(最大100)を受け入れます。ボリュームインベントリはさらにnameとrepository(完全一致、AND結合)、sort_by(volume、repository、used_space、capacity、last_used)、およびsort_order(asc、desc)を受け入れます。不明な測定値とヒット結果はnullのままです。キャッシュステータスは、ボリュームの変更が保存されたかどうかを示し、ジョブの成功を示すものではありません。

Webhook#

Webhookツールは、ダッシュボードと同じ管理者専用権限を使用します。配信試行には、エンドポイント用に記録されたリクエストとレスポンスのデータが含まれますが、エンドポイントの署名シークレットは決して含まれません。

ツール説明必須パラメーター
list_webhook_endpointsアカウントのWebhookエンドポイントを一覧表示します。account_handle
get_webhook_endpointWebhookエンドポイントを取得します。account_handle, webhook_endpoint_id
list_webhook_delivery_attemptsエンドポイントの配信試行を一覧表示します。account_handle, webhook_endpoint_id
get_webhook_delivery_attempt配信試行を取得します。account_handle, webhook_endpoint_id, delivery_attempt_id

Xcodeビルド#

Xcode、Gradle、Bazel、Mix、Cargo向けのビルド詳細ツールは、既存のcustom_metadata: {tags, values}構造を公開し、報告された場合はインフラストラクチャの観測値も含みます。値は文字列のまま保持され、不明なキーも保存されます。例えば、tuist.cpu.available_processorsはランタイムで利用可能な論理プロセッサ数を示し、tuist.gradle.max_workersはGradleのワーカ制限、tuist.jvm.max_heap_bytesはJVMヒープ制限であり、ホストメモリではありません。これらは信頼されていないクライアントの観測値であり、検証済みのランナー識別子ではありません。観測値が存在しない場合は欠落したままとなり、インポートされたログや古いクライアントにはインフラストラクチャメタデータが含まれない場合があります。Onceメタデータは、クライアントとプロトコルの調整されたアップデートを待っています。

ツール説明必須パラメーター
list_xcode_buildsプロジェクトのXcodeビルド実行を一覧表示します。account_handle, project_handle
get_xcode_build特定のXcodeビルド実行に関する詳細情報を取得します。これには、生の.xcactivitylogを含むアーカイブの一時ダウンロードURLが含まれます。build_run_id
list_xcode_build_targets特定のXcodeビルド実行のビルドターゲットを一覧表示します。build_run_id
list_xcode_build_files特定のXcodeビルド実行のコンパイル済みファイルを一覧表示します。build_run_id
list_xcode_build_steps記録されたビルドステップを、タイミングと結果とともに、ログテキストなしで一覧表示します。build_run_id
get_xcode_build_step記録されたビルドステップを1つ取得します。これには、そのログと切り捨てフラグが含まれます。build_run_id, step_id
list_xcode_build_issues特定のビルド実行のビルド問題(警告とエラー)を一覧表示します。build_run_id
list_xcode_build_cache_tasks特定のXcodeビルド実行のキャッシュ可能タスク(キャッシュヒット/ミス)を一覧表示します。build_run_id
list_xcode_build_cas_outputs特定のXcodeビルド実行のコンテンツアドレサブルストレージ出力を一覧表示します。build_run_id

list_xcode_build_stepsはデフォルトで20ステップのページを返します(page_sizeにより最大100)。ナビゲーションにはpageとpagination_metadataを使用します。searchを使用してタイトル、プロジェクト、またはターゲットを一致させるか、正確なproject、target、category(例:swiftCompilation)、およびstatus(successまたはfailure)でフィルタリングします。duration_msでソートすると最も遅いものが先頭になり(デフォルト)、start_msでソートすると時系列順になります。ステップIDは同順位を解消し、64ビット精度を完全に保持するために10進数文字列として返されます。IDはビルドごとにスコープされており、ビルド間で一致させてはいけません。

オプションのstart_msとend_msは、ビルド開始からのミリ秒単位の時間範囲と重複するステップを選択します。終了時間は除外されます。どちらのツールも、ビルドUUIDまたはダッシュボードURLをbuild_run_idとして受け入れます。返されたステップidを変更せずにstep_idとして渡し、そのログを取得します。ログはステップあたり最大64 KiBまで保持され、log_truncatedによって省略された出力が示されます。

Xcodeビルドが処理される際、ステップはデフォルトで収集されます。記録されたステップデータは90日間保持されます。一覧レスポンスにはavailabilityが含まれます。記録されたステップが存在する場合はavailable(フィルタに一致するものがなくても)、ビルドがまだ処理中でステップがない場合はprocessing、ステップが記録されていないか期限切れの場合はunavailableとなります。

同じ操作はHTTP APIのGET /api/projects/{account_handle}/{project_handle}/xcode/builds/{build_id}/stepsおよびGET /api/projects/{account_handle}/{project_handle}/xcode/builds/{build_id}/steps/{step_id}で利用可能であり、同じフィルタとページネーションが適用されます。どちらもビルドのプロジェクトへの読み取りアクセスが必要です。

Gradleビルド#

ツール説明必須パラメーター
get_gradle_integration_guide完全な認証、プロジェクト設定、Gradleプラグイン、キャッシュポリシー、および2回ビルドによる検証ワークフローを返します。エージェントは、既存のAndroidまたはGradleプロジェクトを編集する前にこれを呼び出す必要があります。なし
list_gradle_buildsプロジェクトのGradleビルド実行をカスタムメタデータを含めて一覧表示します。オプションのtagパラメータを使用してカスタムタグでフィルタリングできます。account_handle, project_handle
get_gradle_buildビルドメタデータとタスク/キャッシュのカウントを取得します。build_run_id
list_gradle_build_tasksタスクの結果、複合ビルド識別子、キャッシュ可能性、および増分ステータスを一覧表示します。build_run_id
list_gradle_build_steps検索、メタデータ、および重複する時間フィルタを使用して、 timed タスク、構成、および変換を一覧表示します。build_run_id
get_gradle_build_step不透明なIDによって記録されたステップメタデータを検査します。ステップごとのログは利用できません。build_run_id, step_id

GradleおよびBazelのステップ一覧はデフォルトで20件の結果を返し(最大100件)、search、正確なproject、target、category、およびstatus、重複するstart_ms / end_msフィルタ(終了は除外)、およびduration_msまたはstart_msでの順序付けをサポートします。返されたIDは変更せずに渡してください。これらはビルドごとにスコープされています。一覧はtime_originとcoverageを公開します。古いGradleレポートは、ビルド開始がアップロードされていないためfirst_recorded_timestampを使用します。Bazelプロファイルは、trace_profileカバレッジと時間原点としてのprofile_startですべての記録された間隔を公開します。古いビルドは保持されたBEPサマリーにフォールバックします。ソースレコードは90日後に期限切れになります。Bazelの詳細には、公開された場合にサニタイズされたアクションログが含まれます。Gradleの詳細logはnullです。compare_buildsプロンプトはこのカバレッジを使用して、完全なBazelトレースと保持されたサマリーを区別し、より広範な呼び出し出力を確認する前に、エージェントをアクションの結果とログのためのステップ詳細へ誘導します。

保持されたサマリーから返されたBazelステップIDは、一覧表示とステップ取得の間に完全なプロファイルが到着した場合でも読み取り可能です。ステップデータが期限切れになったインデックス付きプロファイルは、利用不可と報告されます。Gradleステップ一覧には、ゼロ期間のキャッシュ済みおよびスキップされた操作が含まれます。

Bazel呼び出し#

ツール説明必須パラメーター
get_bazel_integration_guide認証、プロジェクト設定、Bazel構成、および検証ワークフローを返します。なし
list_bazel_invocationsプロジェクトの完了したBazel Build Event Protocol呼び出しを、ビルドメトリクス、制限された実行タイムライン、クリティカルパス診断、および相関するリモートキャッシュ合計とともに一覧表示します。account_handle, project_handle
get_bazel_invocationビルドメトリクス、制限された実行タイムライン、クリティカルパス診断、および相関するリモートキャッシュ合計を持つ、完了したBazel呼び出しを1つ取得します。account_handle, project_handle, invocation_id
list_bazel_build_steps記録されたBazelプロファイル間隔を、フィルタと明示的なカバレッジとともに一覧表示します。account_handle, project_handle, invocation_id
get_bazel_build_step記録されたBazelステップと、公開されたアクション結果およびサニタイズされたログを確認します。account_handle, project_handle, invocation_id, step_id
list_bazel_invocation_logsBazel呼び出しに対してキャプチャされたサニタイズされたテストログを、実行順に一覧表示します。account_handle, project_handle, invocation_id
get_bazel_invocation_logBazel呼び出しに対してキャプチャされたサニタイズされたテストログを1つ取得します。account_handle, project_handle, invocation_id, invocation_log_id
list_bazel_cache_events操作、エンドポイント、および観測時刻を含む生のBazelリモートキャッシュ観測を一覧表示します。オプションで、特定の呼び出し、結果、または操作に絞り込むことができます。account_handle, project_handle
get_bazel_cache_event生のBazelリモートキャッシュ観測を1つ取得します。account_handle, project_handle, cache_event_id

Cargoビルド#

ツール説明必須パラメーター
list_cargo_buildsプロジェクトのCargoビルドを新しい順に一覧表示します。git_branch、status、is_ci、またはcommandでフィルタリングできます。Cargoテストの実行結果は、このビルド一覧ではなくテストツールを通じて利用可能です。account_handle, project_handle
get_cargo_buildヒット、タスクミス、ヒットレートなど、ビルドメタデータと集計キャッシュカウンターを取得します。account_handle, project_handle, build_id

Mixビルド#

ツール説明必須パラメーター
list_mix_buildsプロジェクトのMix(Elixir)コンパイルビルドを新しい順に一覧表示し、カスタムメタデータを含めます。git_branch、status、is_ci、またはmix_envでフィルタリングできます。account_handle, project_handle
get_mix_buildビルドメタデータ、診断カウント、および依存関係キャッシュの概要を取得します。account_handle, project_handle, build_id

Once実行#

ツール説明必須パラメーター
list_once_runsプロジェクトのOnce実行を新しい順に一覧表示します。kind(build、test、またはgeneric)、status、is_ci、またはgit_branchでフィルタリングできます。完了していない実行のステータスはin_progressです。account_handle, project_handle
get_once_runアクション合計、キャッシュ概要、およびテスト実行の場合はテスト合計を含む実行を取得します。account_handle, project_handle, run_id

Cargoビルド、Mixビルド、およびOnce実行のIDはプロジェクト内で一意です。同じ読み取りはHTTP API経由でGET /api/projects/{account_handle}/{project_handle}/cargo/builds、.../mix/builds、および.../once/runsから利用可能であり、それぞれが1つのIDに対する詳細エンドポイントを持っています。

タスク、アクション、モジュール、ファイル#

これらのプロジェクトスコープのツールは、実行間で永続的なビルドIDを検査します。list_build_entitiesから始め、返された安定したidと同じkindをget_build_entityまたはlist_build_entity_historyに渡し、account_handleとproject_handleも一緒に指定します。ビルドまたは呼び出し識別子は必要ありません。

ツール説明必須パラメーター
list_build_entitiesプロジェクトのビルド全体で見られる、ある種類のタスク、モジュール、アクション、またはファイルを一覧表示します。account_handle, project_handle, kind
get_build_entity選択した期間のネイティブIDと分析情報を持つビルドエンティティを1つ取得します。account_handle, project_handle, kind, id
list_build_entity_historyあるビルドエンティティの記録された実行、コンパイル、またはキャッシュイベントを新しい順に一覧表示します。account_handle, project_handle, kind, id
kindツールチェーン履歴リスト
bazel_actionsBazelアクションBEP報告済みアクション実行
gradle_tasksGradleタスクタスク実行
xcode_modulesXcodeモジュールコンパイルとモジュールキャッシュイベント
once_actionsOnceアクション実行
mix_filesMixコンパイル済みファイルコンパイル
mix_modulesMixコンパイル済みモジュールコンパイル

これらのツールは段階的にロールアウトされており、有効になっているプロジェクトのデータのみを返します。それ以外のプロジェクトでは、空の結果ではなくエラーが返されます。種類は、そのビルドツールチェーンを使用しているプロジェクトでのみ利用可能です。ツールは範囲指定されたstart_at/end_atフィルタ、environment(any、ci、またはlocal)、および正確なbranchを受け入れます。list_build_entitiesはqを受け入れ、list_build_entity_historyは不透明なafter/beforeカーソルをサポートします。不明なタイミングやキャッシュの観測値は、ゼロやミスとして扱われるのではなく、利用不可のままとなります。履歴は、既存の実行ツールを使用したドリルダウンのために、記録された親とネイティブ実行を参照します。

get_build_entityのメトリックにはduration_samplesが含まれ、これはタイミングが記録された観測値の数です。実際のゼロ期間はカウントされますが、タイミングが欠落している場合はカウントされません。この数は観測値の数より少なくなる可能性があります。利用できない期間統計はnullのままとなります。

Xcodeモジュールの期間は、ビルドログで測定されたターゲットコンパイルから取得されます。モジュールキャッシュの解決やコンパイル作業のないターゲットは、期間サンプルに寄与しません。コンパイルの観測値はXcodeビルドを参照し、キャッシュイベントは生成またはキャッシュコマンドを参照します。

Bazelアクションは、ターゲットラベル、ニーモニック、および構成された主要な出力によって識別され、入力依存のキャッシュダイジェストに頼ることなく、個別のアクションと構成を区別します。履歴はBEP報告済みの実行を記録し、キャッシュルックアップやトレースプロファイルのフェーズは記録しません。完全な実行カバレッジには--build_event_publish_all_actionsが必要です。アーティファクトの配信はベストエフォートであるため、観測値が欠落していることが、何も実行されなかった証拠にはなりません。安定したIDや実行開始情報を持たない古いKuraペイロードは受け入れられますが、インデックス化されません。終了時間の測定値が存在しない場合は利用不可のままとなり、実際のゼロ期間はカウントされます。

Mixモジュールの期間は、含まれるファイルのコンパイルを測定するものであり、独立して測定されたモジュールの作業ではありません。Onceアクションは、クライアントがターゲットマッピングを報告した場合、宣言されたターゲット/機能/インデックススロットを使用します。診断ラベルだけでは安定したIDにはなりません。既存のクライアントと実行レベルのツールは変更なくサポートされ続けます。

分析読み取りにはメモリと実行時間の上限があります。クエリがこれらの制限を超えると、ツールは空の結果を捏造する代わりにエラーを返します。

新しい観測値はデプロイ後にインデックス化されます。この機能は既存の実行テレメトリをバックフィルしません。IDメタデータはデータ保持ポリシーの下で、個々の観測値よりも長く存続します。

テスト#

ツール説明必須パラメーター
list_test_runsプロジェクトのテスト実行を一覧表示します。queryフィールドはgit_branch、scheme、およびstatusです。field:"value"は完全に一致し、field~"value"は大文字小文字を区別しない部分文字列に一致し、先頭の-はいずれかの演算子を否定します。例えば、-git_branch~"gh-readonly-queue"はマージキューブランチを除外します。空白で区切られたクエリフィルタと明示的な引数はANDセマンティクスで結合されます。account_handle, project_handle
get_test_runテスト実行の詳細なメトリックを取得します。これには、結果バンドル(.xcresult)とセッションアーカイブの一時的なダウンロードURLが含まれます。test_run_id
list_test_module_runs特定のテスト実行に対するテストモジュール実行を一覧表示します。test_run_id
list_test_suite_runs特定のテスト実行に対するテストスイート実行を一覧表示します。オプションでモジュールによるフィルタリングが可能です。test_run_id
list_test_casesプロジェクトのテストケースを一覧表示します(flakyなどのフィルタをサポート)。account_handle, project_handle
get_test_case信頼性レート、不安定さレート、および実行回数を含む、テストケースの詳細なメトリックを取得します。test_case_idまたはidentifier + account_handle + project_handle
list_test_case_runsテストケース実行を一覧表示します。オプションでテストケースまたはテスト実行によるフィルタリングが可能です。account_handle, project_handle
get_test_case_run特定のテストケース実行の失敗詳細と繰り返しを取得します。test_case_run_id
list_test_case_run_attachmentsテストケース実行の添付ファイルを一覧表示します。各添付ファイルには一時的なダウンロードURLが含まれます。test_case_run_id
list_test_case_eventsミュートやスキップなど、テストケースの状態変化を一覧表示します。test_case_id
update_test_caseテストケースの状態または不安定な分類を更新します。変更により、外部サービスを含む構成されたWebhookエンドポイントにイベントがディスパッチされる場合があります。test_case_idまたはidentifier + account_handle + project_handle
list_xcode_test_targetsテスト実行の選択的テストターゲット結果を一覧表示します。test_run_id
get_coverageコミットまたはブランチの最新の完全なコミットにおいて、プロジェクトとそのターゲットのコードカバレッジを取得します。git_commit_shaまたはbranchがない場合、デフォルトブランチを読み取ります。account_handle, project_handle
list_coverage_filesコミットまたはブランチの最新の完全なコミットにおいて、コミットのコードカバレッジが測定したファイルとその行カバレッジを一覧表示します。search、ソート、およびページネーションをサポートします。account_handle, project_handle
get_coverage_fileコミットまたはブランチの最新の完全なコミットにおいて、ファイルのコードカバレッジとその関数を取得します。各行の実行回数を取得するにはinclude_linesを設定します。account_handle, project_handle, path

コードカバレッジツールは、コードカバレッジが有効になっているアカウントで利用可能です。

バンドル#

ツール説明必須パラメーター
list_bundlesプロジェクトのバンドル(アプリバイナリ)を一覧表示します。オプションでgit_branchおよびtagsでフィルタリングできます(すべてのタグは完全に一致する必要があります)。account_handle, project_handle
get_bundle特定のバンドルに関する詳細情報(カスタムタグを含む)を取得します。bundle_id
get_bundle_artifact_treeバンドルの完全なアーティファクトツリーを、パスでソートされたフラットなリストとして取得します。bundle_id

list_bundlesはtags: ["paid", "production"]を受け入れ、ビルドのフレーバーや環境を区別します。タグは大文字と小文字を区別するラベルで、英字、数字、ハイフン、アンダースコアを含み、最大10個のタグ、各タグは最大50文字です。一覧および詳細結果にはcustom_metadata.tagsが含まれます。ページネーションのカウントとブランチフィルタはタグ付けされた結果に適用されます。tagsを省略すると、フィルタなしの動作が維持されます。無効なタグフィルタはクエリを広げるのではなく、エラーを返します。

ジェネレーション#

ツール説明必須パラメーター
list_generationsプロジェクトのジェネレーション実行を一覧表示します。account_handle, project_handle
get_generation特定のジェネレーション実行に関する詳細情報を取得します。generation_id

キャッシュ実行#

ツール説明必須パラメーター
list_cache_runsプロジェクトのキャッシュ実行を一覧表示します。account_handle, project_handle
get_cache_run特定のキャッシュ実行に関する詳細情報を取得します。cache_run_id
list_xcode_module_cache_targetsジェネレーションまたはキャッシュ実行のモジュールキャッシュターゲットを一覧表示し、追加のハッシュ入力を含む、ターゲットごとのキャッシュヒット/ミスステータスと診断コンポーネントハッシュを表示します。run_id

プレビュー#

ツール説明必須パラメーター
list_previewsプロジェクトの共有可能なアプリプレビューを一覧表示します。account_handle, project_handle
get_previewプレビューとそのビルドの一時的なダウンロードURLを取得します。preview_id
get_latest_preview実行中のアプリバイナリの最新のプレビューを検索します。account_handle, project_handle, binary_id, build_version

オートメーション#

ツール説明必須パラメーター
list_automation_alertsプロジェクトのオートメーションアラートを一覧表示します。account_handle, project_handle
get_automation_alertオートメーションアラートを取得します。alert_id
list_automation_alert_revisionsオートメーションアラートのリビジョン履歴を一覧表示します。アクションの認証情報は編集されています。alert_id
list_project_notification_alertsプロジェクト通知アラートルールを一覧表示します。ダッシュボード設定ページと同じ管理者権限が必要です。Webhookアドレスは編集されています。account_handle, project_handle

イベント#

ステートレスな2026-07-28 Model Context Protocolライフサイクルを使用するクライアントは、events/listを呼び出してイベントとそのペイロードスキーマを発見できます:

イベント送信時期サブスクリプションフィルタ
test_case.marked_flakyテストケースが不安定でない状態から不安定な状態に変更されます。account_handle, project_handle
build.failedローカルまたは継続的インテグレーションのXcode、Gradle、またはBazelビルドが失敗して終了します。account_handle, project_handle
test_run.failedローカルまたは継続的インテグレーションのテスト実行が失敗して終了します。マージされたシャーディング実行または放棄された実行も含みます。account_handle, project_handle
ci_job.failedTuistランナーのジョブが失敗して完了します。account_handle

サブスクリプションを作成するには、クライアントはevents/subscribeをイベント名、上記のargumentsでリストされたハンドル、およびhttps://コールバックURLとwhsec_署名シークレットを含むwebhook配信と共に呼び出します。プロジェクトイベントにはアカウントメンバーシップと対応するテストまたはビルドデータへの読み取りアクセスが必要です。ランナージョブイベントにはアカウントメンバーシップとランナーの読み取りアクセスが必要です。クレーム済みのauth.mdアクセストークン、クレーム済みのアカウントトークン、およびブラウザ認証グラントはサブスクリプションを作成できます。関連する認証情報が無効になると配信は停止します。各ユーザーは最大25件のアクティブなサブスクリプションを保持できます。Tuistはサブスクリプションを保存する前に、コールバックに検証チャレンジを送信します。コールバックは同じchallenge値を含むオブジェクトを返す必要があります。サブスクリプションのデフォルトの有効期間は7日間で、再度サブスクライブすることで更新でき、ユーザーのアクセス権限または認証情報が削除されると配信が停止します。オプションのttlMsは1時間から30日の範囲に制限されます。Tuistはタイムアウトしたコールバックを再試行し、5分間にわたる少なくとも3回の連続したタイムアウト後にサブスクリプションを解除します。コールバックを復元した後、再度サブスクライブしてください。

イベントが発生すると、Tuistはそのリソース識別子とダッシュボードURLをコールバックに送信します。ビルドおよびテスト実行の失敗にはis_ciとgit_branchも含まれるため、クライアントはローカルの失敗を無視したり、ブランチでフィルタリングしたりできます。ビルドイベントにはbuild_systemが含まれます。ランナージョブイベントにはworkflow_job_idとworkflow_run_idの両方が含まれます。リクエストにはサブスクリプション識別子とStandard Webhooks署名ヘッダーが含まれており、クライアントはその発信元を検証できます。Tuistは失敗した配信を再試行するため、クライアントは安定したeventIdを使用して重複を除外する必要があります。ペイロードにはテスト名、ログ、および失敗メッセージは含まれません。クライアントは上記のツールを通じてこれらの詳細を取得し、チームに通知するかデバッグを開始するかを決定できます。クライアントはevents/unsubscribeを使用して配信を停止できます。

プロンプト#

プロンプト説明
fix_flaky_test失敗パターンを分析し、根本原因を特定して、対象を絞った修正を適用することで、不安定なテストの修正をガイドします。
compare_builds2つのビルド実行を比較して、パフォーマンスの低下、キャッシュの変更、およびビルドの問題を特定するためのガイドです。XcodeプロジェクトとGradleプロジェクトの両方で動作します。
compare_test_runs2つのテスト実行を比較して、回帰、新しい失敗、および不安定なテストを特定するためのガイドです。
compare_bundles2つのバンドルを比較して、アーティファクトツリー全体のサイズ変更を特定するためのガイドです。
compare_test_case2つのブランチまたは期間にわたるテストケースの動作を比較するためのガイドです。
compare_generations2つのジェネレーション実行を比較して、パフォーマンスの低下とモジュールキャッシュの変更を特定するためのガイドです。
compare_cache_runs2つのキャッシュ実行を比較して、キャッシュの有効性の変化とターゲットレベルの回帰を特定するためのガイドです。
integrate_gradle_project既存のGradleプロジェクトにTuistを統合するためのガイドです。個別のツールとGradleの認証、アカウントの検出、プロジェクトの作成、リモートキャッシュポリシー、ビルドインサイト、および読み戻し検証が含まれます。
integrate_bazel_projectBazelプロジェクトの作成または選択、コマンドラインの認証、リモートキャッシュとビルドインサイトの構成、およびTuistビルドデータを通じた統合の検証をガイドします。
integrate_xcode_project既存のXcodeプロジェクトにTuistを統合するためのガイドです。Xcodeキャッシュ、ビルドインサイト、テストインサイト、およびテストシャーディングをサポートします。
ask_tuist公開資料をコンテキストとして使用し、焦点を絞った実装とテスト証拠を現在の動作の真の情報源として、Tuistに関する質問に回答します。questionが必要で、リビジョン固定の証拠を引用します。

プロジェクトデータのプロンプトは、調査を特定のプロジェクトに限定するためにaccount_handleとproject_handleを受け入れます。比較プロンプトは、比較する2つの項目(ID、ダッシュボードURL、またはブランチ名で指定)を指定するためにbaseとhead引数も受け入れます。ask_tuistはプロジェクトパラメーターの代わりにquestionを受け入れます。integrate_gradle_projectは、適用するGradle統合のカンマ区切りリストであるfeaturesも受け入れます:remote_cache、build_insights、test_insights、flaky_tests、およびtest_sharding。integrate_bazel_projectは、セルフホスト型またはローカルインストール用のオプションのserver_urlを受け入れます。integrate_xcode_projectは、xcode_cache、build_insights、test_insights、およびtest_shardingを含むfeaturesを受け入れます。

Gradle統合プロンプトの機能#

integrate_gradle_projectプロンプトとget_gradle_integration_guideツールは、完全なセットアップワークフローを文書化しています。このツールはサーバーの初期化手順でも参照されており、プロンプトを列挙しないエージェントによって発見可能になります。

機能エージェントが構成する内容
remote_cacheGradleのビルドキャッシュを有効にし、Tuistのリモートキャッシュアップロードポリシーを構成し、ローカルでの読み取り専用使用を持つ継続的インテグレーションランナーからのみアップロードすることを推奨します。
build_insights必要に応じてTuist Gradleプラグインを適用し、ビルドアナリティクスのアップロード動作を構成します。
test_insightsTuist Gradleプラグインを適用し、GradleのTestタスクの結果が自動的にアップロードされるようにします。
flaky_tests不安定なテストの検出、オプションのGradle Test Retryプラグインの使用、およびテスト検疫の構成のためのセットアップをガイドします。
test_shardingtuistPrepareTestShards、シャードマトリックス生成、およびTUIST_SHARD_INDEXベースのテスト実行のための継続的インテグレーションワークフローを追加します。

featuresが省略された場合、プロンプトはエージェントに、ユーザーが望む統合を明確にするか、Gradleプロジェクトを編集する前にリクエストから最小限の実用的なセットを推論するように求めます。

Xcode統合プロンプトの機能#

integrate_xcode_projectプロンプトは、TuistがサポートするすべてのXcode統合を文書化しています:

機能エージェントが構成する内容
xcode_cachetuist setup cache、生成されたプロジェクトのキャッシュ設定、手動のXcodeキャッシュビルド設定、および継続的インテグレーションランナーに限定されたアップロードポリシーを構成します。
build_insightstuist inspect build、tuist xcodebuild、-resultBundlePath、およびtuist setup insightsを通じたオプションのマシンメトリクスを構成します。
test_insightstuist inspect test、スキーマテストのポストアクション、および継続的インテグレーションテスト実行のための結果バンドル生成を構成します。
test_shardingTUIST_SHARD_INDEXを使用したXcodeまたは生成されたプロジェクトのシャード計画とシャード実行ワークフローを追加します。

featuresが省略された場合、プロンプトはエージェントに、ユーザーが望む統合を明確にするか、Xcodeプロジェクトを編集する前にリクエストから最小限の実用的なセットを推論するように求めます。