MCP server for Currents platform providing access to test execution data, project management, integrations, and automation tools
The Currents MCP server registers 40 tools via explicit calls visible in mcp-server/src/server.ts and specialized files (e.g., tools/projects/list-project-pull-requests.ts). Tool names follow verb_noun convention consistently (e.g., currents-list-actions, currents-create-action, currents-delete-action), which aligns with pattern:tool naming standards. However, there are significant gaps in schema completeness and parameter documentation. While descriptions are present for all 40 tools in the tool list provided, the actual source code schemas are not visible in the submitted materials, making it impossible to verify: (1) whether input parameters have type definitions; (2) whether output schemas are documented; (3) whether parameter descriptions exist in the actual schema registration. This is a critical distinction, the tool list provided shows high-level descriptions, but the JSON Schema definitions that LLMs actually consume are not shown. Based on the visible source structure (package.json showing mcp-sdk dependency, Dockerfile for HTTP transport, TypeScript source organization), the implementation appears mature. However, without seeing the actual schema definitions in server.ts, the scoring must be conservative. Naming is strong (40/40 tools follow verb patterns). Descriptions range from good (action and run management tools) to sparse (currents-get-context lacks detail). Parameter validation and output schema documentation cannot be verified from the provided code sample.
Cancel an in-progress test run.
Cancel a test run via GitHub CI integration.
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.
Create a Jira issue from a test run or test result.
Create a link to trace information for a test.
Create a webhook for Currents events.
Input schemas not visible in source code submission. Cannot verify type definitions, parameter constraints, or validation rules for any of the 40 tools. This violates the HARD SCORING RULE: 'If a tool has NO input schema at all: its schema score MUST be 0.' Per pattern:constrained-input, enums and type constraints are critical for preventing hallucinated values.
Output schemas not documented in visible code. Cannot verify that tools return structured objects with typed fields, pagination info, or chaining IDs needed for downstream tool calls. Per pattern:response-shaper and pattern:paginated-result, responses must include total counts, cursors, and all IDs required by dependent tools.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 53 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 0 | - | v1 |
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.
Delete a test run permanently.
Delete a webhook.
Disable an active action. Changes the action status to disabled, temporarily preventing it from applying to tests. The actionId is globally unique.
Enable a disabled action. Changes the action status from disabled to active, making it apply to matching tests again. The actionId is globally unique.
Find a test run by various search criteria.
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.
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.
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.
Get context information about the current session.
Get error information and exploration data.
Get details for a specific project.
Get insights and analytics for a project.
Retrieves projects available in the Currents platform.
Get detailed information about a specific test run.
Retrieve test runs for a project with filtering and pagination options.
Get performance metrics for spec files.
Get instances of spec files across runs.
Get evidence and artifacts for a test execution.
Retrieve test results with filtering and pagination.
Get performance metrics for tests.
Get test signature information for deduplication and tracking.
Get details of a specific webhook.
Link an existing Jira issue to a test run or test result.
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.
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.
List available issue types in Jira for a project.
List available Jira projects.
List pull requests associated with a project.
List terms/tags associated with a project.
List all webhooks.
Reset a test run to initial state.
Update an existing action. The actionId is globally unique. You can update name, description, action array, matcher, or expiration date. All fields are optional.
Update an existing webhook.
Many tool descriptions are generic and lack specificity. 'Get details for a specific project' (currents-get-project), 'List available Jira projects' (currents-list-jira-projects), and 'Get context information about the current session' (currents-get-context) fail to explain WHEN to use these tools or what distinguishes them from similar tools. Per pattern:tool-description, descriptions must answer: What does it do? When should the LLM call it? What does it return?
No visible error handling guidance in tool definitions. Tools like currents-delete-action, currents-delete-run, and currents-delete-webhook are destructive (per risk taxonomy). Per pattern:recovery-guide and pattern:confirmation-request, destructive tools must either support dry-run/confirm, or error responses must tell the LLM what to do next (e.g., 'Resource deleted. Call list_actions to verify.' or 'Are you sure? Reply with confirmation.').
Parameter descriptions are absent or sparse in visible documentation. No evidence that individual input parameters carry descriptions explaining their purpose, constraints, format, or valid ranges. LLMs cannot infer parameter meaning from names alone.'
Pagination details not documented. Tools returning lists (e.g., currents-list-actions, currents-get-runs, currents-list-jira-projects) do not show limit/offset/cursor parameters or explain how to fetch next page. Per pattern:paginated-result, tools must accept page/offset and limit parameters and return total count or next_cursor.
No visible per-tool permission or scope declarations. Per pattern:scope-declaration, each tool should declare what permissions it requires (e.g., 'read:actions', 'write:actions', 'delete:runs'). This enables least-privilege agent configurations and clear audit trails.
Naming uses hyphens (currents-list-actions) instead of underscores (currents_list_actions). While this is internally consistent, it deviates from the production baseline of verb_noun (get_user, create_ticket). Hyphens are less conventional in tool naming schemas and may confuse LLM tokenization.