Skip to content

Commit fb8e99a

Browse files
committed
fix: conflicts
2 parents 28ca3fb + 25203be commit fb8e99a

67 files changed

Lines changed: 2972 additions & 1221 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/dependabot-review.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ jobs:
5454
5555
Verify the package can start without runtime errors:
5656
```
57-
cd mcp-server && timeout 10 node build/index.js --help || true
57+
cd mcp-server && timeout 10 node dist/index.mjs --help || true
5858
```
5959
If a `--help` flag is not available, start the process and kill it after a few seconds to confirm it boots.
6060

.github/workflows/test.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,12 @@ on:
88

99
jobs:
1010
test:
11-
name: Run Unit Tests
11+
name: Test (Node ${{ matrix.node-version }})
1212
runs-on: ubuntu-latest
13+
strategy:
14+
fail-fast: false
15+
matrix:
16+
node-version: [20.x, 22.x, 24.x]
1317

1418
steps:
1519
- name: Checkout code
@@ -18,7 +22,7 @@ jobs:
1822
- name: Setup Node.js
1923
uses: actions/setup-node@v4
2024
with:
21-
node-version: 24.x
25+
node-version: ${{ matrix.node-version }}
2226
cache: "npm"
2327
cache-dependency-path: mcp-server/package-lock.json
2428

CONTRIBUTE.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ You should see: `Currents MCP Server running on stdio`.
4545
To test with a local MCP client (e.g., Cursor or Claude Desktop), point the client to your built server:
4646

4747
- Command: `node`
48-
- Args: `./mcp-server/build/index.js`
48+
- Args: `./mcp-server/dist/index.mjs`
4949
- Env: set `CURRENTS_API_KEY` to a valid key
5050

