Currents

by currents-dev

17 stars
341 downloads
Not rated
GitHub Website

About

Enable AI Agents to fix Playwright test failures reported to [Currents](https://currents.dev).

Details

Author
currents-dev
GitHub stars
17
Downloads
341
Categories
Developer Tools, Other, AI

- 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.
- Create, link, and list Jira issues using the organization Jira integration.
- Cancel, reset, or delete runs directly from the MCP tools.
- Get aggregated error metrics and failure context for AI debugging.

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Currents
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Obtain a Currents API key, then configure the server in your MCP client. For Cursor, add the @currents/mcp command and CURRENTS_API_KEY environment variable to mcp.json. For Claude Desktop, edit claude_desktop_config.json similarly. For Claude Code, run claude mcp add with the same parameters.

currents-list-actions

List all actions for a project with optional filtering. Actions are rules that automatically modify test behavior (skip, quarantine, tag). Supports filtering by status (active/disabled/archived/expired) and search by name. Requires a projectId.

currents-create-action

Create a new action for a project. Actions define rules that automatically skip, quarantine, or tag tests based on conditions like test title, file path, git branch, etc. Requires projectId, name, action array, and matcher object.

currents-get-action

Get a single action by ID. The actionId is globally unique, so projectId is not required. Returns full action details including matcher conditions and current status.

currents-update-action

Update an existing action. The actionId is globally unique. You can update name, description, action array, matcher, or expiration date. All fields are optional.

currents-delete-action

Delete (archive) an action. This is a soft delete - the action will be marked as archived but not permanently removed. The actionId is globally unique.

currents-enable-action

Enable a disabled action. Changes the action status from disabled to active, making it apply to matching tests again. The actionId is globally unique.

currents-disable-action

Disable an active action. Changes the action status to disabled, temporarily preventing it from applying to tests. The actionId is globally unique.

currents-list-affected-tests

List tests affected by actions (quarantine, skip, tag) for a project within a date range. Returns aggregated data grouped by test signature. Supports filtering by action types, action ID, status, and search. Requires projectId, date_start, and date_end. Preview endpoint: fields and path may change.

currents-get-affected-test-executions

Get execution details for a specific affected test (by signature) within a date range. Returns individual test execution records with action info. Uses cursor-based pagination. Requires projectId, signature, date_start, and date_end.

currents-get-affected-executions

List test executions where a specific action/rule was applied, within a date range. Uses cursor-based pagination. Requires actionId, date_start, and date_end.

currents-get-projects

Retrieves projects available in the Currents platform. Supports cursor-based pagination with limit, starting_after, ending_before parameters, or set fetchAll=true for automatic pagination. This is a prerequisite for using any other tools that require project-specific information.

currents-get-project

Get a single project by ID. Returns project details including name, creation date, failFast setting, inactivity timeout, and default branch name.

currents-get-project-insights

Get aggregated run and test metrics for a project within a date range. Returns overall metrics and timeline data with configurable resolution (1h/1d/1w). Supports filtering by tags, branches, groups, and authors. Requires projectId, date_start, and date_end.

currents-list-pull-requests

List pull-request cards for a project (runs grouped by meta.pr.id). Supports cursor pagination, runs_per_pr preview count, and filters by tags, branches, authors, and latest-run status. Requires projectId.

currents-list-project-terms

List cursor-paginated project terms for one type (tag, branch, authorName, etc.). Supports search, sort direction, and starting_after or ending_before cursors. Requires projectId and termType.

currents-create-jira-issue

Create a Jira issue from a run test using the organization Jira integration. Requires projectId, runId, testId, jiraInstallationId, jiraProjectId, and jiraIssueType. Optional customFields array.

currents-link-jira-issue

Link an existing Jira issue to a run test using the organization Jira integration. Requires projectId, jiraIssueKey, runId, testId, jiraInstallationId, jiraProjectId, and jiraIssueType. Optional comment and includeContextInComment.

currents-list-jira-projects

List Jira projects available for the organization integration. Use returned project IDs as jiraProjectId when creating issues. Requires jira_installation_id.

currents-list-jira-issue-types

List Jira issue types and custom fields for a Jira project. Requires jiraProjectId and jira_installation_id.

currents-get-runs

Retrieves a list of runs for a specific project with optional filtering. Supports filtering by branch, tags (with AND/OR operators), status (PASSED/FAILED/RUNNING/FAILING), completion state, date range, commit author, and search by ciBuildId or commit message. Requires a projectId. If the projectId is not known, first call 'currents-get-projects' and ask the user to select the project.

currents-get-run-details

Retrieves details of a specific test run. Requires a user-provided runId.

currents-find-run

Find a run by query parameters. Returns the most recent completed run matching the criteria. Can search by ciBuildId (exact match) or by branch/tags. Supports pwLastRun flag for Playwright last run info. Requires projectId.

currents-cancel-run

Cancel a run in progress. This will stop the run and mark it as cancelled. Requires runId.

currents-reset-run

Reset failed spec files in a run to allow re-execution. Requires runId and machineId array (1-63 machine IDs). Optionally supports batched orchestration.

currents-delete-run

Delete a run and all associated data. This is a permanent deletion. Requires runId.

currents-cancel-run-github-ci

Cancel a run by GitHub Actions workflow run ID and attempt number. Optionally scope by projectId or ciBuildId. Requires githubRunId and githubRunAttempt.

currents-get-spec-instance

Retrieves debugging data from a specific execution of a test spec file by instanceId.

currents-get-spec-files-performance

Retrieves spec files performance metrics for a specific project within a date range. Supports ordering by avgDuration, failedExecutions, failureRate, flakeRate, flakyExecutions, fullyReported, overallExecutions, suiteSize, timeoutExecutions, or timeoutRate. Supports filtering by tags, branches, groups, and authors. Requires a projectId. If the projectId is not known, first call 'currents-get-projects' and ask the user to select the project.

currents-get-tests-performance

Retrieves aggregated test metrics for a specific project within a date range. Supports ordering by failures, passes, flakiness, duration, executions, title, and various delta metrics. Supports filtering by spec name, test title, tags, branches, groups, authors, minimum executions, test state, and annotations. Requires a projectId. If the projectId is not known, first call 'currents-get-projects' and ask the user to select the project.

currents-get-tests-signatures

Generates a unique test signature based on project, spec file path, and test title. The test title can be a string or array of strings (for nested describe blocks). Requires a projectId. If the projectId is not known, first call 'currents-get-projects' and ask the user to select the project.

currents-get-test-results

Retrieves historical test execution results for a specific test signature. Supports filtering by date range, branch, tags, git author, test status (passed/failed/pending/skipped), run group, flaky status, and annotations. Requires the test signature. If the signature is not known, first call 'currents-get-tests-signatures'.

currents-get-context

Get test failure context for AI debugging at run, instance, or test level. Supports json or md format, detail level, and pagination for failed tests. Requires run_id for run-level, or instance_id with optional test_id.

currents-get-errors-explorer

Get aggregated error metrics for a project within a date range. Supports filtering by error_target, error_message, error_category, error_action, tags, branches, authors, and groups. Supports grouping by target, action, category, or message. Returns error counts, affected tests and branches, with timeline data. Requires projectId, date_start, and date_end.

currents-get-test-evidence

Collect evidence artifacts (screenshots, videos, traces, attachments) produced by tests in a CI run, with signed download URLs grouped per test. Use to gather proof or a demo of an implemented feature from CI — e.g. before/after screenshots, text output stored as test attachments, or Playwright videos and traces — instead of running tests locally. Locates the run by runId, or by projectId with ciBuildId or branch (latest run). Supports filtering by spec file, test title, and test status. URLs are signed and time-limited, so download the files promptly.

currents-list-webhooks

List all webhooks for a project. Webhooks allow you to receive HTTP POST notifications when certain events occur in your test runs: RUN_FINISH (run completed), RUN_START (run started), RUN_TIMEOUT (run timed out), RUN_CANCELED (run was cancelled). Requires a projectId.

currents-create-webhook

Create a new webhook for a project. Specify the URL to receive POST notifications, optional custom headers (as JSON string), events to trigger on (RUN_FINISH, RUN_START, RUN_TIMEOUT, RUN_CANCELED), and an optional label. Requires projectId and url.

currents-get-webhook

Get a single webhook by ID. The hookId is a UUID. Returns full webhook details including url, headers, events, label, and timestamps.

currents-update-webhook

Update an existing webhook. You can update the url, headers (as JSON string), hookEvents array, or label. All fields are optional. The hookId is a UUID.

currents-delete-webhook

Delete a webhook. This permanently removes the webhook. The hookId is a UUID.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

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

McpServers

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

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

| Tool | Description |
| --------------------------------------- | ----------------------------------------------------------------------------------------- |
| currents-list-actions | List all actions for a project with optional filtering. |
| currents-create-action | Create a new action for a project. |
| currents-get-action | Get a single action by ID. |
| currents-update-action | Update an existing action. |
| currents-delete-action | Delete (archive) an action. |
| currents-enable-action | Enable a disabled action. |
| currents-disable-action | Disable an active action. |
| currents-list-affected-tests | List tests affected by actions (quarantine, skip, tag) for a project within a date range. |
| currents-get-affected-test-executions | Get execution details for a specific affected test (by signature) within a date range. |
| currents-get-affected-executions | List test executions where a specific action/rule was applied, within a date range. |
| currents-get-projects | Retrieves projects available in the Currents platform. |
| currents-get-project | Get a single project by ID. |
| currents-get-project-insights | Get aggregated run and test metrics for a project within a date range. |
| currents-list-pull-requests | List pull-request cards for a project (runs grouped by meta.pr.id). |
| currents-list-project-terms | List cursor-paginated project terms for one type (tag, branch, authorName, etc.). |
| currents-create-jira-issue | Create a Jira issue from a run test using the organization Jira integration. |
| currents-link-jira-issue | Link an existing Jira issue to a run test using the organization Jira integration. |
| currents-list-jira-projects | List Jira projects available for the organization integration. |
| currents-list-jira-issue-types | List Jira issue types and custom fields for a Jira project. |
| currents-get-runs | Retrieves a list of runs for a specific project with optional filtering. |
| currents-get-run-details | Retrieves details of a specific test run. |
| currents-find-run | Find a run by query parameters. |
| currents-cancel-run | Cancel a run in progress. |
| currents-reset-run | Reset failed spec files in a run to allow re-execution. |
| currents-delete-run | Delete a run and all associated data. |
| currents-cancel-run-github-ci | Cancel a run by GitHub Actions workflow run ID and attempt number. |
| currents-get-spec-instance | Retrieves debugging data from a specific execution of a test spec file by instanceId. |
| currents-get-spec-files-performance | Retrieves spec files performance metrics for a specific project within a date range. |
| currents-get-tests-performance | Retrieves aggregated test metrics for a specific project within a date range. |
| currents-get-tests-signatures | Generates a unique test signature based on project, spec file path, and test title. |
| currents-get-test-results | Retrieves historical test execution results for a specific test signature. |
| currents-get-context | Get test failure context for AI debugging at run, instance, or test level. |
| currents-get-errors-explorer | Get aggregated error metrics for a project within a date range. |
| currents-list-webhooks | List all webhooks for a project. |
| currents-create-webhook | Create a new webhook for a project. |
| currents-get-webhook | Get a single webhook by ID. |
| currents-update-webhook | Update an existing webhook. |
| currents-delete-webhook | Delete a webhook. |

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"
      }
    }
  }
}

⚠️ 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

- Currents
- Currents Documentation
- Contribution Guide
- Releasing and Publishing
- License

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.