@gaffer-sh/mcp
Advanced tools
+1
-1
| { | ||
| "name": "@gaffer-sh/mcp", | ||
| "type": "module", | ||
| "version": "0.8.1", | ||
| "version": "0.9.0", | ||
| "mcpName": "sh.gaffer/mcp", | ||
@@ -6,0 +6,0 @@ "description": "MCP server for Gaffer test history - give your AI assistant memory of your tests", |
+28
-1
@@ -7,3 +7,3 @@ # @gaffer-sh/mcp | ||
| This MCP server connects AI coding assistants like Claude Code and Cursor to your Gaffer test history and coverage data. It runs in code mode: three MCP tools over a namespace of 16 analytics functions. It allows AI to: | ||
| This MCP server connects AI coding assistants like Claude Code and Cursor to your Gaffer test history and coverage data. It runs in code mode: three MCP tools over a namespace of 17 functions — 16 read-only analytics functions plus `upload_test_results`. It allows AI to: | ||
@@ -107,3 +107,6 @@ - Check your project's test health (pass rate, flaky tests, trends) | ||
| | `get_upload_status` | uploads | Whether CI results are uploaded and processed | | ||
| | `upload_test_results` | uploads | Upload test results (**write**) — rate-limited and audit-logged | | ||
| Every function except `upload_test_results` is read-only. | ||
| ## Function Reference | ||
@@ -247,2 +250,26 @@ | ||
| ### `upload_test_results` | ||
| Upload structured test results. This is the only function that writes. | ||
| Use it when you have results in hand — parsed from CI output or a runner's JSON | ||
| report — and no Gaffer CLI is available to upload them. | ||
| - **Input:** `projectId` (required for `gaf_` keys), `framework` (required), `tests` (required), `branch`, `commitSha`, `ciProvider`, `startedAt`, `finishedAt`, `coverage` | ||
| - **Returns:** `uploadSessionId`, the generated `runId`, and the derived pass/fail/skip summary | ||
| - **Example:** "Upload these 42 parsed pytest results so we can track them" | ||
| `runId`, the run timestamps and the summary are derived from `tests` — pass | ||
| `startedAt`/`finishedAt` only if you know the real wall-clock window. | ||
| Two constraints worth knowing: | ||
| - **Not idempotent.** Each call creates a new run, so a retry after an uncertain | ||
| failure produces a duplicate. Check `get_upload_status` instead of retrying. | ||
| - **Rate-limited per project**, and every call is written to the project's audit | ||
| log with the id of the credential that made it. | ||
| Processing is asynchronous: results take a few seconds to become visible to the | ||
| read functions. | ||
| ## Agentic CI Workflows | ||
@@ -249,0 +276,0 @@ |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
260017
10.65%2527
9.49%412
7.01%14
7.69%