返回市场
酱料API-MCP

酱料API-MCP

作者:saucelabs8 星标更新:2025-10-31

项目介绍

Sauce Labs MCP Server

这是一个提供与Sauce Labs测试平台全面集成的Model Context Protocol (MCP)服务器。此服务器使AI助手(LLM客户端)能够通过自然语言对话直接与Sauce Labs设备云交互,管理测试任务,分析构建,并监控测试基础设施。

功能

🚀 核心能力

  • 账户管理:查看账户详情、团队信息和用户权限
  • 设备云访问:浏览超过300种真实设备(iOS、Android)和虚拟机
  • 测试任务管理:检索最近的任务,分析测试结果并调试失败
  • 构建监控:跟踪构建状态,查看作业集合并分析测试套件
  • 存储管理:管理已上传的应用程序和测试工件
  • 隧道监控:检查Sauce Connect隧道的状态和配置

🔧 高级功能

  • 实时设备状态:监控数据中心中的设备可用性和使用情况
  • 跨平台测试:支持虚拟设备云(VDC)和真实设备云(RDC)
  • 测试分析:详细的作业信息包括日志、视频和性能指标
  • 团队协作:多团队支持,具有适当的访问控制

预备条件

  • Python 3.9+
  • pip
  • 具有API访问权限的Sauce Labs账户
  • Gemini CLI、Claude Desktop、Goose或其他LLM客户端

对于Claude Desktop(Mac/Linux)或Gemini CLI

  1. 安装MCP服务器并下载启动脚本

    pip install sauce-api-mcp
    
    curl -o ~/sauce-mcp-launcher.sh https://raw.githubusercontent.com/saucelabs/sauce-api-mcp/refs/heads/main/sauce-mcp-launcher.sh
    chmod +x ~/sauce-mcp-launcher.sh
    
  2. 配置LLM客户端(Claude、Gemini等)

    对于您使用的客户端,您需要编辑配置文件。位置略有不同,因此这里是一些流行的配置文件位置:

Claude

`~/Library/Application\ Support/Claude/claude_desktop_config.json`

Gemini CLI

~/.gemini/settings.json

  1. 添加Sauce Labs MCP服务器配置

    {
      "mcpServers": {
        "sauce-labs": {
        "command": "/path/to/tmp/sauce-mcp-launcher.sh",
          "env": {
            "SAUCE_USERNAME": "your-sauce-username",
            "SAUCE_ACCESS_KEY": "your-sauce-access-key"
          }
        }
      }
    }
    

    sauce-mcp-launcher.sh脚本主要用于在Linux环境中定位Python可执行文件。如果您已经安装了sauce-api-mcp PyPI库,您可以直接通过#exec $PYTHON_CMD -m sauce_api_mcp "$@"调用该库。

    ***注意:如果将SAUCE_USERNAME和SAUCE_ACCESS_KEY配置为环境变量,则无需将其添加到配置块中。

  2. 重启客户端以加载新的MCP服务器。

Goose

首先,从pip安装MCP服务器,并下载启动脚本:

    pip install sauce-api-mcp
   
    curl -o ~/sauce-mcp-launcher.sh https://raw.githubusercontent.com/saucelabs/sauce-api-mcp/refs/
    heads/main/sauce-mcp-launcher.sh
    chmod +x ~/sauce-mcp-launcher.sh

在您的~/.config/goose/config.yaml文件中,添加以下扩展:

sauce-api-mcp:
  args: []
  bundled: null
  cmd: /<path>/sauce-mcp-launcher.sh
  description: Sauce Labs MCP for API
  enabled: true
  env_keys: []
  envs: {}
  name: sauce-api-mcp
  timeout: 10
  type: stdio

确保编辑<path>以反映您的启动脚本位置。

现在您可以提问如下问题:

  • "显示我最近的测试失败"
  • "查找可用于测试的iPhone设备"
  • "分析我最新构建的性能"

配置

必要的环境变量

  • SAUCE_USERNAME:您的Sauce Labs用户名
  • SAUCE_ACCESS_KEY:您的Sauce Labs访问密钥(在账户设置中找到)

可选配置

SAUCE_REGION:Sauce Labs数据中心区域(默认:us-west-1)

获取您的Sauce Labs凭证

  1. 登录您的Sauce Labs账户
  2. 导航至账户→用户设置
  3. 复制您的用户名和访问密钥
  4. 将这些添加到您的Claude Desktop配置中

使用示例

一旦配置完成,您可以通过Claude Desktop中的自然语言与Sauce Labs进行交互:

设备管理

"显示所有可用的iPhone设备"
"哪些Android设备目前正在使用?"
"找一个Samsung Galaxy S24用于测试"

测试任务分析

"显示我的最近测试任务"
"分析我上一次构建的失败测试"
"获取作业ID abc123def456的详细信息"

构建监控

"我最新的构建状态是什么?"
"显示本周的所有构建"
"查找具有失败测试的构建"

存储管理

"列出我上传的应用程序"
"显示应用程序存储使用情况"
"查找iOS演示应用"

团队协作

"谁在我的测试团队中?"
"显示团队设备分配"
"列出组织中的所有用户"

可用工具

账户及组织

  • get_account_info - 检索当前用户的账户信息
  • lookup_users - 查找组织中的用户
  • get_user - 获取详细的用户信息
  • lookup_teams - 查找组织中的团队
  • get_team - 获取团队详情和成员信息
  • list_team_members - 列出特定团队的所有成员

设备管理

  • get_devices_status - 列出所有可用设备及其状态
  • get_specific_device - 获取特定设备的详细信息
  • get_private_devices - 列出可供您账户使用的私有设备

