@plurnk/plurnk-mcp 3.2.0 → 3.3.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 (51) hide show
  1. package/README.md +30 -15
  2. package/SPEC.md +190 -93
  3. package/dist/McpExecutor.d.ts +10 -1
  4. package/dist/McpExecutor.d.ts.map +1 -1
  5. package/dist/McpExecutor.js +34 -8
  6. package/dist/McpExecutor.js.map +1 -1
  7. package/dist/McpResources.d.ts +2 -1
  8. package/dist/McpResources.d.ts.map +1 -1
  9. package/dist/McpResources.js +7 -3
  10. package/dist/McpResources.js.map +1 -1
  11. package/dist/Module.d.ts.map +1 -1
  12. package/dist/Module.js +196 -71
  13. package/dist/Module.js.map +1 -1
  14. package/dist/PluginConfiguration.d.ts +8 -10
  15. package/dist/PluginConfiguration.d.ts.map +1 -1
  16. package/dist/PluginConfiguration.js +4 -4
  17. package/dist/PluginConfiguration.js.map +1 -1
  18. package/dist/capabilityMatrix.d.ts.map +1 -1
  19. package/dist/capabilityMatrix.js +1 -0
  20. package/dist/capabilityMatrix.js.map +1 -1
  21. package/dist/client.d.ts +7 -0
  22. package/dist/client.d.ts.map +1 -1
  23. package/dist/client.js +174 -83
  24. package/dist/client.js.map +1 -1
  25. package/dist/config.d.ts.map +1 -1
  26. package/dist/config.js +2 -2
  27. package/dist/config.js.map +1 -1
  28. package/dist/definition.js.map +1 -1
  29. package/dist/extensionChannel.d.ts.map +1 -1
  30. package/dist/extensionChannel.js +2 -3
  31. package/dist/extensionChannel.js.map +1 -1
  32. package/dist/inputRequired.d.ts.map +1 -1
  33. package/dist/inputRequired.js +11 -4
  34. package/dist/inputRequired.js.map +1 -1
  35. package/dist/oauth.d.ts +28 -4
  36. package/dist/oauth.d.ts.map +1 -1
  37. package/dist/oauth.js +83 -36
  38. package/dist/oauth.js.map +1 -1
  39. package/dist/protocolHeaders.d.ts.map +1 -1
  40. package/dist/protocolHeaders.js +3 -2
  41. package/dist/protocolHeaders.js.map +1 -1
  42. package/dist/registry.d.ts.map +1 -1
  43. package/dist/registry.js +8 -3
  44. package/dist/registry.js.map +1 -1
  45. package/dist/subscriptions.js.map +1 -1
  46. package/dist/tasks.d.ts +2 -2
  47. package/dist/tasks.d.ts.map +1 -1
  48. package/dist/tasks.js +23 -26
  49. package/dist/tasks.js.map +1 -1
  50. package/docs/mcp.md +9 -5
  51. package/package.json +6 -5
