@claudexor/mcp-server 1.0.1 → 2.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/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @claudexor/mcp-server
2
2
 
3
- Internal package of [Claudexor](https://github.com/razzant/claudexor) — MCP server (official SDK, stdio) exposing Claudexor run/status tools with elicitation-backed interactive questions.
3
+ Internal package of [Claudexor](https://github.com/razzant/claudexor) — MCP server (official SDK, stdio) exposing daemon-backed durable run handles plus explicit status, result, cancel, and interaction tools. Experimental MCP Tasks are not advertised.
4
4
 
5
5
  Published as part of the Claudexor toolchain; it follows the monorepo's
6
6
  lockstep version and has no separate semver contract. Use the `claudexor`
package/dist/index.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  import type { Readable, Writable } from "node:stream";
2
2
  import { McpServer as SdkMcpServer } from "@modelcontextprotocol/server";
3
- import { type InteractionAnswer, type InteractionQuestion } from "@claudexor/schema";
4
3
  /**
5
4
  * Claudexor's MCP surface on the official TypeScript SDK v2.
6
5
  *
@@ -8,21 +7,12 @@ import { type InteractionAnswer, type InteractionQuestion } from "@claudexor/sch
8
7
  * 2024-10-07 — Cursor's 2025-06-18 handshake keeps working), CONCURRENT
9
8
  * request dispatch (a multi-minute race no longer blocks ping/tools/list —
10
9
  * the old hand-rolled loop awaited every call inline), structural argument
11
- * validation against the declared JSON Schemas, and elicitation round-trips.
10
+ * validation against the declared JSON Schemas.
12
11
  * This module stays a THIN surface: tool descriptors, Claudexor's semantic
13
12
  * argument checks (the parts a JSON Schema cannot express), and translation
14
- * between runner results/interactions and MCP shapes. No business logic.
13
+ * between runner results and MCP shapes. No business logic.
15
14
  */
16
15
  export interface McpToolContext {
17
- /**
18
- * Ask the user the engine's interactive questions through MCP elicitation.
19
- * Resolves null when the host lacks the elicitation capability or declines
20
- * — the engine's timeout-decline fallback stays the honest default.
21
- */
22
- elicit: ((request: {
23
- interaction_id: string;
24
- questions: InteractionQuestion[];
25
- }) => Promise<InteractionAnswer[] | null>) | null;
26
16
  /**
27
17
  * The request's cancellation signal (`notifications/cancelled` from the
28
18
  * host) — runners abort the underlying run with it, exactly like Ctrl-C
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EACL,SAAS,IAAI,YAAY,EAG1B,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAML,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACzB,MAAM,mBAAmB,CAAC;AAsD3B;;;;;;;;;;;GAWG;AAEH,MAAM,WAAW,cAAc;IAC7B;;;;OAIG;IACH,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,mBAAmB,EAAE,CAAA;KAAE,KAAK,OAAO,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;IAChI;;;;OAIG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,0EAA0E;AAC1E,MAAM,WAAW,kBAAkB;IACjC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,qFAAqF;AACrF,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC;AAE5F,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;CACrE;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,gFAAgF;IAChF,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,KAAK,EAAE,QAAQ,CAAA;KAAE,CAAC;CACjD;AAED,yFAAyF;AACzF,wBAAgB,cAAc,CAAC,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,EAAE,CAAA;CAAE,GAAG,YAAY,CAgDxG;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,GAAG;IAAE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAQpF;AAyHD,MAAM,WAAW,WAAW;IAC1B,6EAA6E;IAC7E,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;IAClD,+EAA+E;IAC/E,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAmD9E,yFAAyF;AACzF,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,EAAE,CAsMjE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,SAAS,IAAI,YAAY,EAAkB,MAAM,8BAA8B,CAAC;AAgEzF;;;;;;;;;;;GAWG;AAEH,MAAM,WAAW,cAAc;IAC7B;;;;OAIG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,0EAA0E;AAC1E,MAAM,WAAW,kBAAkB;IACjC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,qFAAqF;AACrF,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC;AAE5F,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;CACrE;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,gFAAgF;IAChF,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,KAAK,EAAE,QAAQ,CAAA;KAAE,CAAC;CACjD;AAED,yFAAyF;AACzF,wBAAgB,cAAc,CAAC,IAAI,EAAE;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,EAAE,CAAC;CAClB,GAAG,YAAY,CA4Cf;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,GAAG;IAAE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAUpF;AAuED,MAAM,WAAW,WAAW;IAC1B,6EAA6E;IAC7E,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;IAClD,+EAA+E;IAC/E,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAsD9E,yFAAyF;AACzF,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,EAAE,CA2XjE"}
package/dist/index.js CHANGED
@@ -1,22 +1,16 @@
1
1
  import { isAbsolute } from "node:path";
2
- // Static JSON imports (NOT createRequire): esbuild inlines these into the
3
- // single-file app bundle, while createRequire(import.meta.url) resolved at
4
- // RUNTIME relative to the bundle location and crashed the shipped daemon.
5
2
  import agentCapabilityCatalogSchemaRaw from "@claudexor/schema/generated/AgentCapabilityCatalog.schema.json" with { type: "json" };
6
3
  import mcpRunToolResultSchemaRaw from "@claudexor/schema/generated/McpRunToolResult.schema.json" with { type: "json" };
7
- import { McpServer as SdkMcpServer, MissingRequiredClientCapabilityError, fromJsonSchema, } from "@modelcontextprotocol/server";
8
- import { StdioServerTransport, serveStdio } from "@modelcontextprotocol/server/stdio";
4
+ import paidBudgetSchemaRaw from "@claudexor/schema/generated/PaidBudget.schema.json" with { type: "json" };
5
+ import testCommandInvocationSchemaRaw from "@claudexor/schema/generated/TestCommandInvocation.schema.json" with { type: "json" };
6
+ import { McpServer as SdkMcpServer, fromJsonSchema } from "@modelcontextprotocol/server";
7
+ import { StdioServerTransport, serveStdio, } from "@modelcontextprotocol/server/stdio";
9
8
  import { EffortHint, ExternalContextPolicy, ProviderFamily, validateOptionalNonEmptyString, validateSurfaceRunControls, } from "@claudexor/schema";
10
9
  import { assertNoInlineSecretValues, errorCode } from "@claudexor/util";
11
- // Generated JSON Schemas from @claudexor/schema (the SSOT): declared to hosts
12
- // as tool outputSchema so structured results are validated shapes, not blobs.
13
- // zod-to-json-schema emits a `$ref`+`definitions` wrapper; the SDK's
14
- // fromJsonSchema wants a self-contained schema, so internal refs are inlined
15
- // once at load (cycle-safe: a cyclic ref degrades to a permissive subschema).
10
+ import { journalRecoveryTools } from "./recovery-tools.js";
11
+ // The SDK wants self-contained schemas, so inline generated internal refs once at load.
16
12
  function inlineJsonSchemaRefs(schema) {
17
- // zod-to-json-schema dedupes with FULL JSON-pointer refs (e.g.
18
- // "#/definitions/X/properties/y/items"), so resolution walks pointers over
19
- // the whole document, not just top-level definition names.
13
+ // Resolve full JSON-pointer refs, not just top-level definition names.
20
14
  const resolvePointer = (pointer) => {
21
15
  let node = schema;
22
16
  for (const rawSegment of pointer.split("/").slice(1)) {
@@ -38,9 +32,7 @@ function inlineJsonSchemaRefs(schema) {
38
32
  const obj = node;
39
33
  const ref = obj["$ref"];
40
34
  if (typeof ref === "string" && ref.startsWith("#/")) {
41
- // Claudexor's generated schemas are trees; a cycle would mean a schema
42
- // refactor introduced recursion — fail LOUDLY at server start rather
43
- // than silently degrading validation to permissive.
35
+ // Generated schemas are trees; fail loudly if a refactor introduces recursion.
44
36
  if (stack.includes(ref))
45
37
  throw new Error(`cyclic $ref '${ref}' in a generated tool schema — flatten the schema or drop its outputSchema`);
46
38
  const target = resolvePointer(ref);
@@ -59,6 +51,8 @@ function inlineJsonSchemaRefs(schema) {
59
51
  return resolve(schema, []);
60
52
  }
61
53
  const mcpRunToolResultSchema = inlineJsonSchemaRefs(mcpRunToolResultSchemaRaw);
54
+ const testCommandInvocationSchema = inlineJsonSchemaRefs(testCommandInvocationSchemaRaw);
55
+ const paidBudgetSchema = inlineJsonSchemaRefs(paidBudgetSchemaRaw);
62
56
  const agentCapabilityCatalogSchema = inlineJsonSchemaRefs(agentCapabilityCatalogSchemaRaw);
63
57
  /** Build the SDK server with Claudexor's tools registered (one era-agnostic factory). */
64
58
  export function buildMcpServer(opts) {
@@ -72,7 +66,9 @@ export function buildMcpServer(opts) {
72
66
  inputSchema: fromJsonSchema(tool.inputSchema),
73
67
  // Structured results are DECLARED (outputSchema) and mirrored in text;
74
68
  // annotations are the MCP behavior hints (read-only vs mutating).
75
- ...(tool.outputSchema ? { outputSchema: fromJsonSchema(tool.outputSchema) } : {}),
69
+ ...(tool.outputSchema
70
+ ? { outputSchema: fromJsonSchema(tool.outputSchema) }
71
+ : {}),
76
72
  ...(tool.annotations ? { annotations: tool.annotations } : {}),
77
73
  }, (async (args, ctx) => {
78
74
  const provided = (args ?? {});
@@ -87,13 +83,7 @@ export function buildMcpServer(opts) {
87
83
  // there. The old hand-rolled -32602 contract is retired with it.
88
84
  throw new Error(validation);
89
85
  }
90
- // Offer the elicitation bridge ONLY when the client declared the
91
- // capability — otherwise the ENGINE must not think an interactive
92
- // channel exists (it would offer the harness a channel whose every
93
- // question dies as a decline).
94
- const canElicit = Boolean(server.server.getClientCapabilities()?.elicitation);
95
86
  const out = await tool.handler(provided, {
96
- elicit: canElicit ? elicitBridge(ctx) : null,
97
87
  signal: ctx?.mcpReq?.signal,
98
88
  });
99
89
  const text = typeof out === "string" ? out : out.text;
@@ -113,7 +103,9 @@ export function buildMcpServer(opts) {
113
103
  export function serveClaudexorMcp(opts) {
114
104
  warnOnPluginVersionSkew(opts.version);
115
105
  const serveOpts = {
116
- ...(opts.transport ? { transport: new StdioServerTransport(opts.transport.read, opts.transport.write) } : {}),
106
+ ...(opts.transport
107
+ ? { transport: new StdioServerTransport(opts.transport.read, opts.transport.write) }
108
+ : {}),
117
109
  // Out-of-band transport errors go to stderr — stdout is the wire.
118
110
  onerror: (err) => process.stderr.write(`claudexor mcp: ${err.message}\n`),
119
111
  };
@@ -136,69 +128,6 @@ function warnOnPluginVersionSkew(serverVersion) {
136
128
  `run \`claudexor plugin repair all\` and reload the host to refresh cached tool schemas\n`);
137
129
  }
138
130
  }
139
- /**
140
- * Map the SDK's server-initiated elicitation onto the engine's typed
141
- * interaction questions. One elicitation per QUESTION (MCP forms are flat);
142
- * a missing client capability resolves null so the engine's timeout-decline
143
- * fallback applies — never a fake answer.
144
- */
145
- function elicitBridge(ctx) {
146
- const elicitInput = ctx?.mcpReq?.elicitInput;
147
- if (typeof elicitInput !== "function")
148
- return null;
149
- return async ({ questions }) => {
150
- const answers = [];
151
- for (const q of questions) {
152
- const hasOptions = q.options.length > 0;
153
- const property = hasOptions
154
- ? q.multi_select
155
- ? { type: "array", items: { type: "string", enum: q.options.map((o) => o.label) }, description: optionLegend(q) }
156
- : { type: "string", enum: q.options.map((o) => o.label), description: optionLegend(q) }
157
- : { type: "string", description: "Free-text answer" };
158
- let result;
159
- try {
160
- result = await ctx.mcpReq.elicitInput({
161
- message: q.header ? `${q.header}: ${q.question}` : q.question,
162
- requestedSchema: {
163
- type: "object",
164
- properties: { answer: property },
165
- required: ["answer"],
166
- },
167
- });
168
- }
169
- catch (err) {
170
- if (err instanceof MissingRequiredClientCapabilityError)
171
- return null;
172
- throw err;
173
- }
174
- if (result?.action !== "accept" || !result?.content || typeof result.content !== "object") {
175
- // Decline/cancel any single question = decline the whole interaction
176
- // (the engine treats partial answer sets as declines anyway).
177
- return null;
178
- }
179
- const answer = result.content["answer"];
180
- if (hasOptions && q.multi_select && Array.isArray(answer)) {
181
- answers.push({ question_id: q.id, selected_labels: answer.map(String), free_text: null });
182
- }
183
- else if (hasOptions && typeof answer === "string") {
184
- answers.push({ question_id: q.id, selected_labels: [answer], free_text: null });
185
- }
186
- else if (typeof answer === "string" && answer.trim()) {
187
- answers.push({ question_id: q.id, selected_labels: [], free_text: answer });
188
- }
189
- else {
190
- return null;
191
- }
192
- }
193
- return answers;
194
- };
195
- }
196
- function optionLegend(q) {
197
- const withDetail = q.options.filter((o) => o.description);
198
- if (withDetail.length === 0)
199
- return "Choose from the listed options";
200
- return withDetail.map((o) => `${o.label}: ${o.description}`).join("; ");
201
- }
202
131
  function validateToolArguments(tool, args) {
203
132
  if (!args || typeof args !== "object" || Array.isArray(args))
204
133
  return "tool arguments must be an object";
@@ -211,7 +140,9 @@ function validateToolArguments(tool, args) {
211
140
  // Prompt is required exactly when the tool's own schema REQUIRES it — no
212
141
  // per-tool-name special cases (no-argument tools like status/capabilities
213
142
  // simply do not declare a prompt property).
214
- const requiredKeys = Array.isArray(tool.inputSchema.required) ? tool.inputSchema.required : [];
143
+ const requiredKeys = Array.isArray(tool.inputSchema.required)
144
+ ? tool.inputSchema.required
145
+ : [];
215
146
  if (requiredKeys.includes("prompt")) {
216
147
  if (typeof obj.prompt !== "string" || obj.prompt.trim().length === 0)
217
148
  return "prompt must be a non-empty string";
@@ -295,31 +226,70 @@ function structuredRunResult(result) {
295
226
  runId: typeof r["runId"] === "string" && r["runId"] ? r["runId"] : null,
296
227
  runDir: typeof r["runDir"] === "string" && r["runDir"] ? r["runDir"] : null,
297
228
  status: typeof r["status"] === "string" && r["status"] ? r["status"] : null,
298
- applyEligibility: r["applyEligibility"] && typeof r["applyEligibility"] === "object" ? r["applyEligibility"] : null,
229
+ applyEligibility: r["applyEligibility"] && typeof r["applyEligibility"] === "object"
230
+ ? r["applyEligibility"]
231
+ : null,
299
232
  };
300
233
  }
301
234
  /** Default Claudexor tool surface for MCP (v0.9: 5 canonical modes + strategy flags). */
302
235
  export function defaultClaudexorTools(runner) {
303
236
  const reviewerModelProperties = Object.fromEntries(PROVIDER_FAMILIES.map((family) => [family, { type: "string", minLength: 1 }]));
304
- const reviewerEffortProperties = Object.fromEntries(PROVIDER_FAMILIES.map((family) => [
305
- family,
306
- { type: "string", enum: EffortHint.options },
307
- ]));
237
+ const reviewerEffortProperties = Object.fromEntries(PROVIDER_FAMILIES.map((family) => [family, { type: "string", enum: EffortHint.options }]));
308
238
  const promptSchema = (minN = 1) => ({
309
239
  type: "object",
310
240
  additionalProperties: false,
311
241
  properties: {
312
- prompt: { type: "string", minLength: 1, pattern: "\\S", description: "The user task or question to run through Claudexor." },
313
- harness: { type: "string", minLength: 1, description: "Optional harness id to force for this one-shot run." },
314
- primaryHarness: { type: "string", minLength: 1, description: "Optional primary harness id for this run." },
315
- model: { type: "string", minLength: 1, description: "Optional model override for the primary harness." },
316
- effort: { type: "string", enum: EffortHint.options, description: "Optional effort override for the primary harness." },
317
- web: { type: "string", enum: ExternalContextPolicy.options, description: "External context policy for this run." },
318
- externalContextPolicy: { type: "string", enum: ExternalContextPolicy.options, description: "Alias of web for control-api parity." },
319
- n: { type: "integer", minimum: minN, description: "Optional best-of-N width for candidate races." },
320
- repoPath: { type: "string", description: "Absolute path of the target project. Defaults to the MCP server cwd." },
321
- tests: { type: "array", items: { type: "string", minLength: 1 }, description: "Deterministic gate commands for this run." },
322
- maxUsd: { type: "number", minimum: 0, description: "Optional per-run budget ceiling." },
242
+ prompt: {
243
+ type: "string",
244
+ minLength: 1,
245
+ pattern: "\\S",
246
+ description: "The user task or question to run through Claudexor.",
247
+ },
248
+ harness: {
249
+ type: "string",
250
+ minLength: 1,
251
+ description: "Optional harness id to force for this one-shot run.",
252
+ },
253
+ primaryHarness: {
254
+ type: "string",
255
+ minLength: 1,
256
+ description: "Optional primary harness id for this run.",
257
+ },
258
+ model: {
259
+ type: "string",
260
+ minLength: 1,
261
+ description: "Optional model override for the primary harness.",
262
+ },
263
+ effort: {
264
+ type: "string",
265
+ enum: EffortHint.options,
266
+ description: "Optional effort override for the primary harness.",
267
+ },
268
+ web: {
269
+ type: "string",
270
+ enum: ExternalContextPolicy.options,
271
+ description: "External context policy for this run.",
272
+ },
273
+ externalContextPolicy: {
274
+ type: "string",
275
+ enum: ExternalContextPolicy.options,
276
+ description: "Alias of web for control-api parity.",
277
+ },
278
+ n: {
279
+ type: "integer",
280
+ minimum: minN,
281
+ description: "Optional best-of-N width for candidate races.",
282
+ },
283
+ repoPath: {
284
+ type: "string",
285
+ description: "Absolute path of the target project. Defaults to the MCP server cwd.",
286
+ },
287
+ tests: {
288
+ type: "array",
289
+ items: testCommandInvocationSchema,
290
+ description: "Typed-argv deterministic gate commands for this run.",
291
+ },
292
+ paidBudget: paidBudgetSchema,
323
293
  access: {
324
294
  type: "string",
325
295
  enum: ["readonly", "workspace_write", "full", "external_sandbox_full", "inherit_native"],
@@ -369,9 +339,10 @@ export function defaultClaudexorTools(runner) {
369
339
  required: ["prompt"],
370
340
  });
371
341
  // Behavior hints derive from the tool's MODE (data, not per-name hardcode):
372
- // ask/audit/plan are read-only by construction, and MCP orchestrate is
373
- // suggest-autonomy only (a read-only plan). Only agent-mode tools mutate.
374
- const annotationsFor = (params) => params["mode"] === "agent" ? { readOnlyHint: false, destructiveHint: false } : { readOnlyHint: true };
342
+ // ask/audit/plan and suggest-only orchestrate are read-only; agent tools mutate.
343
+ const annotationsFor = (params) => params["mode"] === "agent"
344
+ ? { readOnlyHint: false, destructiveHint: false }
345
+ : { readOnlyHint: true };
375
346
  const mk = (name, description, params, minN = 1) => ({
376
347
  name,
377
348
  description,
@@ -380,43 +351,63 @@ export function defaultClaudexorTools(runner) {
380
351
  annotations: annotationsFor(params),
381
352
  // Summary first, then the runId/artifacts trailer (hosts get a handle);
382
353
  // the structured mirror carries the same facts machine-readably.
383
- // The elicitation bridge rides the hooks: the runner surfaces the engine's
384
- // interactive questions and this tool answers them via the host.
385
354
  handler: async (args, ctx) => {
386
- const result = await runner({ ...args, ...params }, {
387
- ...(ctx.signal ? { signal: ctx.signal } : {}),
388
- ...(ctx.elicit
389
- ? {
390
- onInteraction: async (ictx) => {
391
- const interactionId = ictx?.request?.interaction_id ?? "";
392
- const answers = await ctx.elicit({
393
- interaction_id: interactionId,
394
- questions: Array.isArray(ictx?.request?.questions) ? ictx.request.questions : [],
395
- });
396
- // The TYPED InteractionAnswerSet carries the interaction id
397
- // (ACP/daemon parity; the engine keys the set to the request).
398
- return answers ? { interaction_id: interactionId, answers } : null;
399
- },
400
- }
401
- : {}),
402
- });
355
+ const result = await runner(
356
+ // MCP Tasks are still experimental. Start daemon-owned work and return
357
+ // its durable handle instead of holding one JSON-RPC request open for
358
+ // the entire run; status/cancel/result are explicit stable tools below.
359
+ { ...args, ...params, deferred: true }, ctx.signal ? { signal: ctx.signal } : {});
403
360
  return { text: formatRunResult(result), structured: structuredRunResult(result) };
404
361
  },
405
362
  });
406
363
  const runIdSchema = {
407
364
  type: "object",
408
365
  additionalProperties: false,
409
- properties: { runId: { type: "string", minLength: 1, description: "Daemon run id (from a run tool's runId trailer or claudexor_runs)." } },
366
+ properties: {
367
+ runId: {
368
+ type: "string",
369
+ minLength: 1,
370
+ description: "Daemon run id (from a run tool's runId trailer or claudexor_runs).",
371
+ },
372
+ },
410
373
  required: ["runId"],
411
374
  };
375
+ const interactionAnswerSchema = {
376
+ type: "object",
377
+ additionalProperties: false,
378
+ properties: {
379
+ runId: { type: "string", minLength: 1 },
380
+ interactionId: { type: "string", minLength: 1 },
381
+ answers: {
382
+ type: "array",
383
+ minItems: 1,
384
+ items: {
385
+ type: "object",
386
+ additionalProperties: false,
387
+ properties: {
388
+ questionId: { type: "string", minLength: 1 },
389
+ selectedLabels: { type: "array", items: { type: "string" } },
390
+ freeText: { type: "string" },
391
+ },
392
+ required: ["questionId", "selectedLabels"],
393
+ },
394
+ },
395
+ },
396
+ required: ["runId", "interactionId", "answers"],
397
+ };
412
398
  return [
413
399
  mk("claudexor_ask", "One-shot read-only answer through Claudexor; returns final output, not a live thread.", { mode: "ask" }),
414
400
  mk("claudexor_explore", "One-shot bounded read-only exploration and synthesis through Claudexor.", { mode: "audit", swarm: true }),
415
401
  mk("claudexor_run", "One-shot Agent-mode Claudexor run; returns the final WorkProduct summary plus runId.", { mode: "agent" }),
416
402
  mk("claudexor_best_of", "One-shot best-of-N Claudexor run with cross-family review.", { mode: "agent", race: true }, 2),
417
403
  mk("claudexor_plan", "One-shot read-only Claudexor implementation plan.", { mode: "plan" }),
418
- mk("claudexor_create", "One-shot create-from-scratch Claudexor run.", { mode: "agent", create: true }),
419
- mk("claudexor_orchestrate", "One-shot typed Claudexor orchestration plan over the tool belt.", { mode: "orchestrate" }),
404
+ mk("claudexor_create", "One-shot create-from-scratch Claudexor run.", {
405
+ mode: "agent",
406
+ create: true,
407
+ }),
408
+ mk("claudexor_orchestrate", "One-shot typed Claudexor orchestration plan over the tool belt.", {
409
+ mode: "orchestrate",
410
+ }),
420
411
  {
421
412
  name: "claudexor_status",
422
413
  description: "Return doctor-backed Claudexor runtime status: per-harness verdicts with enabled/disabled intents, doctor reasons and checks, and the configured model.",
@@ -444,8 +435,7 @@ export function defaultClaudexorTools(runner) {
444
435
  };
445
436
  },
446
437
  },
447
- // Recovery tools thin read-only wrappers over the daemon control API,
448
- // so a host that lost a run handle (timeout, restart) can find it again.
438
+ // Read-only daemon projections let hosts recover lost run handles.
449
439
  {
450
440
  name: "claudexor_runs",
451
441
  description: "List recent daemon-tracked Claudexor runs (recovery: find a lost runId).",
@@ -472,6 +462,74 @@ export function defaultClaudexorTools(runner) {
472
462
  };
473
463
  },
474
464
  },
465
+ {
466
+ name: "claudexor_run_status",
467
+ description: "Read the current daemon-acknowledged state of a durable Claudexor run.",
468
+ inputSchema: runIdSchema,
469
+ annotations: { readOnlyHint: true },
470
+ handler: async (args) => {
471
+ const result = await runner({ mode: "__run_status", runId: String(args?.runId ?? "") });
472
+ return {
473
+ text: formatRunResult(result),
474
+ structured: (result && typeof result === "object" ? result : {}),
475
+ };
476
+ },
477
+ },
478
+ {
479
+ name: "claudexor_run_result",
480
+ description: "Read a durable run's terminal result and apply eligibility; non-terminal runs report their current state without pretending to be complete.",
481
+ inputSchema: runIdSchema,
482
+ annotations: { readOnlyHint: true },
483
+ handler: async (args) => {
484
+ const result = await runner({ mode: "__run_result", runId: String(args?.runId ?? "") });
485
+ return {
486
+ text: formatRunResult(result),
487
+ structured: (result && typeof result === "object" ? result : {}),
488
+ };
489
+ },
490
+ },
491
+ {
492
+ name: "claudexor_run_cancel",
493
+ description: "Request cancellation of a daemon-owned run; success is returned only after the control API acknowledges the durable command.",
494
+ inputSchema: runIdSchema,
495
+ annotations: { readOnlyHint: false, destructiveHint: true, idempotentHint: true },
496
+ handler: async (args) => {
497
+ const result = await runner({ mode: "__run_cancel", runId: String(args?.runId ?? "") });
498
+ return {
499
+ text: formatRunResult(result),
500
+ structured: (result && typeof result === "object" ? result : {}),
501
+ };
502
+ },
503
+ },
504
+ {
505
+ name: "claudexor_run_interactions",
506
+ description: "List daemon-persisted questions that are still awaiting answers for a run.",
507
+ inputSchema: runIdSchema,
508
+ annotations: { readOnlyHint: true },
509
+ handler: async (args) => {
510
+ const result = await runner({
511
+ mode: "__run_interactions",
512
+ runId: String(args?.runId ?? ""),
513
+ });
514
+ return {
515
+ text: formatRunResult(result),
516
+ structured: (result && typeof result === "object" ? result : {}),
517
+ };
518
+ },
519
+ },
520
+ {
521
+ name: "claudexor_answer_interaction",
522
+ description: "Answer a daemon-persisted run interaction; success is reported only after the control API acknowledges the journal mutation.",
523
+ inputSchema: interactionAnswerSchema,
524
+ annotations: { readOnlyHint: false, destructiveHint: false },
525
+ handler: async (args) => {
526
+ const result = await runner({ mode: "__run_answer", ...args });
527
+ return {
528
+ text: formatRunResult(result),
529
+ structured: (result && typeof result === "object" ? result : {}),
530
+ };
531
+ },
532
+ },
475
533
  {
476
534
  name: "claudexor_apply_check",
477
535
  description: "Dry-check whether a run's patch would apply cleanly to its original project (no mutation).",
@@ -485,6 +543,7 @@ export function defaultClaudexorTools(runner) {
485
543
  };
486
544
  },
487
545
  },
546
+ ...journalRecoveryTools(runner, formatRunResult),
488
547
  ];
489
548
  }
490
549
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { McpTool, RunnerFn } from "./index.js";
2
+ export declare function journalRecoveryTools(runner: RunnerFn, render: (result: unknown) => string): McpTool[];
3
+ //# sourceMappingURL=recovery-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recovery-tools.d.ts","sourceRoot":"","sources":["../src/recovery-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEpD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,QAAQ,EAChB,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,MAAM,GAClC,OAAO,EAAE,CAuDX"}
@@ -0,0 +1,50 @@
1
+ export function journalRecoveryTools(runner, render) {
2
+ const output = (result) => ({
3
+ text: render(result),
4
+ structured: (result && typeof result === "object" ? result : {}),
5
+ });
6
+ return [
7
+ {
8
+ name: "claudexor_journal_recovery",
9
+ description: "Inspect, validate, or export one durable journal partition through v2.",
10
+ inputSchema: {
11
+ type: "object",
12
+ additionalProperties: false,
13
+ properties: {
14
+ action: { type: "string", enum: ["inspect", "validate", "export"] },
15
+ partition: { type: "string", minLength: 1 },
16
+ },
17
+ required: ["action", "partition"],
18
+ },
19
+ annotations: { readOnlyHint: true, idempotentHint: true },
20
+ handler: async (args) => output(await runner({
21
+ mode: "__journal_recovery",
22
+ action: args?.action,
23
+ partition: args?.partition,
24
+ })),
25
+ },
26
+ {
27
+ name: "claudexor_quarantine_journal",
28
+ description: "Quarantine a corrupt partition and start a fresh epoch after exact confirmation.",
29
+ inputSchema: {
30
+ type: "object",
31
+ additionalProperties: false,
32
+ properties: {
33
+ partition: { type: "string", minLength: 1 },
34
+ expectedFingerprint: { type: "string", pattern: "^[a-f0-9]{64}$" },
35
+ confirmation: { type: "string", enum: ["quarantine_and_start_fresh"] },
36
+ },
37
+ required: ["partition", "expectedFingerprint", "confirmation"],
38
+ },
39
+ annotations: { readOnlyHint: false, destructiveHint: true, idempotentHint: true },
40
+ handler: async (args) => output(await runner({
41
+ mode: "__journal_recovery",
42
+ action: "quarantine",
43
+ partition: args?.partition,
44
+ expectedFingerprint: args?.expectedFingerprint,
45
+ confirmation: args?.confirmation,
46
+ })),
47
+ },
48
+ ];
49
+ }
50
+ //# sourceMappingURL=recovery-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recovery-tools.js","sourceRoot":"","sources":["../src/recovery-tools.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,oBAAoB,CAClC,MAAgB,EAChB,MAAmC;IAEnC,MAAM,MAAM,GAAG,CAAC,MAAe,EAAE,EAAE,CAAC,CAAC;QACnC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;QACpB,UAAU,EAAE,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAA4B;KAC5F,CAAC,CAAC;IACH,OAAO;QACL;YACE,IAAI,EAAE,4BAA4B;YAClC,WAAW,EAAE,wEAAwE;YACrF,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE,KAAK;gBAC3B,UAAU,EAAE;oBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE;oBACnE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;iBAC5C;gBACD,QAAQ,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC;aAClC;YACD,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;YACzD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CACtB,MAAM,CACJ,MAAM,MAAM,CAAC;gBACX,IAAI,EAAE,oBAAoB;gBAC1B,MAAM,EAAE,IAAI,EAAE,MAAM;gBACpB,SAAS,EAAE,IAAI,EAAE,SAAS;aAC3B,CAAC,CACH;SACJ;QACD;YACE,IAAI,EAAE,8BAA8B;YACpC,WAAW,EACT,kFAAkF;YACpF,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE,KAAK;gBAC3B,UAAU,EAAE;oBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;oBAC3C,mBAAmB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB,EAAE;oBAClE,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,4BAA4B,CAAC,EAAE;iBACvE;gBACD,QAAQ,EAAE,CAAC,WAAW,EAAE,qBAAqB,EAAE,cAAc,CAAC;aAC/D;YACD,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;YACjF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CACtB,MAAM,CACJ,MAAM,MAAM,CAAC;gBACX,IAAI,EAAE,oBAAoB;gBAC1B,MAAM,EAAE,YAAY;gBACpB,SAAS,EAAE,IAAI,EAAE,SAAS;gBAC1B,mBAAmB,EAAE,IAAI,EAAE,mBAAmB;gBAC9C,YAAY,EAAE,IAAI,EAAE,YAAY;aACjC,CAAC,CACH;SACJ;KACF,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@claudexor/mcp-server",
3
- "version": "1.0.1",
3
+ "version": "2.1.3",
4
4
  "license": "MIT",
5
- "description": "MCP server (official SDK, stdio) exposing Claudexor run/status tools with elicitation-backed interactive questions.",
5
+ "description": "MCP server exposing durable Claudexor run, status, cancel, result, and interaction tools.",
6
6
  "type": "module",
7
7
  "main": "./dist/index.js",
8
8
  "types": "./dist/index.d.ts",
@@ -17,8 +17,8 @@
17
17
  ],
18
18
  "dependencies": {
19
19
  "@modelcontextprotocol/server": "2.0.0-beta.1",
20
- "@claudexor/schema": "1.0.1",
21
- "@claudexor/util": "1.0.1"
20
+ "@claudexor/schema": "2.1.3",
21
+ "@claudexor/util": "2.1.3"
22
22
  },
23
23
  "repository": {
24
24
  "type": "git",