Currents MCP Server

Reads and manages CI test results recorded in the Currents dashboard from a coding agent

Official · Currents.dev TypeScript Remote (hosted) · Streamable HTTPLocal · stdio TestingDevOps and monitoring

64 popularity score ★ 21 ↓ 96k/wk

Connect your client

Remote (hosted)

Add in one click

Opens the app, which asks before it adds the server.

Or add it by command or config

Claude Codeterminal; then run /mcp, select currents and choose Authenticate
claude mcp add --transport http --scope user currents https://mcp.currents.dev/mcp
Cursor~/.cursor/mcp.json, or .cursor/mcp.json at the repository root
{
  "mcpServers": {
    "currents": {
      "url": "https://mcp.currents.dev/mcp"
    }
  }
}
Codexterminal; then run codex mcp login currents
codex mcp add currents --url https://mcp.currents.dev/mcp
Claude (desktop and web)Claude Desktop and Claude.ai: connect from the Claude connectors directory
https://mcp.currents.dev/mcp
ChatGPTDeveloper mode app with MCP server URL https://mcp.currents.dev/mcp
https://mcp.currents.dev/mcp
VS Code.vscode/mcp.json
{
  "servers": {
    "currents": {
      "type": "http",
      "url": "https://mcp.currents.dev/mcp"
    }
  }
}
Local (npm)

Add in one click

Opens the app, which asks before it adds the server. Then replace each <NAME> in its settings with your value.

Or add it by command or config

It needs CURRENTS_API_KEY. Replace each <NAME> with your value.

Claude CodeTerminal
claude mcp add currents -e CURRENTS_API_KEY=<CURRENTS_API_KEY> -- npx -y @currents/mcp
Claude Desktopclaude_desktop_config.json
{
  "mcpServers": {
    "currents": {
      "command": "npx",
      "args": [
        "-y",
        "@currents/mcp"
      ],
      "env": {
        "CURRENTS_API_KEY": "<CURRENTS_API_KEY>"
      }
    }
  }
}
Cursor~/.cursor/mcp.json
{
  "mcpServers": {
    "currents": {
      "command": "npx",
      "args": [
        "-y",
        "@currents/mcp"
      ],
      "env": {
        "CURRENTS_API_KEY": "<CURRENTS_API_KEY>"
      }
    }
  }
}
VS Code.vscode/mcp.json
{
  "servers": {
    "currents": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@currents/mcp"
      ],
      "env": {
        "CURRENTS_API_KEY": "<CURRENTS_API_KEY>"
      }
    }
  }
}
Codex~/.codex/config.toml
[mcp_servers.currents]
command = "npx"
args = ["-y", "@currents/mcp"]

[mcp_servers.currents.env]
CURRENTS_API_KEY = "<CURRENTS_API_KEY>"
Gemini CLITerminal
gemini mcp add --scope user -e CURRENTS_API_KEY=<CURRENTS_API_KEY> currents npx -- -y @currents/mcp

Settings 2

CURRENTS_API_KEY Required: Currents organization API key; Read Only or Read & Write decides which calls succeed.
CURRENTS_API_URL Optional: Currents API base URL; defaults to https://api.currents.dev/v1.

What it does

Currents is a hosted dashboard that records Playwright and other test runs from CI. This server, published by Currents itself, gives a coding agent the same data: runs, spec files, single test histories, error groupings, flakiness and duration rankings, and the screenshots, videos and traces a failed test left behind. The intended loop is that the agent pulls the failure context for a run with currents-get-context, fixes the code, and can then show its work with a trace link or a share link.

It also changes things in Currents. Tools can cancel, reset or delete runs, create and toggle actions (the rules that quarantine, skip or tag tests), manage webhooks, open or link Jira issues through the organization's Jira integration, record a browser session the agent drove, and attach logs to a session or run. The server also exposes three agent skills (fix-failing-tests, collect-evidence and an experimental browser-evidence) as MCP resources.

It runs two ways. Currents hosts it at https://mcp.currents.dev/mcp, where each person signs in with their own account and role, and the docs recommend this. The @currents/mcp npm package runs the same 43 tools locally over stdio with an organization API key. The two differ in what the agent sees: the hosted endpoint lists only the tools the connection was granted, while the local server lists every tool and lets the key refuse a call it does not allow with a 403 (docs: MCP tools and permissions). The package also points at CURRENTS_API_URL, which defaults to https://api.currents.dev/v1 and is not mentioned in the README (src/lib/env.ts at v2.7.0).

