Currents
官方使AI代理能够修复上报到Currents的Playwright测试失败。
你可以用 Currents MCP 做什么?
- 诊断失败的测试 — 通过
currents-get-context获取失败 CI 运行背后的错误、步骤和文件,直接解决问题。 - 审查测试性能 — 使用
currents-get-project-insights获取项目在指定日期范围内的聚合运行和测试指标。 - 管理隔离规则 — 列出、创建、更新、启用或禁用影响测试的操作,例如隔离不稳定的规格文件。
- 收集测试证据 — 使用
currents-get-test-evidence从 CI 运行中提取截图、视频、追踪和附件,用于调试或演示。 - 外部共享结果 — 创建公开且限时的测试结果链接,任何人无需登录即可查看,通过
currents-create-share-link实现。 - 与 Jira 集成 — 使用您组织的 Jira 集成,直接从失败的运行测试中创建或关联 Jira 问题。
文档
Currents MCP 服务器
让您的 AI 编码代理全面了解 CI 测试结果。Currents MCP 服务器将 Cursor 和 Claude 等工具直接连接到您的 Currents 仪表板,使代理能够诊断不稳定测试、定位失败原因,并基于真实执行数据采取行动——无需离开您的编辑器。
- 查询 CI 中的运行、规格文件和单个测试结果
- 呈现测试套件中的错误趋势和性能指标
- 以编程方式管理隔离规则、Webhook 和项目设置
- 让代理使用实际测试输出修复问题,而非凭空猜测
工具
| 工具 | 描述 |
|---|---|
currents-list-actions | 列出项目的所有操作,支持可选过滤。 |
currents-create-action | 为项目创建新操作。 |
currents-get-action | 按 ID 获取单个操作。 |
currents-update-action | 更新现有操作。 |
currents-delete-action | 删除(归档)操作。 |
currents-enable-action | 启用已禁用的操作。 |
currents-disable-action | 禁用活动操作。 |
currents-list-affected-tests | 列出项目在日期范围内受操作(隔离、跳过、标记)影响的测试。 |
currents-get-affected-test-executions | 以测试为键:列出某个操作在日期范围内应用于一个测试的执行记录,包含每次执行的运行、分支和提交信息。 |
currents-get-action-executions | 以操作为键:列出某条规则在日期范围内应用于所有测试的执行记录,涵盖其触及的每个测试。 |
currents-get-projects | 检索 Currents 平台中可用的项目。 |
currents-get-project | 按 ID 获取单个项目。 |
currents-get-project-insights | 获取项目在日期范围内的聚合运行和测试指标。 |
currents-list-pull-requests | 列出项目的拉取请求卡片(按 meta.pr.id 分组的运行)。 |
currents-list-project-terms | 列出按游标分页的项目术语,支持一种类型(tag、branch、authorName 等)。 |
currents-create-jira-issue | 使用组织 Jira 集成从运行测试创建 Jira 问题。 |
currents-link-jira-issue | 使用组织 Jira 集成将现有 Jira 问题链接到运行测试。 |
currents-list-jira-projects | 列出组织集成可用的 Jira 项目。 |
currents-list-jira-issue-types | 列出 Jira 项目的问题类型和自定义字段。 |
currents-get-runs | 检索特定项目的运行列表,支持可选过滤。 |
currents-get-run-details | 检索特定测试运行的详细信息。 |
currents-find-run | 按查询参数查找运行。 |
currents-cancel-run | 取消进行中的运行。 |
currents-reset-run | 重置运行中失败的 spec 文件以允许重新执行。 |
currents-delete-run | 删除运行及其所有关联数据。 |
currents-cancel-run-github-ci | 按 GitHub Actions 工作流运行 ID 和尝试编号取消运行。 |
currents-get-spec-instance | 按 instanceId 检索特定测试 spec 文件执行的调试数据。 |
currents-get-spec-files-performance | 检索特定项目在日期范围内的 spec 文件性能指标。 |
currents-get-tests-performance | 检索特定项目在日期范围内的聚合测试指标。 |
currents-get-tests-signatures | 根据项目、spec 文件路径和测试标题生成唯一测试签名。 |
currents-get-test-results | 检索特定测试签名的历史测试执行结果。 |
currents-get-context | 用于修复在 CI 中失败的测试:返回运行、规格文件(实例)或单个测试中失败测试的错误、步骤和文件——与 Currents 仪表板中“修复”功能的内容相同。 |
currents-get-errors-explorer | 获取项目在指定日期范围内的聚合错误指标。 |
currents-get-test-evidence | 收集 CI 运行中测试产生的证据工件(截图、视频、追踪、附件),并提供按测试分组的签名下载 URL。 |
currents-create-evidence-links | 创建指向测试尝试证据的可分享链接,该证据来自其 Playwright 追踪,并包含指向其内容的 URL:测试尝试所执行操作及失败原因的 Markdown 摘要、胶片条、动画录屏、DOM 快照、网络请求和附件。 |
currents-create-session | 将您驱动的浏览器会话记录为 Currents 运行,以便其证据可以像 CI 运行一样被读取和分享。 |
currents-list-webhooks | 列出项目的所有 Webhook。 |
currents-create-share-link | 创建指向测试结果的公开链接,任何人在不登录的情况下都可以打开,直到链接过期。用途“fix”提供失败上下文,供修复测试的代理使用——与 currents-get-context 的内容相同,包含标记为不稳定的测试。用途“report”列出每个测试及其尝试和文件,供人员查看。 |
currents-create-webhook | 为项目创建新的 Webhook。 |
currents-get-webhook | 按 ID 获取单个 Webhook。 |
currents-update-webhook | 更新现有的 Webhook。 |
currents-delete-webhook | 删除 Webhook。 |
技能
教授 AI 代理执行多步骤 Currents 工作流的代理技能。
| 技能 | 描述 |
|---|---|
browser-evidence | 实验性。 |
collect-evidence | 展示你实现的工作确实有效,或进行演示,通过 Currents 在 CI 中运行的测试 — 一个跟踪链接,其摘要、胶片条和可访问性快照可在评论中读取,外加截图、附件和视频。 |
fix-failing-tests | 修复在 CI 中失败的测试,使用 Currents 记录的结果 — 错误、步骤、跟踪、截图和控制台输出。 |
服务器将每个技能发布为 MCP 资源,因此连接的代理无需本地副本即可 列出并读取它们:
skill://currents/collect-evidence/SKILL.md
skill://currents/collect-evidence/references/instrumentation.md
仅从磁盘加载技能的代理仍需要副本 — 将技能
目录放入代理的技能位置(例如 Claude Code 的 .claude/skills/)。
设置
API 密钥
按照此处的说明获取 Currents API 密钥。
与 Cursor 一起使用
- 前往 Cursor 设置 > MCP > 启用
- 将以下内容添加到你的
mcp.json。
{
"mcpServers": {
"currents": {
"command": "npx",
"args": ["-y", "@currents/mcp"],
"env": {
"CURRENTS_API_KEY": "your-api-key"
}
}
}
}
Claude
运行此命令将 Currents MCP 添加到 Claude Code
claude mcp add --transport stdio currents --env CURRENTS_API_KEY=<KEY> -- npx -y @currents/mcp
添加以下内容以在 Claude Desktop 上启用 Currents MCP(编辑 claude_desktop_config.json 文件):
{
"mcpServers": {
"currents": {
"command": "npx",
"args": ["-y", "@currents/mcp"],
"env": {
"CURRENTS_API_KEY": "your-api-key"
}
}
}
}
远程(托管)MCP 端点
除了上述本地 stdio 传输之外,同一服务器也可以作为托管的
Streamable HTTP 端点运行(例如 https://mcp.currents.dev/mcp),用于远程
连接器,如 Claude 网页/移动应用。
托管服务器本身不执行任何身份验证。每个请求必须携带 你的 Currents API 密钥作为 Bearer 令牌,该令牌会传递给 Currents API:
Authorization: Bearer <your-currents-api-key>
示例客户端配置(远程连接器):
{
"mcpServers": {
"currents": {
"url": "https://mcp.currents.dev/mcp",
"headers": {
"Authorization": "Bearer your-api-key"
}
}
}
}
自行运行 HTTP 服务器:
# from the mcp-server package
npm run build && PORT=3000 npm run start:http
# or via Docker (serves /mcp, exposes the configured PORT)
docker build -t currents-mcp . && docker run -p 3000:3000 currents-mcp
Node 服务器使用纯 HTTP;TLS 和公共域名在容器前面的
反向代理/负载均衡器处终止。提供了 GET /healthz 端点
用于存活检查。
⚠️ 注意
通过将 AI 工具(例如通过 MCP)连接到 Currents,你即授予它们访问你的 API 密钥、测试结果和 CI 元数据的权限。你有责任审查你使用的任何 AI 代理或服务,并确保它们安全地处理你的数据。