@snagset/server 0.1.1 → 0.1.3
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/dist/app.js +22 -4
- package/dist/app.js.map +1 -1
- package/dist/bin.js +4 -3
- package/dist/bin.js.map +1 -1
- package/dist/instance/address.js +74 -0
- package/dist/instance/address.js.map +1 -0
- package/dist/instance/mcpHttp.js +42 -0
- package/dist/instance/mcpHttp.js.map +1 -0
- package/dist/integrations/outbox.js +15 -14
- package/dist/integrations/outbox.js.map +1 -1
- package/dist/mail/notify.js +3 -1
- package/dist/mail/notify.js.map +1 -1
- package/dist/routes/instance.js +58 -0
- package/dist/routes/instance.js.map +1 -1
- package/dist/routes/integrations.js +5 -5
- package/dist/routes/integrations.js.map +1 -1
- package/dist/routes/jobs.js +3 -2
- package/dist/routes/jobs.js.map +1 -1
- package/dist/routes/mcp.js +45 -0
- package/dist/routes/mcp.js.map +1 -0
- package/dist/routes/mcpAuth.js +56 -1
- package/dist/routes/mcpAuth.js.map +1 -1
- package/dist/routes/mcpToken.js +2 -2
- package/dist/routes/mcpToken.js.map +1 -1
- package/dist/routes/mcpTokens.js +10 -3
- package/dist/routes/mcpTokens.js.map +1 -1
- package/dist/routes/threads.js +2 -2
- package/dist/routes/threads.js.map +1 -1
- package/dist/vendor/mcp/bin.js +72 -0
- package/dist/vendor/mcp/client.js +107 -0
- package/dist/vendor/mcp/server.js +242 -0
- package/dist/vendor/mcp/source.js +284 -0
- package/dist/vendor/mcp/view.js +199 -0
- package/dist/vendor/types/names.js +1 -0
- package/package.json +4 -2
- package/static/dashboard/assets/CompositeItem-BZSyTS4P.js +1 -0
- package/static/dashboard/assets/{ConfirmDialog-CCAJDc_P.js → ConfirmDialog-Db4zsosS.js} +1 -1
- package/static/dashboard/assets/{CopyButton-exuJDdXj.js → CopyButton-Bm-P_uCi.js} +1 -1
- package/static/dashboard/assets/FieldItemContext-C_WMV5Y1.js +1 -0
- package/static/dashboard/assets/{InstallTag-CkeGLk1a.js → InstallTag-C12OFWxQ.js} +1 -1
- package/static/dashboard/assets/{SaveState-BsrfwjoH.js → SaveState-OUJN_boO.js} +1 -1
- package/static/dashboard/assets/{_app-CiDKmy_a.js → _app-Cd-jUoXa.js} +1 -1
- package/static/dashboard/assets/{_app-xxJ7UG34.js → _app-Cp-iO2k6.js} +2 -2
- package/static/dashboard/assets/{activity-mwHb7ir7.js → activity-DrwA-DtK.js} +1 -1
- package/static/dashboard/assets/{arrow-left-D08BSlJU.js → arrow-left-Bh-dAOei.js} +1 -1
- package/static/dashboard/assets/{avatar-BITl2vTh.js → avatar-CHJ9xfvK.js} +1 -1
- package/static/dashboard/assets/{badge-CGEswzew.js → badge-B0S2TuoH.js} +1 -1
- package/static/dashboard/assets/{card-8T0wnIiU.js → card-ACZ3SoSc.js} +1 -1
- package/static/dashboard/assets/{check-CiLHTeII.js → check-Dqp329Qx.js} +1 -1
- package/static/dashboard/assets/{chevron-right-BokKbPOn.js → chevron-right-Ce6AqGTW.js} +1 -1
- package/static/dashboard/assets/{copy-CKgsZbj1.js → copy-DYe-rWru.js} +1 -1
- package/static/dashboard/assets/{createBaseUIEventDetails-CEmaecLi.js → createBaseUIEventDetails-BwtZlnCY.js} +1 -1
- package/static/dashboard/assets/{createLucideIcon-llnWWh0E.js → createLucideIcon-SQ1OtOty.js} +1 -1
- package/static/dashboard/assets/{dialog-DrrnCoT5.js → dialog-DC5ijHd-.js} +1 -1
- package/static/dashboard/assets/{dropdown-menu-DIE2xmL5.js → dropdown-menu-DJHh2D48.js} +3 -3
- package/static/dashboard/assets/{image-off-CgUC8krg.js → image-off-DcirqIBd.js} +1 -1
- package/static/dashboard/assets/{index-C87aqO18.js → index-CqjuloQH.js} +7 -7
- package/static/dashboard/assets/{label-BfMHjFA7.js → label-CW_cMhiD.js} +1 -1
- package/static/dashboard/assets/{layout-grid-B7mn7n3K.js → layout-grid-DiZ4lLOr.js} +1 -1
- package/static/dashboard/assets/me-DdTyFOSS.js +1 -0
- package/static/dashboard/assets/{parts-B-HQayFH.js → parts-DIo5a0tB.js} +1 -1
- package/static/dashboard/assets/{plus-CuMhvZUZ.js → plus-BoLdzoOl.js} +1 -1
- package/static/dashboard/assets/s._site-OuoJaDQ3.js +1 -0
- package/static/dashboard/assets/{s._site.comments-nJZLYDQh.js → s._site.comments-Dcz9VfMC.js} +2 -2
- package/static/dashboard/assets/{s._site.reviewers-BmRPiC0a.js → s._site.reviewers-yucE-ON0.js} +1 -1
- package/static/dashboard/assets/s._site.settings-BZufAPHa.js +1 -0
- package/static/dashboard/assets/setup-Pp1TuCU6.js +1 -0
- package/static/dashboard/assets/{sign-in-sWUNd3Lp.js → sign-in-7aKxoHSF.js} +1 -1
- package/static/dashboard/assets/{sites-CSzUAHV6.js → sites-5NKVOdPZ.js} +1 -1
- package/static/dashboard/assets/studio-BdDHdd0o.js +1 -0
- package/static/dashboard/assets/{studio-DVFn025O.js → studio-Bj_Tddf0.js} +1 -1
- package/static/dashboard/assets/studio.index-X6GkAcy-.js +1 -0
- package/static/dashboard/assets/studio.integrations-UxtgfC_i.js +1 -0
- package/static/dashboard/assets/{studio.members-CVu-eP6p.js → studio.members-DlYCEyja.js} +1 -1
- package/static/dashboard/assets/{sun-DTI4O-GM.js → sun-hlSpGJcg.js} +1 -1
- package/static/dashboard/assets/switch-C-FKmkAi.js +1 -0
- package/static/dashboard/assets/{table-DkqScFZb.js → table-5N0NRM82.js} +1 -1
- package/static/dashboard/assets/useAriaLabelledBy-Bl7Pv-JK.js +1 -0
- package/static/dashboard/assets/{useBaseQuery-0OqUJMfc.js → useBaseQuery-WjLRzhGh.js} +1 -1
- package/static/dashboard/assets/useQuery-BEI9T-AQ.js +1 -0
- package/static/dashboard/assets/useRender-DW4lC-HO.js +1 -0
- package/static/dashboard/assets/useValueChanged-BV1ZHBzN.js +1 -0
- package/static/dashboard/assets/{users-O11swHBQ.js → users-YuUR-T2d.js} +1 -1
- package/static/dashboard/assets/{welcome-CT6oH0I8.js → welcome-DyI_SmA2.js} +1 -1
- package/static/dashboard/assets/{you-_yIPqa_9.js → you-In9on4kb.js} +1 -1
- package/static/dashboard/assets/{zod-iC-UhR5u.js → zod-B5yGKD8p.js} +1 -1
- package/static/dashboard/index.html +1 -1
- package/static/dashboard/assets/CompositeItem-DnLNS57f.js +0 -1
- package/static/dashboard/assets/FieldItemContext-jf0Is3j7.js +0 -1
- package/static/dashboard/assets/me-D1prnPpY.js +0 -1
- package/static/dashboard/assets/s._site-Ccc7pzT-.js +0 -1
- package/static/dashboard/assets/s._site.settings-DNv5ovrJ.js +0 -1
- package/static/dashboard/assets/setup-B_VsIyK2.js +0 -1
- package/static/dashboard/assets/studio-DzBapfQK.js +0 -1
- package/static/dashboard/assets/studio.index-Cp7lBb8S.js +0 -1
- package/static/dashboard/assets/studio.integrations-DD2EWaL-.js +0 -1
- package/static/dashboard/assets/useQuery-COJ09EkU.js +0 -1
- package/static/dashboard/assets/useRender-dtgBGlgC.js +0 -1
package/dist/routes/mcpAuth.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createHash, randomBytes, randomUUID } from "node:crypto";
|
|
2
|
-
import { CREDENTIAL_PREFIX } from "../vendor/types/names.js";
|
|
2
|
+
import { CREDENTIAL_PREFIX, HTTP_HEADER } from "../vendor/types/names.js";
|
|
3
3
|
import { verifyMcpToken, touchMcpToken } from "./mcpToken.js";
|
|
4
4
|
/**
|
|
5
5
|
* The write budget — 07 §8.4, `mcpw:token`, 20 writes per 10 minutes
|
|
@@ -37,6 +37,23 @@ export function mcpAuth(sql) {
|
|
|
37
37
|
}, 401);
|
|
38
38
|
}
|
|
39
39
|
c.set("mcp", claims);
|
|
40
|
+
// 05 §9.6: a write over the remote transport needs the token's explicit
|
|
41
|
+
// say-so. The marker is set by our own HTTP transport on the calls it
|
|
42
|
+
// makes back in; a stranger setting it on a request of their own only
|
|
43
|
+
// narrows what that request may do. Reads are untouched.
|
|
44
|
+
if (c.req.header(HTTP_HEADER.mcpTransport) === "http" &&
|
|
45
|
+
c.req.method !== "GET" &&
|
|
46
|
+
c.req.method !== "HEAD" &&
|
|
47
|
+
!claims.allowRemoteWrites) {
|
|
48
|
+
return c.json({
|
|
49
|
+
error: {
|
|
50
|
+
code: "remote_writes_not_allowed",
|
|
51
|
+
message: "This token may read over the remote transport but not write. Mint one with remote writes " +
|
|
52
|
+
"allowed on Studio › Integrations › MCP, or run the stdio server on a machine with the checkout.",
|
|
53
|
+
requestId: c.get("requestId"),
|
|
54
|
+
},
|
|
55
|
+
}, 403);
|
|
56
|
+
}
|
|
40
57
|
/**
|
|
41
58
|
* The audit timestamp, and the address as a per-token salted hash.
|
|
42
59
|
*
|
|
@@ -51,6 +68,13 @@ export function mcpAuth(sql) {
|
|
|
51
68
|
* predate the row it is on, and is not derivable by whoever is being
|
|
52
69
|
* hashed. The raw address is still never stored (08 §4.7).
|
|
53
70
|
*/
|
|
71
|
+
// 05 §9.1's `mcp:token` bucket, 120 a minute. Counted in `rate_counters`
|
|
72
|
+
// like the mail allowance — durable, org-scoped, one row per token — so
|
|
73
|
+
// two instances or a restart share the same count. 07 §8.4: on 429 the
|
|
74
|
+
// tool layer tells the agent to stop and ask, never to sleep and retry.
|
|
75
|
+
const over = await overReadBudget(sql, claims, new Date()).catch(() => null);
|
|
76
|
+
if (over)
|
|
77
|
+
return quotaExceeded(c, over);
|
|
54
78
|
void touchMcpToken(sql, claims.tokenId, hashAddress(c, claims)).catch(() => { });
|
|
55
79
|
return next();
|
|
56
80
|
};
|
|
@@ -184,4 +208,35 @@ export async function agentReviewer(tx, what) {
|
|
|
184
208
|
`;
|
|
185
209
|
return id;
|
|
186
210
|
}
|
|
211
|
+
/** `mcp:token` — 05 §9.1, 07 §8.4: 120 requests per minute per token. */
|
|
212
|
+
export const READ_BUDGET = { requests: 120, windowMs: 60_000 };
|
|
213
|
+
/** Bump the token's minute window; the moment it clears when over, else null. */
|
|
214
|
+
export async function overReadBudget(sql, claims, now) {
|
|
215
|
+
const key = `mcp:${claims.tokenId}`;
|
|
216
|
+
const windowStart = new Date(now.getTime() - READ_BUDGET.windowMs);
|
|
217
|
+
const expires = new Date(now.getTime() + READ_BUDGET.windowMs);
|
|
218
|
+
const [row] = await sql `
|
|
219
|
+
INSERT INTO rate_counters (org_id, bucket_key, window_start, count, expires_at)
|
|
220
|
+
VALUES (${claims.orgId}::uuid, ${key}, ${now}, 1, ${expires})
|
|
221
|
+
ON CONFLICT (org_id, bucket_key) DO UPDATE
|
|
222
|
+
SET count = CASE WHEN rate_counters.window_start < ${windowStart} THEN 1 ELSE rate_counters.count + 1 END,
|
|
223
|
+
window_start = CASE WHEN rate_counters.window_start < ${windowStart} THEN ${now} ELSE rate_counters.window_start END,
|
|
224
|
+
expires_at = CASE WHEN rate_counters.window_start < ${windowStart} THEN ${expires} ELSE rate_counters.expires_at END
|
|
225
|
+
RETURNING count::text, window_start
|
|
226
|
+
`;
|
|
227
|
+
if (!row || Number(row.count) <= READ_BUDGET.requests)
|
|
228
|
+
return null;
|
|
229
|
+
return new Date(new Date(row.window_start).getTime() + READ_BUDGET.windowMs);
|
|
230
|
+
}
|
|
231
|
+
export function quotaExceeded(c, clearsAt) {
|
|
232
|
+
const seconds = Math.max(1, Math.ceil((clearsAt.getTime() - Date.now()) / 1000));
|
|
233
|
+
return c.json({
|
|
234
|
+
error: {
|
|
235
|
+
code: "quota_exceeded",
|
|
236
|
+
message: `This MCP token has made ${READ_BUDGET.requests} requests in the last minute. Stop and ask your user ` +
|
|
237
|
+
`before continuing — do not retry on your own. The window clears in ${seconds}s.`,
|
|
238
|
+
requestId: c.get("requestId"),
|
|
239
|
+
},
|
|
240
|
+
}, 429);
|
|
241
|
+
}
|
|
187
242
|
//# sourceMappingURL=mcpAuth.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcpAuth.js","sourceRoot":"","sources":["../../src/routes/mcpAuth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGlE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"mcpAuth.js","sourceRoot":"","sources":["../../src/routes/mcpAuth.ts"],"names":[],"mappings":"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"}
|
package/dist/routes/mcpToken.js
CHANGED
|
@@ -30,10 +30,10 @@ export async function mintMcpToken(sql, id, opts) {
|
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
await sql `
|
|
33
|
-
INSERT INTO mcp_tokens (id, org_id, project_id, name, prefix, token_hash, scopes, created_by, expires_at)
|
|
33
|
+
INSERT INTO mcp_tokens (id, org_id, project_id, name, prefix, token_hash, scopes, created_by, expires_at, allow_remote_writes)
|
|
34
34
|
VALUES (${id}, ${opts.orgId}, ${opts.projectId ?? null}, ${opts.name}, ${prefix},
|
|
35
35
|
${hash(token)}, ${sql.array(scopes)}, ${opts.createdBy ?? null},
|
|
36
|
-
${opts.expiresAt ?? null})
|
|
36
|
+
${opts.expiresAt ?? null}, ${opts.allowRemoteWrites ?? false})
|
|
37
37
|
`;
|
|
38
38
|
return { id, token, prefix };
|
|
39
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcpToken.js","sourceRoot":"","sources":["../../src/routes/mcpToken.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAqCzD,uEAAuE;AACvE,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,cAAc;IACd,cAAc;IACd,gBAAgB;IAChB,eAAe;IACf,YAAY;CACJ,CAAC;AAGX;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,cAAc,GAAwB,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;AAElF,MAAM,IAAI,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"mcpToken.js","sourceRoot":"","sources":["../../src/routes/mcpToken.ts"],"names":[],"mappings":"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"}
|
package/dist/routes/mcpTokens.js
CHANGED
|
@@ -10,6 +10,7 @@ const shape = (r) => ({
|
|
|
10
10
|
name: r.name,
|
|
11
11
|
prefix: r.prefix,
|
|
12
12
|
scopes: r.scopes,
|
|
13
|
+
allowRemoteWrites: r.allow_remote_writes,
|
|
13
14
|
site: r.project_uid ? { uid: r.project_uid, name: r.project_name ?? "" } : null,
|
|
14
15
|
createdBy: r.created_by_name,
|
|
15
16
|
createdAt: r.created_at.toISOString(),
|
|
@@ -37,7 +38,7 @@ export function mcpTokenRoutes(deps) {
|
|
|
37
38
|
const load = (orgId, id) => sql.begin(async (tx) => {
|
|
38
39
|
await tx `SELECT set_config('app.org_id', ${orgId}, true)`;
|
|
39
40
|
return tx `
|
|
40
|
-
SELECT t.id, t.name, t.prefix, t.scopes, p.uid AS project_uid, p.name AS project_name, u.name AS created_by_name,
|
|
41
|
+
SELECT t.id, t.name, t.prefix, t.scopes, t.allow_remote_writes, p.uid AS project_uid, p.name AS project_name, u.name AS created_by_name,
|
|
41
42
|
t.created_at, t.last_used_at, t.expires_at, t.revoked_at
|
|
42
43
|
FROM mcp_tokens t
|
|
43
44
|
LEFT JOIN projects p ON p.id = t.project_id
|
|
@@ -51,7 +52,12 @@ export function mcpTokenRoutes(deps) {
|
|
|
51
52
|
if (owner instanceof Response)
|
|
52
53
|
return owner;
|
|
53
54
|
const rows = await load(owner.orgId);
|
|
54
|
-
|
|
55
|
+
// D107/D108: whether POST /mcp is served, who decided, and where — the
|
|
56
|
+
// card draws the switch from it and the dialog shows the remote config
|
|
57
|
+
// only when it is on.
|
|
58
|
+
const state = await deps.mcpHttp();
|
|
59
|
+
const http = { enabled: state.enabled, source: state.source, url: `${(await deps.address()).replace(/\/+$/, "")}/mcp` };
|
|
60
|
+
return c.json({ data: rows.map(shape), scopes: MCP_SCOPES, defaults: DEFAULT_SCOPES, http });
|
|
55
61
|
});
|
|
56
62
|
app.post("/api/v1/mcp-tokens", async (c) => {
|
|
57
63
|
const owner = mustBeOwner(c);
|
|
@@ -90,10 +96,11 @@ export function mcpTokenRoutes(deps) {
|
|
|
90
96
|
}
|
|
91
97
|
expiresAt = new Date(Date.now() + days * 86_400_000);
|
|
92
98
|
}
|
|
99
|
+
const allowRemoteWrites = body?.["allowRemoteWrites"] === true;
|
|
93
100
|
const id = randomUUID();
|
|
94
101
|
const minted = await sql.begin(async (tx) => {
|
|
95
102
|
await tx `SELECT set_config('app.org_id', ${owner.orgId}, true)`;
|
|
96
|
-
return mintMcpToken(tx, id, { orgId: owner.orgId, projectId, name, scopes, createdBy: owner.userId, expiresAt });
|
|
103
|
+
return mintMcpToken(tx, id, { orgId: owner.orgId, projectId, name, scopes, createdBy: owner.userId, expiresAt, allowRemoteWrites });
|
|
97
104
|
});
|
|
98
105
|
const [row] = await load(owner.orgId, id);
|
|
99
106
|
return c.json({ token: shape(row), secret: minted.token }, 201);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcpTokens.js","sourceRoot":"","sources":["../../src/routes/mcpTokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAgB,MAAM,MAAM,CAAC;AAE1C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"mcpTokens.js","sourceRoot":"","sources":["../../src/routes/mcpTokens.ts"],"names":[],"mappings":"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"}
|
package/dist/routes/threads.js
CHANGED
|
@@ -70,7 +70,7 @@ features,
|
|
|
70
70
|
*/
|
|
71
71
|
notifications = async () => false,
|
|
72
72
|
/** Where this instance lives (SNAGSET_BASE_URL) — the brief's screenshot links are absolute. */
|
|
73
|
-
baseUrl = "http://localhost:8080",
|
|
73
|
+
baseUrl = async () => "http://localhost:8080",
|
|
74
74
|
/**
|
|
75
75
|
* D95/D97: the site's tracker connections — id, provider, and whether
|
|
76
76
|
* issues are made on every new thread. Injected so this file never opens
|
|
@@ -847,7 +847,7 @@ trackers = async () => []) {
|
|
|
847
847
|
const shaped = shape(row);
|
|
848
848
|
if (!wantMarkdown)
|
|
849
849
|
return c.json(shaped);
|
|
850
|
-
const md = briefMarkdown(shaped, { name: p.name, dashboardOrigin: baseUrl });
|
|
850
|
+
const md = briefMarkdown(shaped, { name: p.name, dashboardOrigin: await baseUrl() });
|
|
851
851
|
return c.text(md, 200, { "content-type": "text/markdown; charset=utf-8" });
|
|
852
852
|
});
|
|
853
853
|
app.patch("/api/v1/projects/:uid/threads/:id", async (c) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"threads.js","sourceRoot":"","sources":["../../src/routes/threads.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"threads.js","sourceRoot":"","sources":["../../src/routes/threads.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
3
|
+
import { createServer } from "./server.js";
|
|
4
|
+
/**
|
|
5
|
+
* The stdio entry point — 07 §8.1's supported transport.
|
|
6
|
+
*
|
|
7
|
+
* | Transport | Where it runs | Default |
|
|
8
|
+
* |---|---|---|
|
|
9
|
+
* | **stdio** | the developer's own machine, spawned by their MCP client | **the supported path** |
|
|
10
|
+
* | streamable HTTP | our server, at `POST /mcp` (D107) | **off** until the switch on Studio › Integrations › MCP, or `SNAGSET_MCP_HTTP_ENABLED` (D108) |
|
|
11
|
+
*
|
|
12
|
+
* This file is the first. stdio is the default and §8.5 is the reason, not
|
|
13
|
+
* a scheduling accident: source mapping needs the checkout, the checkout is
|
|
14
|
+
* on the developer's machine, and a remote server cannot offer `source:map`
|
|
15
|
+
* at all — the instance serves the second without it.
|
|
16
|
+
*
|
|
17
|
+
* ── NOTHING MAY BE WRITTEN TO STDOUT ──
|
|
18
|
+
*
|
|
19
|
+
* stdout IS the protocol channel. A `console.log` anywhere in this package
|
|
20
|
+
* corrupts the JSON-RPC stream and the client reports a parse error with no
|
|
21
|
+
* indication of where it came from. Diagnostics go to stderr, which the client
|
|
22
|
+
* shows in its logs. This is the single most common way an MCP server that
|
|
23
|
+
* works in a test fails in a real client.
|
|
24
|
+
*/
|
|
25
|
+
const env = process.env;
|
|
26
|
+
/**
|
|
27
|
+
* Config comes from the MCP CLIENT's process env (§8.2), not ours — it is
|
|
28
|
+
* written into the client's config file:
|
|
29
|
+
*
|
|
30
|
+
* ```jsonc
|
|
31
|
+
* { "mcpServers": { "snagset": { "command": "npx", "args": ["-y", "./server.js"],
|
|
32
|
+
* "env": { "SNAGSET_MCP_TOKEN": "…", "SNAGSET_MCP_HOST": "https://review.example.com" } } } }
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* `CLICKREVIEW_TOKEN` and `CLICKREVIEW_HOST` are DELETED — the last
|
|
36
|
+
* un-namespaced spelling in 07, kept there only as a deletion record. They are
|
|
37
|
+
* not read here, not even as a fallback: a fallback is how a deleted name stays
|
|
38
|
+
* alive for years.
|
|
39
|
+
*/
|
|
40
|
+
const token = env["SNAGSET_MCP_TOKEN"];
|
|
41
|
+
const host = env["SNAGSET_MCP_HOST"];
|
|
42
|
+
function die(message) {
|
|
43
|
+
// stderr, and a non-zero exit. A server that starts and then answers every
|
|
44
|
+
// tool call with "no token" looks to the agent like a product that does not
|
|
45
|
+
// work; failing at startup puts the message where the developer configuring
|
|
46
|
+
// it will actually see it.
|
|
47
|
+
process.stderr.write(`snagset-mcp: ${message}\n`);
|
|
48
|
+
process.exit(2);
|
|
49
|
+
}
|
|
50
|
+
if (!token) {
|
|
51
|
+
die("SNAGSET_MCP_TOKEN is not set. Mint one on the instance with `snagset mcp-token create <name>` " +
|
|
52
|
+
"and put it in your MCP client's config under env.");
|
|
53
|
+
}
|
|
54
|
+
if (!host) {
|
|
55
|
+
die("SNAGSET_MCP_HOST is not set — the base URL of your Snagset instance, e.g. https://review.example.com");
|
|
56
|
+
}
|
|
57
|
+
if (!token.startsWith("snagmcp_")) {
|
|
58
|
+
// Named early because the two credentials look nothing alike and the failure
|
|
59
|
+
// otherwise arrives as a 401 on the first tool call, three steps later.
|
|
60
|
+
die("SNAGSET_MCP_TOKEN does not look like an MCP token — they begin `snagmcp_`. An API key will not work here.");
|
|
61
|
+
}
|
|
62
|
+
const server = createServer({
|
|
63
|
+
host,
|
|
64
|
+
token,
|
|
65
|
+
// The client spawns us in the developer's project directory, which is what
|
|
66
|
+
// makes `map_thread_to_source` work with no configuration at all.
|
|
67
|
+
repoRoot: env["SNAGSET_MCP_REPO_ROOT"] ?? process.cwd(),
|
|
68
|
+
project: env["SNAGSET_MCP_PROJECT"],
|
|
69
|
+
version: env["SNAGSET_MCP_VERSION"] ?? "0.0.0",
|
|
70
|
+
});
|
|
71
|
+
await server.connect(new StdioServerTransport());
|
|
72
|
+
process.stderr.write(`snagset-mcp: connected to ${host}\n`);
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The HTTP client — 07 §8.1's load-bearing sentence made literal.
|
|
3
|
+
*
|
|
4
|
+
* > *"It is not a second API. Every read the MCP server performs goes through
|
|
5
|
+
* > the same `/api/v1` routes with the same authorisation as any other caller;
|
|
6
|
+
* > it holds no database connection, no credential store and no cache of its
|
|
7
|
+
* > own. A bug in this package cannot read a thread its token could not already
|
|
8
|
+
* > read."*
|
|
9
|
+
*
|
|
10
|
+
* That last clause is a claim about THIS FILE, and it is only true while this
|
|
11
|
+
* is the only way out of the package. There is no `postgres` dependency here
|
|
12
|
+
* and there must never be one: the day this package can reach the database, its
|
|
13
|
+
* scopes become advisory and every mitigation in §8.6 rests on the agent
|
|
14
|
+
* behaving.
|
|
15
|
+
*
|
|
16
|
+
* The whole surface is one method. `fetch` is the platform's, so the package
|
|
17
|
+
* carries no HTTP dependency either.
|
|
18
|
+
*/
|
|
19
|
+
export class Client {
|
|
20
|
+
#host;
|
|
21
|
+
#token;
|
|
22
|
+
#fetch;
|
|
23
|
+
constructor(cfg) {
|
|
24
|
+
// Trailing slash removed once, here, rather than at eleven call sites —
|
|
25
|
+
// `https://x/` + `/api/v1` is a double slash, which some proxies 404 and
|
|
26
|
+
// some silently normalise, so it fails on somebody else's deployment and
|
|
27
|
+
// not on ours.
|
|
28
|
+
this.#host = cfg.host.replace(/\/+$/, "");
|
|
29
|
+
this.#token = cfg.token;
|
|
30
|
+
this.#fetch = cfg.fetch ?? globalThis.fetch;
|
|
31
|
+
}
|
|
32
|
+
get host() {
|
|
33
|
+
return this.#host;
|
|
34
|
+
}
|
|
35
|
+
async call(path, init = {}) {
|
|
36
|
+
const url = new URL(this.#host + path);
|
|
37
|
+
for (const [k, v] of Object.entries(init.query ?? {})) {
|
|
38
|
+
if (v !== undefined && v !== "")
|
|
39
|
+
url.searchParams.set(k, v);
|
|
40
|
+
}
|
|
41
|
+
let res;
|
|
42
|
+
try {
|
|
43
|
+
res = await this.#fetch(url, {
|
|
44
|
+
method: init.method ?? "GET",
|
|
45
|
+
headers: {
|
|
46
|
+
Authorization: `Bearer ${this.#token}`,
|
|
47
|
+
...(init.body === undefined ? {} : { "content-type": "application/json" }),
|
|
48
|
+
},
|
|
49
|
+
...(init.body === undefined ? {} : { body: JSON.stringify(init.body) }),
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
catch (e) {
|
|
53
|
+
// A network failure is the single most likely thing to go wrong here —
|
|
54
|
+
// the agent is on a laptop, the instance is somewhere else — and the
|
|
55
|
+
// message names the host, because "fetch failed" sends a developer to
|
|
56
|
+
// look at their code rather than at their VPN.
|
|
57
|
+
return {
|
|
58
|
+
ok: false,
|
|
59
|
+
status: 0,
|
|
60
|
+
message: `Could not reach ${this.#host}: ${e instanceof Error ? e.message : String(e)}. Check SNAGSET_MCP_HOST and that the instance is running.`,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
const text = await res.text();
|
|
64
|
+
if (!res.ok) {
|
|
65
|
+
const parsed = safeJson(text);
|
|
66
|
+
const code = parsed?.error?.code;
|
|
67
|
+
const message = parsed?.error?.message ?? text.slice(0, 400);
|
|
68
|
+
// 07 §8.4: on 429 the tool layer must tell the agent to STOP and ask its
|
|
69
|
+
// user — *"never a silent retry, never a sleep-and-retry loop. An agent
|
|
70
|
+
// that has been talked into mass-resolving threads must hit a wall it has
|
|
71
|
+
// to report, because the wall is the only part of the mitigation a human
|
|
72
|
+
// sees."* This client therefore has no retry logic at all, on any status.
|
|
73
|
+
if (res.status === 429) {
|
|
74
|
+
// Appended only when the server did not already say it. The server's
|
|
75
|
+
// own budget message ends "do not retry", and adding ours produced
|
|
76
|
+
// "…do not retry. Do not retry — tell your user." — a stop signal that
|
|
77
|
+
// reads like a stutter, which is the opposite of what it is for.
|
|
78
|
+
const stop = /do not retry/i.test(message) ? "" : " Do not retry — tell your user.";
|
|
79
|
+
return { ok: false, status: 429, message: message + stop };
|
|
80
|
+
}
|
|
81
|
+
if (code === "mcp_scope_denied") {
|
|
82
|
+
return { ok: false, status: 403, message };
|
|
83
|
+
}
|
|
84
|
+
return { ok: false, status: res.status, message: `${res.status}: ${message}` };
|
|
85
|
+
}
|
|
86
|
+
const value = safeJson(text);
|
|
87
|
+
if (value === null && text.trim() !== "null") {
|
|
88
|
+
return {
|
|
89
|
+
ok: false,
|
|
90
|
+
status: res.status,
|
|
91
|
+
// The exact failure the server's own widget route had: a 200 with an
|
|
92
|
+
// HTML body, because an SPA fallback answered a path nobody had
|
|
93
|
+
// registered. Named, because "unexpected token <" is not a diagnosis.
|
|
94
|
+
message: `${this.#host} answered ${res.status} with something that is not JSON. Is SNAGSET_MCP_HOST pointing at a Snagset instance?`,
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
return { ok: true, value: value };
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
function safeJson(text) {
|
|
101
|
+
try {
|
|
102
|
+
return JSON.parse(text);
|
|
103
|
+
}
|
|
104
|
+
catch {
|
|
105
|
+
return null;
|
|
106
|
+
}
|
|
107
|
+
}
|