测试任务

  • get_recent_jobs - 检索您最近的测试任务
  • get_job_details - 获取特定作业的详细信息
  • get_real_device_jobs - 列出在真实设备上的活动任务
  • get_specific_real_device_job - 获取特定真实设备任务的详细信息
  • get_specific_real_device_job_asset - 下载作业资产(日志、视频、截图)

构建

  • lookup_builds - 使用各种过滤器搜索构建
  • get_build - 获取特定构建的详细信息
  • lookup_jobs_in_build - 列出特定构建内的所有作业

存储

  • get_storage_files - 列出已上传的应用程序文件
  • get_storage_groups - 列出应用程序存储组
  • get_storage_groups_settings - 获取特定存储组的设置

隧道

  • get_tunnels_for_user - 列出活跃的Sauce Connect隧道
  • get_tunnel_information - 获取特定隧道的详细信息
  • get_current_jobs_for_tunnel - 查看使用特定隧道的作业

测试资产

  • get_test_assets - 检索测试工件(日志、视频、截图)
  • get_log_json_file - 获取结构化的测试执行日志

故障排除

常见问题

"未找到MCP服务器"

确保指向MCP服务器可执行文件的路径正确 验证Python已安装且可访问 检查所有依赖项是否已安装

"身份验证失败"

验证您的SAUCE_USERNAME和SAUCE_ACCESS_KEY是否正确 确保凭据具有请求操作所需的权限 检查您的Sauce Labs账户是否处于激活状态

"未找到设备"

验证您的账户是否有权访问设备云 检查您团队的设备分配设置 确保您查询的是正确的数据中心区域

"未找到作业"

验证作业ID是否正确且属于您的账户 检查作业是来自VDC还是RDC(不同的端点) 确保作业未因保留策略而过期

获取帮助

  • Sauce Labs文档:docs.saucelabs.com
  • API参考:docs.saucelabs.com/dev/api
  • 支持:通过您的账户仪表板联系Sauce Labs支持

许可证

Apache 2.0(版本2.0+) 注意:1.0.3之前的版本是在MIT许可证下发布的。

发展路线图

这份发展路线图概述了我们对项目的愿景和优先事项。它是一个活文档,我们欢迎社区的反馈和贡献!虽然我们旨在遵循这个计划,但优先级可能会根据用户反馈和新机会而改变。

想帮忙吗?我们非常欢迎您!

  • 查看我们的CONTRIBUTING.md(CONTRIBUTING.md)指南。
  • 在我们的Issue Tracker(../issues)中找到一个感兴趣的现有问题。
  • 有新想法?打开一个新的问题(../issues/new/choose)与我们讨论。

短期(接下来1-3个月)

我们立即关注的核心是增强开发者的体验和改进上下文管理。

资源与工具 - 优化模型调用

  • 描述:全面实施资源以响应模型。对于某些提示,这将通过返回缓存的结果而不是发起新的API调用来减少延迟和成本。
  • 状态:规划中

中期(3-6个月)

我们计划专注于增加API端点并改善与LLM的整体互动。我们将维护服务器以跟上Sauce Labs API的变化,并在引入新产品线时添加它们。

更改记录

v1.0.3

  • 更新为使用Apache许可证2.0,而非MIT
  • 对README进行了轻微调整

v1.0.2

  • 向官方MCP注册表发送详细信息
  • 添加Python 3.9支持

v1.0.1

  • 重新设计并更新了README,以便更好地指导安装

v1.0.0

  • 完整的Sauce Labs API集成首次发布
  • 支持VDC和RDC平台
  • 综合设备管理
  • 高级作业分析和构建监控
  • 跨平台Claude Desktop支持

为测试社区制作 ❤️

免责声明

本软件按“原样”提供,不附带任何形式的保证,无论是明示的还是暗示的,包括但不限于适销性、特定用途适用性和非侵权性的保证。在任何情况下,作者或版权持有者均不对任何索赔、损害或其他责任负责,无论是在合同行为、侵权行为或其他行为中产生的。

责任限制

在任何情况下,Sauce Labs, Inc.均不对任何直接、间接、偶然、特殊、示范性或后果性的损害负责(包括但不限于采购替代商品或服务;使用、数据或利润损失;或业务中断),无论其原因如何,也不论是在合同、严格责任或侵权行为(包括疏忽或其他原因)中产生的,即使被告知可能发生此类损害。

一般使用

MCP服务器作为免费和开源工具提供,以促进与公开可用API的交互。用户可以在Apache许可证2.0条款下自由修改和分发软件。

通过使用本软件,您承认您这样做是自担风险,并且您负责遵守所有适用的法律和法规。

补偿

您同意赔偿并使Sauce Labs, Inc.(“Sauce Labs”)、其董事、员工和代理免受任何和所有索赔、负债、损害、损失或费用的伤害,包括合理的律师费和成本,这些费用源于或以任何方式与您访问或使用本软件有关。

这包括但不限于:

  • 您与第三方LLM提供商的互动:您承认本软件利用公开可用的API与大型语言模型(LLM)进行交互。您独自负责使用任何第三方LLM服务。这包括您对LLM提供商条款和条件的遵守以及与您使用相关的任何费用,例如令牌费用。Sauce Labs无法控制且不对任何第三方LLM提供商的内容、隐私政策或实践承担责任。
  • LLM生成的内容:您独自负责通过使用MCP服务器和底层LLM生成、接收或传输的内容。Sauce Labs不认可且无法控制您或任何第三方通过服务器传达的通信内容。
  • 您的代码和修改:您基于MCP服务器创建的任何修改、增强或衍生作品都是您自己的,您独自负责其性能以及可能由其使用引起的任何责任。