@keepsnappy/mcp 0.1.0-alpha.11 → 0.1.0-alpha.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -5
- package/dist/keepsnappy-mcp.js +3 -3
- package/package.json +2 -3
package/README.md
CHANGED
|
@@ -12,7 +12,7 @@ both use this package's API client and answer layout, so a person and an agent r
|
|
|
12
12
|
1. Ask the KeepSnappy owner for a project key with **read** scope (`bun run create-key -- <org> <app> read` in
|
|
13
13
|
`apps/api`; it refuses an org or app that does not exist). Setup → Keys on the dashboard lists read keys and revokes
|
|
14
14
|
them. A CI key (`run` scope) works too; an SDK key (`ingest`) does not.
|
|
15
|
-
2. Put the key in your shell environment, not in the repo: `export
|
|
15
|
+
2. Put the key in your shell environment, not in the repo: `export KEEPSNAPPY_KEY=pl_rk_…` (for example in `~/.zshenv`).
|
|
16
16
|
3. Add `.mcp.json` at the repo root:
|
|
17
17
|
|
|
18
18
|
```json
|
|
@@ -22,15 +22,15 @@ both use this package's API client and answer layout, so a person and an agent r
|
|
|
22
22
|
"command": "npx",
|
|
23
23
|
"args": ["-y", "@keepsnappy/mcp"],
|
|
24
24
|
"env": {
|
|
25
|
-
"
|
|
26
|
-
"
|
|
25
|
+
"KEEPSNAPPY_KEY": "${KEEPSNAPPY_KEY}",
|
|
26
|
+
"KEEPSNAPPY_API": "https://perflab-api-864539138788.europe-west1.run.app"
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
31
|
```
|
|
32
32
|
|
|
33
|
-
Claude Code expands `${
|
|
33
|
+
Claude Code expands `${KEEPSNAPPY_KEY}` from your environment. `KEEPSNAPPY_API` is optional (the hosted API is the default).
|
|
34
34
|
From a KeepSnappy checkout instead of npm: `"command": "bun", "args": ["<perflab>/packages/mcp/src/bin.ts"]`.
|
|
35
35
|
|
|
36
36
|
## Tools
|
|
@@ -67,5 +67,5 @@ Can't compare / Not enough data yet**, and "not blocking" as a badge on a Worse
|
|
|
67
67
|
bun install
|
|
68
68
|
bunx vitest run # the server against a fake API serving findings built by the API's own finding module
|
|
69
69
|
bunx tsc --noEmit
|
|
70
|
-
|
|
70
|
+
KEEPSNAPPY_KEY=… bun src/bin.ts # stdio
|
|
71
71
|
```
|
package/dist/keepsnappy-mcp.js
CHANGED
|
@@ -14076,7 +14076,7 @@ async function get(t, path, query = {}) {
|
|
|
14076
14076
|
if (!r.ok) {
|
|
14077
14077
|
const code = typeof body.error === "string" ? body.error : String(r.status);
|
|
14078
14078
|
const message = typeof body.message === "string" ? body.message : code;
|
|
14079
|
-
const hint = r.status === 401 ? " (check KEEPSNAPPY_KEY
|
|
14079
|
+
const hint = r.status === 401 ? " (check KEEPSNAPPY_KEY)" : r.status === 403 ? " (the key needs the read or run scope)" : "";
|
|
14080
14080
|
throw new ApiError(r.status, code, `${message}${hint}`);
|
|
14081
14081
|
}
|
|
14082
14082
|
return body;
|
|
@@ -23239,11 +23239,11 @@ function createServer(target) {
|
|
|
23239
23239
|
}
|
|
23240
23240
|
|
|
23241
23241
|
// packages/mcp/src/bin.ts
|
|
23242
|
-
var key = process.env.KEEPSNAPPY_KEY
|
|
23242
|
+
var key = process.env.KEEPSNAPPY_KEY;
|
|
23243
23243
|
if (!key) {
|
|
23244
23244
|
process.stderr.write(`keepsnappy-mcp: set KEEPSNAPPY_KEY to a KeepSnappy project key with read scope
|
|
23245
23245
|
`);
|
|
23246
23246
|
process.exit(2);
|
|
23247
23247
|
}
|
|
23248
|
-
var server = createServer({ url: process.env.KEEPSNAPPY_API ??
|
|
23248
|
+
var server = createServer({ url: process.env.KEEPSNAPPY_API ?? DEFAULT_API_URL, key });
|
|
23249
23249
|
await server.connect(new StdioServerTransport);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@keepsnappy/mcp",
|
|
3
|
-
"version": "0.1.0-alpha.
|
|
3
|
+
"version": "0.1.0-alpha.12",
|
|
4
4
|
"description": "KeepSnappy MCP server (stdio, read-only): performance findings, compare, window history and commits for coding agents.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "UNLICENSED",
|
|
@@ -16,8 +16,7 @@
|
|
|
16
16
|
"node": ">=22"
|
|
17
17
|
},
|
|
18
18
|
"bin": {
|
|
19
|
-
"keepsnappy-mcp": "dist/keepsnappy-mcp.js"
|
|
20
|
-
"perflab-mcp": "dist/keepsnappy-mcp.js"
|
|
19
|
+
"keepsnappy-mcp": "dist/keepsnappy-mcp.js"
|
|
21
20
|
},
|
|
22
21
|
"files": [
|
|
23
22
|
"dist",
|