Skip to content

currents-dev/currents

v1.0.0Apache-2.0

Currents gives AI agents the test results your CI records, from Playwright, Vitest, Jest and more. Self-healing tests: an agent gets the errors, traces and history behind a failure, finds the root cause and fixes the test, flaky ones included. Proof of work for any change, not just tests: before-and-after screenshots, videos and Playwright traces from CI, or a demo the agent records in a browser, posted as evidence in the pull request. Teams also use it to reproduce bugs, verify fixes, rank flaky and slow tests, quarantine tests and integrate with GitHub, Gitlab, Slack, Jira, Linear and more.

Currents MCP Server

Unit Tests

Give your AI coding agents full visibility into your CI test results. The Currents MCP Server connects tools like Cursor and Claude directly to your Currents dashboard, so agents can diagnose flaky tests, pinpoint failures, and act on real execution data -- without leaving your editor.

  • Query runs, spec files, and individual test results from CI
  • Surface error trends and performance metrics across your test suite
  • Manage quarantine rules, webhooks, and project settings programmatically
  • Let agents fix what's broken using actual test output, not guesswork

Install MCP Server

Tools

ToolDescription
currents-list-actionsList all actions for a project with optional filtering.
currents-create-actionCreate a new action for a project.
currents-get-actionGet a single action by ID.
currents-update-actionUpdate an existing action.
currents-delete-actionDelete (archive) an action.
currents-enable-actionEnable a disabled action.
currents-disable-actionDisable an active action.
currents-list-affected-testsList tests affected by actions (quarantine, skip, tag) for a project within a date range.
currents-get-affected-test-executionsKeyed on a test: lists the executions of one test that an action applied to, within a date range, with the run, branch and commit of each.
currents-get-action-executionsKeyed on an action: lists the test executions one rule was applied to, across every test it touched, within a date range.
currents-get-projectsRetrieves projects available in the Currents platform.
currents-get-projectGet a single project by ID.
currents-get-project-insightsGet aggregated run and test metrics for a project within a date range.
currents-list-pull-requestsList pull-request cards for a project (runs grouped by meta.pr.id).
currents-list-project-termsList cursor-paginated project terms for one type (tag, branch, authorName, etc.).
currents-create-jira-issueCreate a Jira issue from a run test using the organization Jira integration.
currents-link-jira-issueLink an existing Jira issue to a run test using the organization Jira integration.
currents-list-jira-projectsList Jira projects available for the organization integration.
currents-list-jira-issue-typesList Jira issue types and custom fields for a Jira project.
currents-get-runsRetrieves a list of runs for a specific project with optional filtering.
currents-get-run-detailsRetrieves a run: its status, commit, branch, groups and spec files, each with its instanceId.
currents-find-runFind a run by query parameters.
currents-cancel-runCancel a run in progress.
currents-reset-runReset failed spec files in a run to allow re-execution.
currents-delete-runDelete a run and all associated data.
currents-cancel-run-github-ciCancel a run by GitHub Actions workflow run ID and attempt number.
currents-get-spec-instanceRetrieves the raw result of one spec file execution by instanceId: each test's state and attempts, and the artifact URLs.
currents-get-spec-files-performanceRetrieves spec files performance metrics for a specific project within a date range.
currents-get-tests-performanceRetrieves aggregated test metrics for a specific project within a date range.
currents-get-tests-signaturesGenerates a unique test signature based on project, spec file path, and test title.
currents-get-test-resultsRetrieves historical test execution results for a specific test signature.
currents-get-contextCall this first to find out why tests failed in CI, or to fix them: returns the errors, steps and files of the failed tests of a run, a spec file (instance) or one test — the same content as Fix in the Currents dashboard.
currents-get-errors-explorerGet aggregated error metrics for a project within a date range.
currents-get-test-evidenceCollect evidence artifacts (screenshots, videos, traces, attachments) produced by tests in a CI run, with signed download URLs grouped per test.
currents-create-evidence-linksCreate a shareable link to a test attempt's evidence, served from its Playwright trace, and the URLs onto it: a markdown digest of what the attempt did and what failed, a filmstrip, an animated screencast, DOM snapshots, network requests and attachments.
currents-create-sessionRecord a browser session you drove as a Currents run, so its evidence can be read and shared like a CI run's.
currents-list-webhooksList all webhooks for a project.
currents-create-share-linkCreate a public link to test results that anyone can open without signing in, until it expires. purpose "fix" is the failure context, for an agent that will fix the tests — the same content as currents-get-context, with flaky tests included and marked flaky. purpose "report" lists every test with its attempts and files, for a person.
currents-create-webhookCreate a new webhook for a project.
currents-get-webhookGet a single webhook by ID.
currents-update-webhookUpdate an existing webhook.
currents-delete-webhookDelete a webhook.

