跳转到内容

模型上下文协议 (MCP)

模型上下文协议 (MCP) 是一个让 LLM 与开发环境交互的标准。MCP 使 ClaudeClaude Code 以及 ZedCursorVS Code 等编辑器能够与外部服务和数据源互操作。

Tuist 在 https://tuist.dev/mcp 托管了一个服务端 MCP 端点。通过将你的 MCP 客户端连接到它,AI 代理可以访问你的 Tuist 项目数据,包括测试洞察、flaky 测试分析等。

MCP 和 Skills 在功能上可能有重叠。鉴于两者之间目前存在重叠,建议每个工作流选择一种方法并一致使用(要么 MCP 要么 skills),而不是在同一个流程中混合使用两者。

在你的客户端中添加 https://tuist.dev/mcp 作为远程 MCP 服务器。认证通过 OAuth 自动进行。MCP 端点使用 mcp 作用域组,授予对你所有项目的只读访问权限。详细信息请参阅 作用域组文档

::: details Claude Code 运行:

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

:::

::: details Claude Desktop 打开 设置 → 连接器 → 添加自定义连接器,然后设置:

  • 名称: tuist
  • URL: https://tuist.dev/mcp

出现提示时在浏览器中完成 OAuth。 :::

::: details OpenCode 将 Tuist MCP 服务器添加到 opencode.json

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

然后对服务器进行身份验证:

Terminal window
opencode mcp auth tuist

:::

::: details Cursor 打开 Cursor 设置 → 工具和集成 → MCP 工具 并添加:

  • 名称: tuist
  • URL: https://tuist.dev/mcp :::

::: details VS Code 使用 命令面板 → MCP:添加服务器,然后配置一个 HTTP 服务器:

  • 名称: tuist
  • URL: https://tuist.dev/mcp :::

::: details Zed 打开 代理面板 → 设置 → 添加自定义服务器,然后设置:

  • 名称: tuist
  • URL: https://tuist.dev/mcp :::

以下工具可通过 Tuist MCP 服务器使用:

工具描述必需参数
list_projects列出已认证用户可访问的所有项目。
工具描述必需参数
list_xcode_builds列出项目的 Xcode 构建运行。account_handle, project_handle
get_xcode_build获取特定 Xcode 构建运行的详细信息。接受构建 ID 或 Tuist 仪表板 URL。build_run_id
list_xcode_build_targets列出特定 Xcode 构建运行的构建目标。build_run_id
list_xcode_build_files列出特定 Xcode 构建运行编译的文件。build_run_id
list_xcode_build_issues列出特定构建运行的构建问题(警告和错误)。build_run_id
list_xcode_build_cache_tasks列出特定 Xcode 构建运行的可缓存任务(缓存命中/未命中)。build_run_id
list_xcode_build_cas_outputs列出特定 Xcode 构建运行的 CAS(内容寻址存储)输出。build_run_id
工具描述必需参数
list_gradle_builds列出项目的 Gradle 构建运行。account_handle, project_handle
get_gradle_build获取特定 Gradle 构建运行的详细信息。build_run_id
list_gradle_build_tasks列出特定 Gradle 构建运行的任务,包括结果和缓存状态。build_run_id
工具描述必需参数
list_test_runs列出项目的测试运行。account_handle, project_handle
get_test_run获取测试运行的详细指标。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获取测试用例的详细指标,包括可靠性率、flaky 率和运行次数。test_case_ididentifier + 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_bundles列出项目的 bundle(应用二进制文件)。account_handle, project_handle
get_bundle获取特定 bundle 的详细信息。bundle_id
get_bundle_artifact_tree获取 bundle 的完整工件树,作为按路径排序的扁平列表。bundle_id
工具描述必需参数
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
提示词描述
fix_flaky_test通过分析失败模式、识别根本原因并应用针对性修复,引导你完成修复 flaky 测试的过程。
compare_builds引导你完成比较两次构建运行以识别性能回归、缓存变化和构建问题的过程。适用于 Xcode 和 Gradle 项目。
compare_test_runs引导你完成比较两次测试运行以识别回归、新失败和 flaky 测试的过程。
compare_bundles引导你完成比较两个 bundle 以识别整个工件树中的大小变化的过程。
compare_test_case引导你完成跨两个分支或时间段比较测试用例行为的过程。
compare_generations引导你完成比较两次生成运行以识别性能回归和模块缓存变化的过程。
compare_cache_runs引导你完成比较两次缓存运行以识别缓存效果变化和目标级回归的过程。

所有提示词都接受 account_handleproject_handle 将调查范围限定到特定项目。比较提示词还接受 basehead 参数来指定要比较的两个项目(通过 ID、仪表板 URL 或分支名称)。