@@ -1 +1 @@
1
- {"version":3,"file":"McpExecutor.js","sourceRoot":"","sources":["../src/McpExecutor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"McpExecutor.js","sourceRoot":"","sources":["../src/McpExecutor.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { type EntryFindResult, type FindStatement, type RepresentationPreparationRequest, type RepresentationPreparationResult, type SchemeCtx } from "@plurnk/plurnk-schemes";
2
- import ServerConnection, { type ServerCatalog } from "./client.ts";
2
+ import type ServerConnection from "./client.ts";
3
+ import { type ServerCatalog } from "./client.ts";
3
4
  export declare const resourcePath: (uri: string) => string;
4
5
  export default class McpResources {
5
6
  #private;
@@ -1 +1 @@
1
- {"version":3,"file":"McpResources.d.ts","sourceRoot":"","sources":["../src/McpResources.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,KAAK,eAAe,EAGpB,KAAK,aAAa,EAClB,KAAK,gCAAgC,EACrC,KAAK,+BAA+B,EACpC,KAAK,SAAS,EAEjB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,gBAAgB,EAAE,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAoCnE,eAAO,MAAM,YAAY,QAAS,MAAM,KAAG,MACO,CAAC;AAkFnD,MAAM,CAAC,OAAO,OAAO,YAAY;;IAK7B,YAAY,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,OAAO,EAAE,aAAa,EAI/E;IAED,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAMhC;IAyKK,qBAAqB,CACvB,OAAO,EAAE,gCAAgC,EACzC,GAAG,EAAE,SAAS,GACf,OAAO,CAAC,+BAA+B,CAAC,CA+B1C;IAEK,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,eAAe,CAAC,CAiB7E;CACJ"}
1
+ {"version":3,"file":"McpResources.d.ts","sourceRoot":"","sources":["../src/McpResources.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,KAAK,eAAe,EAGpB,KAAK,aAAa,EAClB,KAAK,gCAAgC,EACrC,KAAK,+BAA+B,EACpC,KAAK,SAAS,EAEjB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,gBAAgB,MAAM,aAAa,CAAC;AAChD,OAAO,EAA4C,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAoC3F,eAAO,MAAM,YAAY,QAAS,MAAM,KAAG,MACO,CAAC;AAkFnD,MAAM,CAAC,OAAO,OAAO,YAAY;;IAK7B,YAAY,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,OAAO,EAAE,aAAa,EAI/E;IAED,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAMhC;IAyKK,qBAAqB,CACvB,OAAO,EAAE,gCAAgC,EACzC,GAAG,EAAE,SAAS,GACf,OAAO,CAAC,+BAA+B,CAAC,CAmC1C;IAEK,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,eAAe,CAAC,CAiB7E;CACJ"}
@@ -1,6 +1,6 @@
1
1
  import { Results, ResourceNames, } from "@plurnk/plurnk-schemes";
2
2
  import { ErrorDetail } from "@plurnk/plurnk-execs";
3
- import ServerConnection, {} from "./client.js";
3
+ import { AuthorizationRequiredError, awaitsSignIn } from "./client.js";
4
4
  import ResourceContent from "./ResourceContent.js";
5
5
  import ContentProjection from "./ContentProjection.js";
6
6
  const ROOT = "/";
@@ -163,8 +163,8 @@ export default class McpResources {
163
163
  for (const message of result.messages) {
164
164
  const content = await ContentProjection.project(message.content, {
165
165
  address: (uri) => ctx.entries.address(resourcePath(uri)),
166
- publish: async (channel, name) => {
167
- const child = `${request.pathname}/resources/${names.allocate(name, JSON.stringify(message.content))}`;
166
+ publish: async (channel, resourceName) => {
167
+ const child = `${request.pathname}/resources/${names.allocate(resourceName, JSON.stringify(message.content))}`;
168
168
  requireEntrySuccess(await ctx.entries.write(child, {
169
169
  channels: { body: channel },
170
170
  attributes: { kind: RESOURCE_KIND },
@@ -244,6 +244,10 @@ export default class McpResources {
244
244
  if (error instanceof EntryOperationFailure) {
245
245
  return preparationEntryFailure(error);
246
246
  }
247
+ if (error instanceof AuthorizationRequiredError) {
248
+ // {§mcp-request-unauthorized} — the alias now awaits a sign-in.
249
+ return preparationFailure(this.#server, "authorization-required", 401, awaitsSignIn(this.#server), { retryable: false });
250
+ }
247
251
  const invalidAddress = error instanceof ResourceAddressError;
248
252
  return preparationFailure(this.#server, invalidAddress ? "resource-address-invalid" : "resource-read-failed", invalidAddress ? 400 : 502, invalidAddress
249
253
  ? "The MCP resource address is invalid."
@@ -1 +1 @@
1
- {"version":3,"file":"McpResources.js","sourceRoot":"","sources":["../src/McpResources.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"McpResources.js","sourceRoot":"","sources":["../src/McpResources.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Module.d.ts","sourceRoot":"","sources":["../src/Module.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,iBAAiB,EAAuB,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAgG5I,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACpC;AAED,UAAU,kBAAkB;IACxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AA2GD,eAAO,MAAM,gBAAgB,gBACZ,SAAS,kBAAkB,EAAE,KAC3C,OAAO,CAAC,IAAI,CAUd,CAAC;AAyEF,KAAK,SAAS,GAAG,IAAI,CAAC,eAAe,EACjC,gBAAgB,GAAG,qBAAqB,GAAG,0BAA0B,GAAG,yBAAyB,GAAG,sBAAsB,CAAC,GACzH,iBAAiB,CAAC,mBAAmB,CAAC,GAAG,oBAAoB,CAAC;AAEpE,MAAM,CAAC,OAAO,OAAO,MAAO,YAAW,YAAY,CAAC,SAAS,CAAC;;IAM1D,QAAQ,CAAC,SAAS,EAAE,SAAS,sBAAsB,EAAE,CAAC;IAqBtD,MAAM,CAAC,IAAI,CAAC,OAAO,GAAE,aAAkB,GAAG,MAAM,CAE/C;IAED,OAAO,eAaN;IAEK,KAAK,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CA0D1C;IAykBD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAGpB;CAeJ"}
1
+ {"version":3,"file":"Module.d.ts","sourceRoot":"","sources":["../src/Module.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,iBAAiB,EAAuB,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAkG5I,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACpC;AAED,UAAU,kBAAkB;IACxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AA+FD,eAAO,MAAM,gBAAgB,gBACZ,SAAS,kBAAkB,EAAE,KAC3C,OAAO,CAAC,IAAI,CAUd,CAAC;AAqFF,KAAK,SAAS,GAAG,IAAI,CAAC,eAAe,EACjC,gBAAgB,GAAG,qBAAqB,GAAG,0BAA0B,GAAG,yBAAyB,GAAG,sBAAsB,CAAC,GACzH,iBAAiB,CAAC,mBAAmB,CAAC,GAAG,oBAAoB,CAAC;AAEpE,MAAM,CAAC,OAAO,OAAO,MAAO,YAAW,YAAY,CAAC,SAAS,CAAC;;IAM1D,QAAQ,CAAC,SAAS,EAAE,SAAS,sBAAsB,EAAE,CAAC;IA0BtD,MAAM,CAAC,IAAI,CAAC,OAAO,GAAE,aAAkB,GAAG,MAAM,CAE/C;IAED,OAAO,eAaN;IAEK,KAAK,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CA0D1C;IA2qBD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAGpB;CAiBJ"}
package/dist/Module.js CHANGED
@@ -7,12 +7,13 @@ import { fileURLToPath } from "node:url";
7
7
  import { readDefinition } from "./definition.js";
8
8
  import { isDeepStrictEqual } from "node:util";
9
9
  import { SdkHttpError, UnauthorizedError } from "@modelcontextprotocol/client";
10
+ import { CompleteRequestParamsSchema } from "@modelcontextprotocol/core";
11
+ import { Problems, Validator, isRecord } from "@plurnk/plurnk-contracts";
10
12
  import { ConfigurationError } from "@plurnk/plurnk-meta";
11
- import { Problems, } from "@plurnk/plurnk-contracts";
12
- import ServerConnection, { AuthorizationRequiredError, isClientCredentialsRejection, McpRedirectError, } from "./client.js";
13
+ import ServerConnection, { AuthorizationRequiredError, awaitsSignIn, causeOf, isClientCredentialsRejection, McpRedirectError, } from "./client.js";
13
14
  import { configuredDefinitions, connectTimeoutMs, expandedServerNames, retryDelayMs, retryPacing, registrySettings, serverSettings, } from "./config.js";
14
15
  import { RegistryError, registryEntries, searchRegistry } from "./registry.js";
15
- import McpExecutor, { runtimeDecl, runtimeServerSummary } from "./McpExecutor.js";
16
+ import McpExecutor, { UnavailableServerExecutor, runtimeDecl, runtimeServerSummary } from "./McpExecutor.js";
16
17
  import McpResources from "./McpResources.js";
17
18
  import { OAuthSetupError } from "./oauth.js";
18
19
  const OWNER = "@plurnk/plurnk-mcp";
@@ -27,6 +28,20 @@ const actionInput = (properties, required = []) => ({
27
28
  ...(required.length === 0 ? {} : { required: [...required] }),
28
29
  });
29
30
  const attachmentConnection = (attachment) => attachment.kind === "unavailable" ? undefined : attachment.connection;
31
+ // {§mcp-unavailable-runtime} An enabled server that cannot run still answers to its alias: a call to it is refused with
32
+ // the state that keeps it from running, never as a name nothing registered.
33
+ const unavailableRuntime = (attachment) => {
34
+ const { name } = attachment.definition;
35
+ const detail = attachment.kind === "authorization-required"
36
+ ? "it awaits the operator's sign-in"
37
+ : typeof attachment.problem.diagnostic === "string" ? attachment.problem.diagnostic : attachment.problem.detail;
38
+ return {
39
+ namespaceOwner: OWNER,
40
+ decl: runtimeDecl(name, runtimeServerSummary(name, undefined), false),
41
+ executor: new UnavailableServerExecutor(name, detail),
42
+ availability: { available: false, detail },
43
+ };
44
+ };
30
45
  class ModuleActionError extends Error {
31
46
  problem;
32
47
  constructor(problem, cause) {
@@ -40,27 +55,13 @@ const actionError = (code, status, detail, extensions = {}, cause) => new Module
40
55
  ...extensions,
41
56
  }), cause);
42
57
  const errorsOf = (error) => error instanceof AggregateError ? [...error.errors] : [error];
43
- // The first error of a type anywhere in a cause chain, aggregates included.
44
- const causeOf = (error, type, seen = new Set()) => {
45
- if (error === null || typeof error !== "object" || seen.has(error))
46
- return undefined;
47
- seen.add(error);
48
- if (error instanceof type)
49
- return error;
50
- for (const inner of error instanceof AggregateError ? error.errors : []) {
51
- const found = causeOf(inner, type, seen);
52
- if (found !== undefined)
53
- return found;
54
- }
55
- return causeOf(error.cause, type, seen);
56
- };
57
58
  const preparationError = (definition, authorization, cause, closeCause, observation = {}) => {
58
59
  const completeCause = closeCause === undefined
59
60
  ? cause
60
61
  : new AggregateError([cause, closeCause], `MCP server '${definition.name}' preparation and cleanup failed.`);
61
62
  const setup = causeOf(cause, OAuthSetupError);
62
63
  if (setup !== undefined)
63
- return actionError(setup.code, 502, setup.message, { server: definition.name, retryable: false }, completeCause);
64
+ return actionError(setup.code, 502, setup.message, { server: definition.name, ...(setup.recovery === undefined ? {} : { recovery: setup.recovery }), retryable: false }, completeCause);
64
65
  // {§oauth-client-credentials} — a rejected grant is an authorization fact,
65
66
  // never a generic unavailability.
66
67
  if (authorization?.type === "client-credentials" && isClientCredentialsRejection(cause)) {
@@ -99,9 +100,7 @@ export const closeConnections = async (connections) => {
99
100
  throw new AggregateError(errors, "MCP connection shutdown failed");
100
101
  }
101
102
  };
102
- const objectOf = (value) => typeof value === "object" && value !== null && !Array.isArray(value)
103
- ? value
104
- : null;
103
+ const objectOf = (value) => isRecord(value) ? value : null;
105
104
  const assertActionKeys = (params, allowed) => {
106
105
  const extras = Object.keys(params).filter((key) => !allowed.includes(key));
107
106
  if (extras.length > 0) {
@@ -121,6 +120,18 @@ const workspaceIdentityOf = (context) => {
121
120
  return { workspaceId: context.workspaceId };
122
121
  };
123
122
  const sameBinding = (left, right) => isDeepStrictEqual([left.definition, left.context], [right.definition, right.context]);
123
+ // The coordinator hands this module its own admitted definitions back as the contract's objects: the
124
+ // definition is read through its schema, the plugin context through the two paths it names.
125
+ const isPluginContext = (value) => "root" in value && typeof value.root === "string" && "data" in value && typeof value.data === "string";
126
+ const pluginContextOf = (value) => {
127
+ if (!isPluginContext(value))
128
+ throw new TypeError("An MCP binding's plugin context names its root and data paths.");
129
+ return value;
130
+ };
131
+ const bindingOf = (value) => ({
132
+ definition: Validator.assertMcpServerDefinition(value.definition),
133
+ ...(value.context === undefined ? {} : { context: pluginContextOf(value.context) }),
134
+ });
124
135
  const statusOf = (error) => {
125
136
  if (typeof error !== "object" || error === null)
126
137
  return null;
@@ -128,8 +139,9 @@ const statusOf = (error) => {
128
139
  ?? error.result?.problem;
129
140
  return typeof problem?.status === "number" ? problem.status : null;
130
141
  };
131
- const catalogDetail = (executor) => {
132
- const catalog = executor.catalog;
142
+ // An active alias's detail: its server's catalog, and the summary of a grant its connection presents ({§oauth-grant}).
143
+ const activeDetail = ({ executor: { catalog }, connection }) => {
144
+ const grant = connection.oauthGrant?.summary;
133
145
  return {
134
146
  protocolVersion: catalog.protocolVersion,
135
147
  server: catalog.server ?? null,
@@ -138,6 +150,7 @@ const catalogDetail = (executor) => {
138
150
  resources: catalog.resources.length,
139
151
  resourceTemplates: catalog.resourceTemplates.length,
140
152
  prompts: catalog.prompts.length,
153
+ ...(grant === undefined ? {} : { grant }),
141
154
  };
142
155
  };
143
156
  export default class Module {
@@ -160,6 +173,11 @@ export default class Module {
160
173
  #pending = new Map();
161
174
  #authorizing = new Set();
162
175
  #dirty = new Map();
176
+ // {§mcp-request-unauthorized} The aliases whose server refused a call for want of a sign-in, by pending key.
177
+ #challenged = new Set();
178
+ // {§oauth-grant} Each alias's accepted sign-in, by pending key, with the definition it was accepted for; cooling
179
+ // keeps it.
180
+ #grants = new Map();
163
181
  #connections = new Set();
164
182
  #refreshTimers = new Map();
165
183
  #retainWorkspace = new Map();
@@ -355,8 +373,10 @@ export default class Module {
355
373
  ? await this.#stateDirectory(workspaceId, `${OWNER}/${definition.name}`) : undefined;
356
374
  signal?.throwIfAborted();
357
375
  this.#assertOpen();
376
+ const grant = oauthRedirectUrl === undefined ? this.#grantFor(workspaceId, binding) : undefined;
358
377
  candidate ??= new ServerConnection(definition, environment(this.#env), {
359
378
  ...(oauthRedirectUrl === undefined ? {} : { oauthRedirectUrl }),
379
+ ...(grant === undefined ? {} : { oauthGrant: grant }),
360
380
  ...(cwd === undefined ? {} : { cwd }),
361
381
  ...(context === undefined ? {} : { plugin: context }),
362
382
  environment: environment(this.#operatorEnvironment()),
@@ -373,6 +393,14 @@ export default class Module {
373
393
  onInfrastructureError: (error) => {
374
394
  console.error(`MCP server '${definition.name}' infrastructure failure:`, error);
375
395
  },
396
+ onAuthorizationRequired: () => {
397
+ const key = this.#pendingKey(workspaceId, definition.name);
398
+ if (this.#closed || this.#challenged.has(key))
399
+ return;
400
+ this.#challenged.add(key);
401
+ this.#dirty.set(key, Symbol());
402
+ this.#scheduleCatalogRefresh(workspaceId, definition.name);
403
+ },
376
404
  });
377
405
  this.#connections.add(candidate);
378
406
  const executor = new McpExecutor({ runtime: definition.name, glyph: "🔌" }, candidate, () => this.#retain(workspaceId), { tools: settings.tools });
@@ -437,7 +465,8 @@ export default class Module {
437
465
  this.#retainWorkspace.set(workspaceId, preparation.retain);
438
466
  const previous = preparation.previous ?? new Map();
439
467
  for (const [name, attachment] of previous) {
440
- const nextDefinition = enabled.get(name);
468
+ const next = enabled.get(name);
469
+ const nextDefinition = next === undefined ? undefined : bindingOf(next);
441
470
  if (nextDefinition === undefined || force === name || !sameBinding(attachment, nextDefinition)) {
442
471
  const activeRequests = attachmentConnection(attachment)?.activeRequests ?? 0;
443
472
  if (activeRequests > 0)
@@ -449,21 +478,28 @@ export default class Module {
449
478
  const fresh = [];
450
479
  const consumedPending = new Map();
451
480
  const refreshed = new Map();
481
+ // {§mcp-request-unauthorized} The aliases this preparation connects afresh or signs in, which answer any refusal.
482
+ const answered = new Set();
452
483
  try {
453
484
  // {§mcp-setup} — every server that needs a connection or a catalog is prepared at once, so a
454
485
  // workspace waits for its slowest server, not for the sum of them.
455
486
  const plans = [...enabled].map(([name, value]) => {
456
487
  const key = this.#pendingKey(workspaceId, name);
457
- const binding = value;
488
+ const binding = bindingOf(value);
458
489
  const existing = previous.get(name);
459
490
  const pending = this.#pending.get(key);
460
491
  const heldConnection = existing === undefined ? undefined : attachmentConnection(existing);
461
492
  const settledBinding = existing !== undefined && force !== name && sameBinding(existing, binding)
462
493
  && pending?.prepared === undefined && pending?.authorized !== true;
463
- const mode = settledBinding && !this.#dirty.has(key) ? "reuse"
464
- : pending?.prepared !== undefined && sameBinding(pending, binding) ? "pending"
465
- : settledBinding && heldConnection !== undefined ? "catalog"
466
- : "connect";
494
+ // {§mcp-request-unauthorized} A server that refused a call for want of a sign-in awaits one on the connection
495
+ // it holds, whatever its catalog still lists.
496
+ const mode = settledBinding && this.#challenged.has(key) && existing?.kind === "active" && heldConnection !== undefined ? "challenged"
497
+ : settledBinding && !this.#dirty.has(key) ? "reuse"
498
+ : pending?.prepared !== undefined && sameBinding(pending, binding) ? "pending"
499
+ : settledBinding && heldConnection !== undefined ? "catalog"
500
+ : "connect";
501
+ if (mode === "pending" || mode === "connect")
502
+ answered.add(key);
467
503
  const authorized = mode === "connect" && pending?.authorized === true && sameBinding(pending, binding);
468
504
  return { name, key, invalidation: this.#dirty.get(key), binding, existing, pending, heldConnection, mode, authorized };
469
505
  });
@@ -477,6 +513,9 @@ export default class Module {
477
513
  return plan.existing;
478
514
  if (plan.mode === "pending")
479
515
  return plan.pending.prepared;
516
+ if (plan.mode === "challenged") {
517
+ return { ...plan.binding, kind: "authorization-required", connection: plan.heldConnection, authorizationUrl: undefined };
518
+ }
480
519
  try {
481
520
  if (plan.mode === "catalog") {
482
521
  // {§mcp-catalog-refresh-in-place} — only the catalog is dirty: the executor is
@@ -551,7 +590,7 @@ export default class Module {
551
590
  for (const [name, attachment] of next) {
552
591
  switch (attachment.kind) {
553
592
  case "active":
554
- outcomes.set(name, { state: "active", detail: catalogDetail(attachment.executor) });
593
+ outcomes.set(name, { state: "active", detail: activeDetail(attachment) });
555
594
  break;
556
595
  case "unavailable":
557
596
  outcomes.set(name, { state: "unavailable", problem: attachment.problem });
@@ -564,37 +603,24 @@ export default class Module {
564
603
  break;
565
604
  }
566
605
  }
567
- const runtimes = [...next.values()].flatMap((attachment) => attachment.kind === "active" ? [attachment.runtime] : []);
606
+ const runtimes = [...next.values()].map((attachment) => attachment.kind === "active" ? attachment.runtime : unavailableRuntime(attachment));
607
+ const published = { removed: [], added: [] };
568
608
  return {
569
609
  runtimes,
570
610
  documents: [],
571
611
  outcomes,
572
612
  snapshot: next,
573
- commit: async () => {
613
+ // {§functionality-publication} The connected set and the pending register go live together,
614
+ // synchronously; the undo restores both if the registry rolls back.
615
+ publish: () => {
616
+ const before = this.#attachments.get(workspaceId);
574
617
  this.#attachments.set(workspaceId, next);
575
- // {§mcp-catalog-refresh-in-place} A published snapshot acknowledges only
576
- // its captured invalidation, never a newer notification or an aborted candidate.
577
- for (const [key, invalidation] of refreshed) {
578
- if (this.#dirty.get(key) === invalidation)
579
- this.#clearCatalogRefresh(key);
580
- }
581
- for (const key of this.#dirty.keys()) {
582
- if (key.startsWith(`${workspaceId}:`) && !next.has(key.slice(`${workspaceId}:`.length))) {
583
- this.#clearCatalogRefresh(key);
584
- }
585
- }
586
- const retained = new Set([...next.values()].flatMap((attachment) => attachmentConnection(attachment) ?? []));
587
- const pendingConnections = new Set([...this.#pending.values()].map(({ connection }) => connection));
588
- const obsolete = [...previous.values()]
589
- .flatMap((attachment) => attachmentConnection(attachment) ?? [])
590
- .filter((connection) => !retained.has(connection) && !pendingConnections.has(connection));
591
618
  for (const [name, pending] of consumedPending) {
592
619
  const key = this.#pendingKey(workspaceId, name);
593
- if (this.#pending.get(key) === pending)
620
+ const registered = this.#pending.get(key) === pending;
621
+ if (registered)
594
622
  this.#pending.delete(key);
595
- pending.releaseWorkspace();
596
- if (!retained.has(pending.connection))
597
- obsolete.push(pending.connection);
623
+ published.removed.push({ key, pending, registered });
598
624
  }
599
625
  // {§oauth-lifetime} A client's challenge is independent of the published connection.
600
626
  for (const [key, pending] of this.#pending) {
@@ -606,24 +632,69 @@ export default class Module {
606
632
  && force !== name)
607
633
  continue;
608
634
  this.#pending.delete(key);
609
- pending.releaseWorkspace();
610
- if (!retained.has(pending.connection))
611
- obsolete.push(pending.connection);
635
+ published.removed.push({ key, pending, registered: true });
612
636
  }
613
637
  for (const [name, attachment] of next) {
614
638
  if (attachment.kind !== "authorization-required" || attachment.authorizationUrl === undefined)
615
639
  continue;
616
640
  const key = this.#pendingKey(workspaceId, name);
617
- const current = this.#pending.get(key);
618
- if (current !== undefined)
641
+ if (this.#pending.has(key))
619
642
  continue;
620
- this.#pending.set(key, {
643
+ const pending = {
621
644
  definition: attachment.definition,
622
645
  ...(attachment.context === undefined ? {} : { context: attachment.context }),
623
646
  connection: attachment.connection,
624
647
  releaseWorkspace: this.#retain(workspaceId),
625
- });
648
+ };
649
+ this.#pending.set(key, pending);
650
+ published.added.push({ key, pending });
626
651
  }
652
+ return () => {
653
+ for (const { key, pending } of published.added) {
654
+ if (this.#pending.get(key) === pending)
655
+ this.#pending.delete(key);
656
+ pending.releaseWorkspace();
657
+ }
658
+ for (const { key, pending, registered } of published.removed)
659
+ if (registered)
660
+ this.#pending.set(key, pending);
661
+ published.added = [];
662
+ published.removed = [];
663
+ if (before === undefined)
664
+ this.#attachments.delete(workspaceId);
665
+ else
666
+ this.#attachments.set(workspaceId, before);
667
+ };
668
+ },
669
+ commit: async () => {
670
+ // {§mcp-catalog-refresh-in-place} A published snapshot acknowledges only
671
+ // its captured invalidation, never a newer notification or an aborted candidate.
672
+ for (const [key, invalidation] of refreshed) {
673
+ if (this.#dirty.get(key) === invalidation)
674
+ this.#clearCatalogRefresh(key);
675
+ }
676
+ for (const key of this.#dirty.keys()) {
677
+ if (key.startsWith(`${workspaceId}:`) && !next.has(key.slice(`${workspaceId}:`.length))) {
678
+ this.#clearCatalogRefresh(key);
679
+ }
680
+ }
681
+ // {§mcp-request-unauthorized} A fresh connection or an accepted sign-in answers a refusal; withdrawal forgets it.
682
+ for (const key of [...this.#challenged]) {
683
+ if (key.startsWith(`${workspaceId}:`) && (answered.has(key) || !next.has(key.slice(`${workspaceId}:`.length)))) {
684
+ this.#challenged.delete(key);
685
+ }
686
+ }
687
+ const retained = new Set([...next.values()].flatMap((attachment) => attachmentConnection(attachment) ?? []));
688
+ const pendingConnections = new Set([...this.#pending.values()].map(({ connection }) => connection));
689
+ const obsolete = [...previous.values()]
690
+ .flatMap((attachment) => attachmentConnection(attachment) ?? [])
691
+ .filter((connection) => !retained.has(connection) && !pendingConnections.has(connection));
692
+ for (const { pending } of published.removed) {
693
+ pending.releaseWorkspace();
694
+ if (!retained.has(pending.connection))
695
+ obsolete.push(pending.connection);
696
+ }
697
+ published.removed = [];
627
698
  if (obsolete.length > 0) {
628
699
  try {
629
700
  await this.#closeOwned(obsolete);
@@ -648,8 +719,10 @@ export default class Module {
648
719
  if (key.startsWith(`${workspaceId}:`))
649
720
  this.#clearCatalogRefresh(key);
650
721
  }
651
- const attachments = snapshot ?? new Map();
652
- const connections = [...attachments.values()].flatMap((attachment) => attachmentConnection(attachment) ?? []);
722
+ for (const key of [...this.#challenged])
723
+ if (key.startsWith(`${workspaceId}:`))
724
+ this.#challenged.delete(key);
725
+ const connections = [...snapshot.values()].flatMap((attachment) => attachmentConnection(attachment) ?? []);
653
726
  this.#attachments.delete(workspaceId);
654
727
  this.#retainWorkspace.delete(workspaceId);
655
728
  this.#identities.delete(workspaceId);
@@ -684,9 +757,12 @@ export default class Module {
684
757
  throw actionError("oauth-busy", 409, `MCP server '${alias}' is already starting authorization.`, { retryable: true });
685
758
  this.#authorizing.add(key);
686
759
  try {
687
- const prepared = await this.#prepareAttachment(identity.workspaceId, current, undefined, redirectUrl);
688
- if (prepared.kind === "unavailable")
760
+ const connected = await this.#prepareAttachment(identity.workspaceId, current, undefined, redirectUrl);
761
+ if (connected.kind === "unavailable")
689
762
  throw new Error("OAuth preparation returned an unavailable attachment.");
763
+ // {§oauth-begin-unchallenged} An alias awaiting a sign-in for a refused request starts one on a connection its
764
+ // server never challenges; one whose connection was challenged and is no longer is accepted as it is.
765
+ const prepared = connected.kind === "active" && this.#challenged.has(key) ? await this.#beginUnchallenged(connected) : connected;
690
766
  if (this.#attachments.get(identity.workspaceId)?.get(alias) !== current) {
691
767
  await this.#closeOwned([prepared.connection]);
692
768
  throw actionError("oauth-target-conflict", 409, `MCP server '${alias}' changed while its OAuth authorization was pending.`, { workspaceId: identity.workspaceId, alias, recovery: "Start authorization again from the server's current definition.", retryable: false });
@@ -716,6 +792,33 @@ export default class Module {
716
792
  this.#authorizing.delete(key);
717
793
  }
718
794
  }
795
+ // {§oauth-begin-unchallenged} The SDK's authorization starts on the connection; one it finds authorized stays active.
796
+ async #beginUnchallenged(connected) {
797
+ let authorizationUrl;
798
+ try {
799
+ authorizationUrl = await connected.connection.beginAuthorization();
800
+ }
801
+ catch (cause) {
802
+ let closeCause;
803
+ try {
804
+ await this.#closeOwned([connected.connection]);
805
+ }
806
+ catch (error) {
807
+ closeCause = error;
808
+ }
809
+ const { definition } = connected;
810
+ throw preparationError(definition, definition.type === "streamable-http" ? definition.authorization : undefined, cause, closeCause);
811
+ }
812
+ if (authorizationUrl === undefined)
813
+ return connected;
814
+ return {
815
+ definition: connected.definition,
816
+ ...(connected.context === undefined ? {} : { context: connected.context }),
817
+ kind: "authorization-required",
818
+ connection: connected.connection,
819
+ authorizationUrl,
820
+ };
821
+ }
719
822
  // {§oauth-continuation} — grant acceptance precedes ordinary catalog publication.
720
823
  async #completeOAuth(identity, params) {
721
824
  assertActionKeys(params, ["alias", "callbackUrl"]);
@@ -748,6 +851,11 @@ export default class Module {
748
851
  if (this.#pending.get(key) !== pending || this.#closed)
749
852
  throw actionError("oauth-target-conflict", 409, `MCP server '${alias}' changed while its OAuth authorization was pending.`, { workspaceId: identity.workspaceId, alias, retryable: false });
750
853
  pending.authorized = true;
854
+ // {§oauth-grant} The accepted sign-in is the alias's grant, replacing any before it.
855
+ const grant = pending.connection.oauthGrant;
856
+ if (grant !== undefined) {
857
+ this.#grants.set(key, { definition: pending.definition, ...(pending.context === undefined ? {} : { context: pending.context }), grant });
858
+ }
751
859
  this.#dirty.set(key, Symbol());
752
860
  this.#refreshCatalog(identity.workspaceId, alias);
753
861
  return { status: 202, alias };
@@ -762,16 +870,31 @@ export default class Module {
762
870
  if (attachment === undefined || attachment.kind !== "active") {
763
871
  throw actionError("server-not-connected", 409, `MCP server '${server}' is not connected for this workspace.`, { workspaceId, name: server, retryable: false });
764
872
  }
765
- const ref = objectOf(params.ref);
766
- const argument = objectOf(params.argument);
767
- if (ref === null || argument === null) {
768
- throw actionError("completion-parameters-invalid", 400, "MCP completion requires 'ref' and 'argument' objects.", { retryable: false });
769
- }
770
- return attachment.connection.complete({
771
- ref: ref,
772
- argument: argument,
873
+ // The protocol's own schema proves the completion's parameters; a context that is not an object is not sent.
874
+ const completion = CompleteRequestParamsSchema.safeParse({
875
+ ref: params.ref,
876
+ argument: params.argument,
773
877
  ...(objectOf(params.context) === null ? {} : { context: params.context }),
774
878
  });
879
+ if (!completion.success) {
880
+ const issues = completion.error.issues.map((issue) => `${issue.path.join(".")}: ${issue.message}`).join("; ");
881
+ throw actionError("completion-parameters-invalid", 400, `MCP completion parameters do not match the protocol: ${issues}.`, { retryable: false });
882
+ }
883
+ try {
884
+ return await attachment.connection.complete(completion.data);
885
+ }
886
+ catch (cause) {
887
+ if (cause instanceof AuthorizationRequiredError) {
888
+ // {§mcp-request-unauthorized}
889
+ throw actionError("authorization-required", 401, awaitsSignIn(server), { workspaceId, name: server, retryable: false }, cause);
890
+ }
891
+ throw cause;
892
+ }
893
+ }
894
+ // {§oauth-grant} The alias's grant, for a connection with the definition it was accepted for, while it holds tokens.
895
+ #grantFor(workspaceId, binding) {
896
+ const held = this.#grants.get(this.#pendingKey(workspaceId, binding.definition.name));
897
+ return held !== undefined && held.grant.signedIn && sameBinding(held, binding) ? held.grant : undefined;
775
898
  }
776
899
  // A live catalog change republishes the unchanged state; the dirty alias
777
900
  // rebuilds its executor on the next preparation.
@@ -822,6 +945,8 @@ export default class Module {
822
945
  clearTimeout(timer);
823
946
  this.#refreshTimers.clear();
824
947
  this.#dirty.clear();
948
+ this.#challenged.clear();
949
+ this.#grants.clear();
825
950
  const closing = this.#closeOwned([...this.#connections]);
826
951
  this.#attachments.clear();
827
952
  for (const pending of this.#pending.values())