Skills

Agent skills that teach AI agents multi-step Currents workflows.

SkillDescription
browser-evidenceExperimental.
collect-evidenceShow that work you implemented actually works, or demo it, from tests that ran in CI via Currents — a trace link whose digest, filmstrip and accessibility snapshots read inside a comment, plus screenshots, attachments and videos.
fix-failing-testsFix tests that failed in CI, using the results Currents recorded — errors, steps, traces, screenshots and console output.

The server publishes every skill as an MCP resource, so a connected agent can list and read them without a local copy:

skill://currents/collect-evidence/SKILL.md
skill://currents/collect-evidence/references/instrumentation.md

Agents that load skills only from disk still need a copy — put the skill directory in the agent's skills location (e.g. .claude/skills/ for Claude Code).

Setup

API Key

Get a Currents API key by following the instructions here.

Usage with Cursor

  1. Go to Cursor Settings > MCP > Enable
  2. Add the following to your mcp.json.
{
  "mcpServers": {
    "currents": {
      "command": "npx",
      "args": ["-y", "@currents/mcp"],
      "env": {
        "CURRENTS_API_KEY": "your-api-key"
      }
    }
  }
}

Claude

Run this command to add Currents MCP to Claude Code

claude mcp add --transport stdio currents --env CURRENTS_API_KEY=<KEY> -- npx -y @currents/mcp

Add the following to enable Currents MCP on Claude Desktop (edit claude_desktop_config.json file):

{
  "mcpServers": {
    "currents": {
      "command": "npx",
      "args": ["-y", "@currents/mcp"],
      "env": {
        "CURRENTS_API_KEY": "your-api-key"
      }
    }
  }
}

VS Code and GitHub Copilot

Install in VS Code adds the hosted server. VS Code opens a Currents sign-in page the first time it connects; there is no API key to enter.

To install the plugin, which adds the skills as well as the server:

  • VS Code: open vscode://chat-plugin/install?source=currents-dev/currents-mcp

  • Copilot CLI:

    copilot plugin marketplace add currents-dev/currents-mcp
    copilot plugin install currents@currents
    

To add only the server to Copilot CLI:

copilot mcp add --transport http currents https://mcp.currents.dev/mcp

Remote (hosted) MCP endpoint

In addition to the local stdio transport above, the same server can run as a hosted Streamable HTTP endpoint (e.g. https://mcp.currents.dev/mcp) for use with remote connectors such as the Claude web/mobile apps.

The hosted server performs no authentication of its own. Each request must carry your Currents API key as a Bearer token, which is passed through to the Currents API:

Authorization: Bearer <your-currents-api-key>

Example client config (remote connector):

{
  "mcpServers": {
    "currents": {
      "url": "https://mcp.currents.dev/mcp",
      "headers": {
        "Authorization": "Bearer your-api-key"
      }
    }
  }
}

Running the HTTP server yourself:

# 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

The Node server speaks plain HTTP; TLS and the public domain terminate at the reverse proxy / load balancer in front of the container. A GET /healthz endpoint is provided for liveness checks.

⚠️ Notice

By connecting AI tools (e.g., via MCP) to Currents, you are granting them access to your API key, test results and CI metadata. It is your responsibility to vet any AI agents or services you use, and to ensure they handle your data securely.

References