5151
Example snippet for a client config:
@@ -55,7 +55,7 @@ Example snippet for a client config:
5555
"mcpServers": {
5656
"currents": {
5757
"command": "node",
58-
"args": ["./mcp-server/build/index.js"],
58+
"args": ["./mcp-server/dist/index.mjs"],
5959
"env": {
6060
"CURRENTS_API_KEY": "your-api-key"
6161
}

Dockerfile

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,29 +2,32 @@
22
# syntax=docker/dockerfile:1
33

44
# Build stage
5-
FROM node:lts-alpine AS build
5+
FROM node:24-alpine AS build
66
WORKDIR /app
77

88
# Install dependencies
99
COPY mcp-server/package.json mcp-server/package-lock.json ./
1010
RUN npm ci --production=false
1111

1212
# Copy source code
13-
COPY mcp-server/tsconfig.json ./tsconfig.json
13+
COPY mcp-server/tsconfig.json mcp-server/tsdown.config.ts ./
14+
COPY mcp-server/assets ./assets
1415
COPY mcp-server/src ./src
1516

1617
# Build the project
1718
RUN npm run build
1819

1920
# Runtime stage
20-
FROM node:lts-alpine AS runtime
21+
FROM node:20-alpine AS runtime
2122
WORKDIR /app
2223

2324
# Copy build artifacts and dependencies
24-
COPY --from=build /app/build ./build
25+
COPY --from=build /app/dist ./dist
26+
COPY --from=build /app/assets ./assets
27+
COPY --from=build /app/package.json ./package.json
2528
COPY --from=build /app/node_modules ./node_modules
2629

2730
# Default API URL environment variable
2831
ENV CURRENTS_API_URL=https://api.currents.dev
2932

30-
ENTRYPOINT ["node", "build/index.js"]
33+
ENTRYPOINT ["node", "dist/index.mjs"]

README.md

Lines changed: 45 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -2,42 +2,56 @@
22

33
![Unit Tests](https://github.com/currents-dev/currents-mcp/actions/workflows/test.yml/badge.svg)
44

5-
This is a MCP server that allows you to provide test results context to your AI agents by connecting them to Currents. Useful for asking AI to fix or optimize tests failing in CI.
5+
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](https://currents.dev) dashboard, so agents can diagnose flaky tests, pinpoint failures, and act on real execution data -- without leaving your editor.
6+
7+
- Query runs, spec files, and individual test results from CI
8+
- Surface error trends and performance metrics across your test suite
9+
- Manage quarantine rules, webhooks, and project settings programmatically
10+
- Let agents fix what's broken using actual test output, not guesswork
611

712
[![Install MCP Server](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en/install-mcp?name=currents&config=eyJjb21tYW5kIjoibnB4IC15IEBjdXJyZW50cy9tY3AiLCJlbnYiOnsiQ1VSUkVOVFNfQVBJX0tFWSI6InlvdXItYXBpLWtleSJ9fQ%3D%3D)
813

914
## Tools
1015

11-
| Tool | Description |
12-
| ------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
13-
| `currents-get-projects` | Retrieves projects available in the Currents platform. |
14-
| `currents-get-project` | Get a single project by ID. |
15-
| `currents-get-project-insights` | Get aggregated run and test metrics for a project within a date range. |
16-
| `currents-get-runs` | Retrieves a list of runs for a specific project with optional filtering. |
17-
| `currents-get-run-details` | Retrieves details of a specific test run. |
18-
| `currents-find-run` | Find a run by query parameters. |
19-
| `currents-cancel-run` | Cancel a run in progress. |
20-
| `currents-reset-run` | Reset failed spec files in a run to allow re-execution. |
21-
| `currents-delete-run` | Delete a run and all associated data. |
22-
| `currents-cancel-run-github-ci` | Cancel a run by GitHub Actions workflow run ID and attempt number. |
23-
| `currents-get-spec-instance` | Retrieves debugging data from a specific execution of a test spec file by instanceId. |
24-
| `currents-get-spec-files-performance` | Retrieves spec files performance metrics for a specific project within a date range. |
25-
| `currents-get-tests-performance` | Retrieves aggregated test metrics for a specific project within a date range. |
26-
| `currents-get-tests-signatures` | Generates a unique test signature based on project, spec file path, and test title. |
27-
| `currents-get-test-results` | Retrieves historical test execution results for a specific test signature. |
28-
| `currents-get-errors-explorer` | Get aggregated error metrics for a project within a date range with comprehensive filtering and grouping. |
29-
| `currents-list-actions` | List all actions for a project with optional filtering. |
30-
| `currents-create-action` | Create a new action for a project. |
31-
| `currents-get-action` | Get a single action by ID. |
32-
| `currents-update-action` | Update an existing action. |
33-
| `currents-delete-action` | Delete (archive) an action. |
34-
| `currents-enable-action` | Enable a disabled action. |
35-
| `currents-disable-action` | Disable an active action. |
36-
| `currents-list-webhooks` | List all webhooks for a project. |
37-
| `currents-create-webhook` | Create a new webhook for a project. |
38-
| `currents-get-webhook` | Get a single webhook by ID. |
39-
| `currents-update-webhook` | Update an existing webhook. |
40-
| `currents-delete-webhook` | Delete a webhook. |
16+
| Tool | Description |
17+
| --------------------------------------- | ----------------------------------------------------------------------------------------- |
18+
| `currents-list-actions` | List all actions for a project with optional filtering. |
19+
| `currents-create-action` | Create a new action for a project. |
20+
| `currents-get-action` | Get a single action by ID. |
21+
| `currents-update-action` | Update an existing action. |
22+
| `currents-delete-action` | Delete (archive) an action. |
23+
| `currents-enable-action` | Enable a disabled action. |
24+
| `currents-disable-action` | Disable an active action. |
25+
| `currents-list-affected-tests` | List tests affected by actions (quarantine, skip, tag) for a project within a date range. |
26+
| `currents-get-affected-test-executions` | Get execution details for a specific affected test (by signature) within a date range. |
27+
| `currents-get-affected-executions` | List test executions where a specific action/rule was applied, within a date range. |
28+
| `currents-get-projects` | Retrieves projects available in the Currents platform. |
29+
| `currents-get-project` | Get a single project by ID. |
30+
| `currents-get-project-insights` | Get aggregated run and test metrics for a project within a date range. |
31+
| `currents-list-pull-requests` | List pull-request cards for a project (runs grouped by meta.pr.id). |
32+
| `currents-list-project-terms` | List cursor-paginated project terms for one type (tag, branch, authorName, etc.). |
33+
| `currents-create-jira-issue` | Create a Jira issue from a run test using the organization Jira integration. |
34+
| `currents-list-jira-projects` | List Jira projects available for the organization integration. |
35+
| `currents-list-jira-issue-types` | List Jira issue types and custom fields for a Jira project. |
36+
| `currents-get-runs` | Retrieves a list of runs for a specific project with optional filtering. |
37+
| `currents-get-run-details` | Retrieves details of a specific test run. |
38+
| `currents-find-run` | Find a run by query parameters. |
39+
| `currents-cancel-run` | Cancel a run in progress. |
40+
| `currents-reset-run` | Reset failed spec files in a run to allow re-execution. |
41+
| `currents-delete-run` | Delete a run and all associated data. |
42+
| `currents-cancel-run-github-ci` | Cancel a run by GitHub Actions workflow run ID and attempt number. |
43+
| `currents-get-spec-instance` | Retrieves debugging data from a specific execution of a test spec file by instanceId. |
44+
| `currents-get-spec-files-performance` | Retrieves spec files performance metrics for a specific project within a date range. |
45+
| `currents-get-tests-performance` | Retrieves aggregated test metrics for a specific project within a date range. |
46+
| `currents-get-tests-signatures` | Generates a unique test signature based on project, spec file path, and test title. |
47+
| `currents-get-test-results` | Retrieves historical test execution results for a specific test signature. |
48+
| `currents-get-context` | Get test failure context for AI debugging at run, instance, or test level. |
49+
| `currents-get-errors-explorer` | Get aggregated error metrics for a project within a date range. |
50+
| `currents-list-webhooks` | List all webhooks for a project. |
51+
| `currents-create-webhook` | Create a new webhook for a project. |
52+
| `currents-get-webhook` | Get a single webhook by ID. |
53+
| `currents-update-webhook` | Update an existing webhook. |
54+
| `currents-delete-webhook` | Delete a webhook. |
4155

4256
## Setup
4357

mcp-server/.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Build output
2-
build/
2+
dist/
33

44
# README is copied from root during publish
55
README.md

0 commit comments

Comments
 (0)