New:Socket for Asana Is Now Available.Learn more
Get Started

@gaffer-sh/mcp

Package Overview
Dependencies
Maintainers
1
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@gaffer-sh/mcp - npm Package Compare versions

Comparing version
0.8.1
to
0.9.0
+1
-1
package.json
{
"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",

@@ -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