@mcp-index/sdk 0.16.0 → 0.18.0

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.
Files changed (43) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +19 -2
  3. package/dist/src/ambient.d.ts +4 -0
  4. package/dist/src/ambient.d.ts.map +1 -1
  5. package/dist/src/ambient.js +1 -1
  6. package/dist/src/ambient.js.map +1 -1
  7. package/dist/src/canonical.d.ts +3 -2
  8. package/dist/src/canonical.d.ts.map +1 -1
  9. package/dist/src/canonical.js +7 -6
  10. package/dist/src/canonical.js.map +1 -1
  11. package/dist/src/contextWatch.d.ts +66 -0
  12. package/dist/src/contextWatch.d.ts.map +1 -0
  13. package/dist/src/contextWatch.js +328 -0
  14. package/dist/src/contextWatch.js.map +1 -0
  15. package/dist/src/contractFields.d.ts +51 -0
  16. package/dist/src/contractFields.d.ts.map +1 -0
  17. package/dist/src/contractFields.js +131 -0
  18. package/dist/src/contractFields.js.map +1 -0
  19. package/dist/src/gate.d.ts +8 -0
  20. package/dist/src/gate.d.ts.map +1 -1
  21. package/dist/src/gate.js +91 -3
  22. package/dist/src/gate.js.map +1 -1
  23. package/dist/src/index.d.ts +2 -0
  24. package/dist/src/index.d.ts.map +1 -1
  25. package/dist/src/index.js +1 -0
  26. package/dist/src/index.js.map +1 -1
  27. package/dist/src/listingFilter.d.ts +2 -2
  28. package/dist/src/listingFilter.d.ts.map +1 -1
  29. package/dist/src/listingFilter.js +14 -6
  30. package/dist/src/listingFilter.js.map +1 -1
  31. package/dist/src/pendingStore.d.ts +3 -0
  32. package/dist/src/pendingStore.d.ts.map +1 -1
  33. package/dist/src/pendingStore.js +9 -0
  34. package/dist/src/pendingStore.js.map +1 -1
  35. package/dist/src/preflight.d.ts +6 -0
  36. package/dist/src/preflight.d.ts.map +1 -1
  37. package/dist/src/preflight.js +17 -4
  38. package/dist/src/preflight.js.map +1 -1
  39. package/dist/src/wrap.d.ts +6 -1
  40. package/dist/src/wrap.d.ts.map +1 -1
  41. package/dist/src/wrap.js +217 -11
  42. package/dist/src/wrap.js.map +1 -1
  43. package/package.json +1 -1
package/dist/src/wrap.js CHANGED
@@ -26,6 +26,8 @@
26
26
  * connection. It reuses the wrapped session's own authenticated transport. The
27
27
  * shared Gate reads only the PUBLIC contract.
28
28
  */
29
+ import { ContextWatcher, defaultContextStorePath } from "./contextWatch.js";
30
+ import { assignOwn, listedFields } from "./contractFields.js";
29
31
  import { Gate, Posture, HELD_PROVENANCE_UNAVAILABLE_BANNER, HELD_PROVENANCE_UNAVAILABLE_MESSAGE, INTERNAL_ERROR_HELD_MESSAGE, isInternalErrorVerdict, renderHoldBanner, renderHoldMessage, behaviourObserved, } from "./gate.js";
30
32
  import { Decision, HoldClass, PreflightPin, defaultPinStorePath, makeVerdict, utcNowIso } from "./preflight.js";
31
33
  import { MAX_LISTED_TOOLS, WITHHELD_CALL_REASON, filterListing, rawToolEntries, replaceToolList, } from "./listingFilter.js";
@@ -35,7 +37,7 @@ import { ChangeKind } from "./schemaDiff.js";
35
37
  import { Operation } from "./errors.js";
36
38
  import { Action } from "./outcomes.js";
37
39
  import { surfaceProvenance } from "./provenance.js";