What it needs

To run it yourselfNode.js 20+

A Currents account with projects that report CI runs to it. For the local server: Node.js 20 or later (engines in package.json) and a Currents API key in CURRENTS_API_KEY; the process exits on start without it. For the hosted endpoint: a browser sign-in, or an API key sent as a Bearer header for clients that cannot do OAuth. Codex also needs `codex mcp login currents`; ChatGPT needs developer mode on a Plus, Pro, Business, Enterprise or Education account, which a workspace admin may have to allow. The Jira tools need the organization's Jira integration set up.

Limits

A connection reaches one Currents organization; to use two, connect twice. With a Read Only key, writes are refused with 403, and a Read Only key on the hosted endpoint sees only the read tools, currents-create-evidence-links and the two Jira lookups. The hosted endpoint answers POST only (stateless Streamable HTTP) and cannot be used by a client that can only register itself dynamically; such a client must send an API key. The browser-evidence skill is marked experimental. The README says the hosted endpoint does no authentication of its own and needs a Bearer key, while the current docs describe an OAuth sign-in with the key as a fallback.

Who it suits

Teams that already send CI test results to Currents and want an agent to triage flaky or failing tests, compare a pull request's runs with main, or quarantine a test without opening the dashboard. Pick the hosted endpoint when your client supports remote servers: nothing is installed and access follows each person's role. The local package fits clients that can only start stdio servers, at the cost of a shared organization key. It is of no use without a Currents account; it reads Currents' records of tests and does not run tests itself.

Tools 43

currents-get-projects
List the projects in the organization
currents-get-project
Fetch one project and its settings
currents-list-project-terms
List values seen in a project's runs, such as tags, branches or authors
currents-get-project-insights
Run and test metrics for a project over a date range
currents-list-pull-requests
List a project's pull requests with their runs
currents-get-runs
List runs, filtered by branch, tag, status, date or text
currents-get-run-details
Fetch one run with its commit, branch, groups and spec files
currents-find-run
Find a run by CI build ID, branch or tags
currents-cancel-run
Stop a run that is in progress
currents-reset-run
Mark a run's failed spec files to run again
currents-delete-run
Delete a run and its data permanently
currents-cancel-run-github-ci
Cancel the run tied to a GitHub Actions workflow run and attempt
currents-get-spec-instance
Raw result of one spec file execution, with artifact URLs
currents-get-spec-files-performance
Rank spec files by duration, failures or flakiness
currents-get-tests-performance
Rank tests by failures, flakiness or duration
currents-get-tests-signatures
Compute a test's ID from project, spec path and title
currents-get-test-results
History of executions for one test signature
currents-get-context
Errors, steps and files behind failed tests in a run, spec file or test
currents-get-errors-explorer
Group and count errors across a project's runs
currents-get-test-evidence
Screenshots, videos, traces and attachments per test, with signed URLs
currents-create-evidence-links
Make a trace link and digest for a test attempt or session
currents-create-session
Record a browser session the agent drove, with upload URLs
currents-add-attachments
Attach logs or files to a session or a CI run
currents-create-share-link
Create an expiring public link to a run, spec, test or session
currents-list-actions
List the rules that skip, quarantine or tag tests
currents-create-action
Create a new action rule
currents-get-action
Fetch one action and its conditions
currents-update-action
Change an existing action
currents-delete-action
Archive an action
currents-enable-action
Turn an action on
currents-disable-action
Turn an action off
currents-list-affected-tests
Tests that actions applied to within a date range
currents-get-affected-test-executions
Executions of one test that an action applied to
currents-get-action-executions
Test executions one action applied to
currents-list-webhooks
List a project's webhooks
currents-create-webhook
Create a webhook that posts run events to a URL
currents-get-webhook
Fetch one webhook
currents-update-webhook
Change a webhook
currents-delete-webhook
Delete a webhook permanently
currents-create-jira-issue
Open a Jira issue for a test in a run
currents-link-jira-issue
Link an existing Jira issue to a test in a run
currents-list-jira-projects
List projects in the connected Jira
currents-list-jira-issue-types
List issue types and fields of a Jira project

Similar servers