38
- import { AmbientNotifier } from "./ambient.js";
40
+ import { AmbientNotifier, safeLabel } from "./ambient.js";
39
41
  const DEFAULT_BEHAVIORAL_MANDATED_KINDS = new Set([
40
42
  ChangeKind.OUTPUT_SCHEMA_CHANGED,
41
43
  ChangeKind.ANNOTATION_FLIP_TO_DESTRUCTIVE,
@@ -99,6 +101,11 @@ const DENY_DELEGATION = new Set([
99
101
  "_transport",
100
102
  "send",
101
103
  ]);
104
+ const LIST_CHANGED = "notifications/tools/list_changed";
105
+ // Marks a client whose listTools already routes through a wrapper, and a
106
+ // notification handler already watched, so a second wrap does not stack.
107
+ const REFRESH_HOOK = Symbol.for("mcpindex.wrap.refreshHook");
108
+ const RELIST_CALL_REASON = "the server said its tool list changed and the list has not been read again; the call holds until it is";
102
109
  /** Pull PUBLIC tool definitions out of whatever `listTools()` returned. Tolerant
103
110
  * (the listing is attacker-derived): a `{tools: [...]}` object, a bare list, each
104
111
  * entry a dict or an SDK Tool object. Normalizes to the PUBLIC-contract dict. */
@@ -144,6 +151,7 @@ function toolToDict(entry) {
144
151
  const outp = attrOrKey(entry, "outputSchema");
145
152
  if (outp !== null && typeof outp === "object" && !Array.isArray(outp))
146
153
  record["outputSchema"] = outp;
154
+ assignOwn(record, listedFields(entry));
147
155
  return record;
148
156
  }
149
157
  /** DUCK-TYPE a `request` argument -> (method, toolName). The TS SDK passes a
@@ -218,6 +226,20 @@ class Interceptor {
218
226
  withheldNames = new Set();
219
227
  listingNames = new Set();
220
228
  priorNames = new Set();
229
+ // The inner client's own listTools, captured before the refresh hook replaces it.
230
+ rawListTools = null;
231
+ // Names observed before the last tools/list_changed. A name leaves the set when a
232
+ // list page that started after the notification carries it; until then its calls hold
233
+ // under guard and strict. Per name, because the MCP client's refresh reads page 1 only.
234
+ staleNames = new Set();
235
+ contextWatcher;
236
+ contextObserved = false;
237
+ // Names pinned by the current list window when it opened on an empty, untainted
238
+ // store; null when no window may pin on first sight. Ended by list_changed, any
239
+ // call, the page that ends the list, and the next cursorless list.
240
+ firstSightNames = null;
241
+ firstSightEpoch = -1;
242
+ listEpoch = 0;
221
243
  onWithheld;
222
244
  lastSurface = new Map();
223
245
  // The tier the LAST gated call for a tool ACTUALLY reached, for its provenance (mirrors the
@@ -253,6 +275,50 @@ class Interceptor {
253
275
  // under DO_NOT_TRACK). `onInvocation` lets an integrator render the signal in their
254
276
  // own UI. The notifier never touches stdout or the gate decision.
255
277
  this.ambient = AmbientNotifier.fromEnv({ observer: opts.onInvocation });
278
+ this.contextWatcher = this.buildContextWatcher(opts.onContextDrift ?? null);
279
+ }
280
+ buildContextWatcher(onDrift) {
281
+ const path = this.gate.pinStore.path;
282
+ if (path === null)
283
+ return null;
284
+ const watcherPath = defaultContextStorePath(path);
285
+ return new ContextWatcher(watcherPath, this.gate.serverId, (obs) => {
286
+ const kinds = obs.kinds.length > 0 ? obs.kinds.join(", ") : obs.detail || "-";
287
+ process.stderr.write(`mcpindex: context surface ${obs.outcome} on ${safeLabel(obs.serverId)} (${safeLabel(kinds)}); baseline ${watcherPath}\n`);
288
+ if (onDrift !== null)
289
+ onDrift(obs);
290
+ }, utcNowIso);
291
+ }
292
+ /** Read `getInstructions()` once per connection and observe it. Never throws,
293
+ * never changes what the session returns. */
294
+ observeContext(target) {
295
+ if (this.contextWatcher === null || this.contextObserved)
296
+ return;
297
+ try {
298
+ const getter = Reflect.get(target, "getInstructions", target);
299
+ const version = Reflect.get(target, "getServerVersion", target);
300
+ if (typeof getter !== "function" || typeof version !== "function")
301
+ return;
302
+ if (version.call(target) === undefined)
303
+ return; // not connected yet
304
+ this.contextObserved = true;
305
+ this.contextWatcher.observe(getter.call(target), "initialize", null);
306
+ }
307
+ catch {
308
+ // observing must never break the session
309
+ }
310
+ }
311
+ connectAndObserve(target, connect, args) {
312
+ this.contextObserved = false;
313
+ const result = connect.apply(target, args);
314
+ if (isThenable(result)) {
315
+ return result.then((value) => {
316
+ this.observeContext(target);
317
+ return value;
318
+ });
319
+ }
320
+ this.observeContext(target);
321
+ return result;
256
322
  }
257
323
  /** Emit the ambient "watching this tool" signal on the PROCEED path. Fully isolated and
258
324
  * best-effort: it writes ONLY to stderr + the observer (never stdout), never reads or
@@ -289,24 +355,114 @@ class Interceptor {
289
355
  return new PreflightPin(defaultPinStorePath(opts.serverId ?? DEFAULT_SERVER_ID));
290
356
  }
291
357
  // ------------------------------------------------------------- list_tools
292
- // The SDK client's listChanged handler calls listTools on the inner client,
293
- // so that refresh is not filtered here.
358
+ // The SDK client's listChanged refresh calls `this.listTools()` on the inner
359
+ // client. `installRefreshHooks` points that property here, so the refresh is
360
+ // filtered like any other list and `onChanged` only sees kept entries.
294
361
  listTools(target, args) {
295
362
  const window = this.openListingWindow(cursorOfList(args));
296
- const result = target.listTools.apply(target, args);
363
+ const epoch = this.listEpoch;
364
+ const firstSight = this.firstSightNames;
365
+ const raw = this.rawListTools ?? target.listTools;
366
+ const result = raw.apply(target, args);
297
367
  if (isThenable(result))
298
- return result.then((r) => this.filterList(r, window));
299
- return this.filterList(result, window);
368
+ return result.then((r) => this.filterList(r, window, epoch, firstSight));
369
+ return this.filterList(result, window, epoch, firstSight);
370
+ }
371
+ /** Route the inner client's own listTools and its notification handlers
372
+ * through this interceptor. Without it, the MCP client's listChanged refresh
373
+ * hands every tool to `onChanged` unfiltered, and a call is judged against a
374
+ * definition the server no longer lists. */
375
+ installRefreshHooks(target) {
376
+ const current = Reflect.get(target, "listTools", target);
377
+ if (typeof current !== "function")
378
+ return;
379
+ const prior = Reflect.get(target, REFRESH_HOOK, target);
380
+ this.rawListTools = prior !== undefined ? prior.raw : current;
381
+ try {
382
+ Object.defineProperty(target, "listTools", {
383
+ value: (...args) => this.listTools(target, args),
384
+ configurable: true,
385
+ writable: true,
386
+ enumerable: false,
387
+ });
388
+ const hook = prior ?? { raw: this.rawListTools, listeners: new Set() };
389
+ // Every wrapper on this client hears list_changed, whichever registered first.
390
+ hook.listeners.add(() => this.markListChanged());
391
+ if (prior === undefined) {
392
+ Object.defineProperty(target, REFRESH_HOOK, { value: hook, configurable: true, enumerable: false });
393
+ this.hookNotifications(target, hook);
394
+ }
395
+ }
396
+ catch (exc) {
397
+ this.gate.captureError(exc, Operation.LIST_TOOLS, "wrap.installRefreshHooks");
398
+ if (this.gate.posture !== Posture.MONITOR) {
399
+ throw new Error("mcpindex: cannot route this client's tool-list refresh through the gate (the client object " +
400
+ "rejects new properties, for example because it is frozen). Wrap an unfrozen client, or use " +
401
+ "posture monitor.");
402
+ }
403
+ }
404
+ }
405
+ hookNotifications(target, hook) {
406
+ const watch = (handler) => {
407
+ if (typeof handler !== "function" || Reflect.get(handler, REFRESH_HOOK) === true)
408
+ return handler;
409
+ const wrapped = (...args) => {
410
+ const note = args[0];
411
+ if (note !== null && typeof note === "object" && note.method === LIST_CHANGED) {
412
+ for (const listener of hook.listeners)
413
+ listener();
414
+ }
415
+ return handler(...args);
416
+ };
417
+ Object.defineProperty(wrapped, REFRESH_HOOK, { value: true });
418
+ return wrapped;
419
+ };
420
+ // Handlers registered before wrap: the MCP client registers its listChanged
421
+ // refresh during connect(). With no handler at all the client drops the
422
+ // notification, so register one that only watches and then defers to the
423
+ // client's fallback handler, as the client would have.
424
+ const handlers = Reflect.get(target, "_notificationHandlers", target);
425
+ if (handlers instanceof Map) {
426
+ const existing = handlers.get(LIST_CHANGED);
427
+ const base = existing ??
428
+ ((...args) => {
429
+ const fallback = Reflect.get(target, "fallbackNotificationHandler", target);
430
+ return typeof fallback === "function" ? fallback.apply(target, args) : undefined;
431
+ });
432
+ handlers.set(LIST_CHANGED, watch(base));
433
+ }
434
+ // Handlers registered after wrap, including the one connect() sets up.
435
+ const setter = Reflect.get(target, "setNotificationHandler", target);
436
+ if (typeof setter === "function") {
437
+ Object.defineProperty(target, "setNotificationHandler", {
438
+ value: (schema, handler, ...rest) => setter.call(target, schema, watch(handler), ...rest),
439
+ configurable: true,
440
+ writable: true,
441
+ enumerable: false,
442
+ });
443
+ }
444
+ }
445
+ markListChanged() {
446
+ this.listEpoch += 1;
447
+ this.firstSightNames = null;
448
+ if (this.gate.posture === Posture.MONITOR)
449
+ return;
450
+ for (const name of this.observed.keys())
451
+ this.staleNames.add(name);
300
452
  }
301
453
  openListingWindow(cursor) {
302
454
  if (cursor === null) {
303
455
  this.listingNames = new Set();
304
456
  this.gate.reloadPins();
305
457
  this.priorNames = new Set(this.gate.pinnedTools().map((pin) => pin.toolName));
458
+ // A list that opens on an empty, untainted store may pin its later pages too.
459
+ this.firstSightNames =
460
+ this.priorNames.size === 0 && this.gate.pinStore.tainted === null ? new Set() : null;
461
+ this.firstSightEpoch = this.listEpoch;
306
462
  }
307
463
  return this.listingNames;
308
464
  }
309
- filterList(result, window) {
465
+ filterList(result, window, epoch = this.listEpoch, firstSight = null) {
310
466
  try {
311
467
  if (!carriesTools(result))
312
468
  return result;
@@ -316,7 +472,12 @@ class Interceptor {
316
472
  return replaceToolList(result, []);
317
473
  }
318
474
  this.gate.reloadPins();
319
- this.observe(result);
475
+ this.observe(result, epoch, firstSight);
476
+ // A page that began after the last list_changed is a fresh read of the names it carries.
477
+ if (epoch === this.listEpoch && this.staleNames.size > 0) {
478
+ for (const defn of toolsFromResult(result))
479
+ this.staleNames.delete(defn["name"]);
480
+ }
320
481
  if (this.gate.posture === Posture.MONITOR)
321
482
  return result;
322
483
  const outcome = filterListing(this.gate, raw, window);
@@ -373,7 +534,7 @@ class Interceptor {
373
534
  }
374
535
  }
375
536
  }
376
- observe(result) {
537
+ observe(result, epoch = this.listEpoch, captured = null) {
377
538
  try {
378
539
  const tools = toolsFromResult(result);
379
540
  this.gate.reloadPins();
@@ -381,7 +542,15 @@ class Interceptor {
381
542
  const storeEmpty = storePins.length === 0;
382
543
  // First-sight trust only when the pin store holds no pins for this server.
383
544
  // An empty prior snapshot is not enough on a cursor-bearing first list.
545
+ // The window this request opened in, and only while it is still the current one.
546
+ const window = captured !== null && captured === this.firstSightNames ? captured : null;
547
+ // Still the current window, and every pin the server holds was written by it.
548
+ const firstSight = window !== null &&
549
+ epoch === this.firstSightEpoch &&
550
+ epoch === this.listEpoch &&
551
+ storePins.every((pin) => window.has(pin.toolName));
384
552
  const allowNew = storeEmpty ||
553
+ firstSight ||
385
554
  this.gate.posture === Posture.MONITOR ||
386
555
  this.gate.newTools === "tofu";
387
556
  let prior = this.priorNames;
@@ -401,7 +570,19 @@ class Interceptor {
401
570
  // later call holds. Do not break the listing.
402
571
  continue;
403
572
  }
573
+ if (firstSight || storeEmpty) {
574
+ const current = this.firstSightNames;
575
+ // Two lists in flight on a first run: a stale response's names belong to the
576
+ // current window too, when that window opened in the same epoch.
577
+ if (current !== null && (current === window || (storeEmpty && this.firstSightEpoch === epoch))) {
578
+ current.add(name);
579
+ }
580
+ }
404
581
  }
582
+ // The last page ends the window.
583
+ const next = result !== null && typeof result === "object" ? result["nextCursor"] : undefined;
584
+ if (!next && window !== null && this.firstSightNames === window)
585
+ this.firstSightNames = null;
405
586
  }
406
587
  catch (exc) {
407
588
  this.gate.captureError(exc, Operation.LIST_TOOLS, "wrap.observe");
@@ -527,10 +708,12 @@ class Interceptor {
527
708
  const [method, toolName] = requestMethodAndTool(args[0]);
528
709
  if (method === "tools/list") {
529
710
  const window = this.openListingWindow(cursorOfRequest(args[0]));
711
+ const epoch = this.listEpoch;
712
+ const firstSight = this.firstSightNames;
530
713
  const result = reqFn.apply(target, args);
531
714
  if (isThenable(result))
532
- return result.then((r) => this.filterList(r, window));
533
- return this.filterList(result, window);
715
+ return result.then((r) => this.filterList(r, window, epoch, firstSight));
716
+ return this.filterList(result, window, epoch, firstSight);
534
717
  }
535
718
  if (method !== "tools/call") {
536
719
  return reqFn.apply(target, args);
@@ -657,6 +840,20 @@ class Interceptor {
657
840
  return Promise.reject(new PreflightHold(verdict, prov, banner, presentation));
658
841
  }
659
842
  decideOrInternalHold(name, operation) {
843
+ // A call ends any first-sight window: from here on the server is in use.
844
+ this.firstSightNames = null;
845
+ if (this.staleNames.has(name) && this.gate.posture !== Posture.MONITOR) {
846
+ const verdict = makeVerdict({
847
+ serverId: this.gate.serverId,
848
+ toolName: name,
849
+ decision: Decision.HOLD,
850
+ reason: RELIST_CALL_REASON,
851
+ isContractDiff: false,
852
+ holdClass: HoldClass.UNCHECKABLE,
853
+ });
854
+ this.recordCall(name, verdict, verdict);
855
+ return verdict;
856
+ }
660
857
  if (this.withheldNames.has(name)) {
661
858
  const verdict = makeVerdict({
662
859
  serverId: this.gate.serverId,
@@ -839,6 +1036,9 @@ const OWN_METHODS = new Set([
839
1036
  export function wrap(session, opts = {}) {
840
1037
  const sess = session;
841
1038
  const interceptor = new Interceptor(sess, opts);
1039
+ interceptor.installRefreshHooks(sess);
1040
+ // Wrapped after connect: the instructions are already in hand.
1041
+ interceptor.observeContext(sess);
842
1042
  const handler = {
843
1043
  get(target, prop, _receiver) {
844
1044
  if (typeof prop !== "string") {
@@ -877,6 +1077,12 @@ export function wrap(session, opts = {}) {
877
1077
  return real;
878
1078
  return interceptor.wrapExperimental(real);
879
1079
  }
1080
+ if (prop === "connect") {
1081
+ const realConnect = Reflect.get(target, "connect", target);
1082
+ if (typeof realConnect !== "function")
1083
+ return realConnect;
1084
+ return (...args) => interceptor.connectAndObserve(target, realConnect, args);
1085
+ }
880
1086
  if (prop === "close") {
881
1087
  // The SDK `Protocol.close()` is the wrapper's natural session-dispose hook (the
882
1088
  // TS analog of Python's context-manager `__exit__`). Emit the once-per-session
@@ -1 +1 @@
1
- {"version":3,"file":"wrap.js","sourceRoot":"","sources":["../../src/wrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wrap.js","sourceRoot":"","sources":["../../src/wrap.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mcp-index/sdk",
3
- "version": "0.16.0",
3
+ "version": "0.18.0",
4
4
  "description": "Pre-flight MCP tool-contract drift interceptor from mcpindex.ai, the drift-monitored MCP server index. One-line wrap() over an MCP client session that HOLDs a tool call before your agent runs it when the contract drifted from your pin. No credential handling.",
5
5
  "license": "PolyForm-Noncommercial-1.0.0",
6
6
  "author": "Bhartis LLC",