@claudexor/mcp-server 1.0.0 → 2.1.2

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":"AAEA,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;AAuD3B;;;;;;;;;;;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,18 +1,16 @@
1
- import { createRequire } from "node:module";
2
1
  import { isAbsolute } from "node:path";
3
- import { McpServer as SdkMcpServer, MissingRequiredClientCapabilityError, fromJsonSchema, } from "@modelcontextprotocol/server";
4
- import { StdioServerTransport, serveStdio } from "@modelcontextprotocol/server/stdio";
2
+ import agentCapabilityCatalogSchemaRaw from "@claudexor/schema/generated/AgentCapabilityCatalog.schema.json" with { type: "json" };
3
+ import mcpRunToolResultSchemaRaw from "@claudexor/schema/generated/McpRunToolResult.schema.json" with { type: "json" };
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";
5
8
  import { EffortHint, ExternalContextPolicy, ProviderFamily, validateOptionalNonEmptyString, validateSurfaceRunControls, } from "@claudexor/schema";
6
9
  import { assertNoInlineSecretValues, errorCode } from "@claudexor/util";
7
- // Generated JSON Schemas from @claudexor/schema (the SSOT): declared to hosts
8
- // as tool outputSchema so structured results are validated shapes, not blobs.
9
- // zod-to-json-schema emits a `$ref`+`definitions` wrapper; the SDK's
10
- // fromJsonSchema wants a self-contained schema, so internal refs are inlined
11
- // 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.
12
12
  function inlineJsonSchemaRefs(schema) {
13
- // zod-to-json-schema dedupes with FULL JSON-pointer refs (e.g.
14
- // "#/definitions/X/properties/y/items"), so resolution walks pointers over
15
- // the whole document, not just top-level definition names.
13
+ // Resolve full JSON-pointer refs, not just top-level definition names.
16
14
  const resolvePointer = (pointer) => {
17
15
  let node = schema;
18
16
  for (const rawSegment of pointer.split("/").slice(1)) {
@@ -34,9 +32,7 @@ function inlineJsonSchemaRefs(schema) {
34
32
  const obj = node;
35
33
  const ref = obj["$ref"];
36
34
  if (typeof ref === "string" && ref.startsWith("#/")) {
37
- // Claudexor's generated schemas are trees; a cycle would mean a schema
38
- // refactor introduced recursion — fail LOUDLY at server start rather
39
- // than silently degrading validation to permissive.
35
+ // Generated schemas are trees; fail loudly if a refactor introduces recursion.
40
36
  if (stack.includes(ref))
41
37
  throw new Error(`cyclic $ref '${ref}' in a generated tool schema — flatten the schema or drop its outputSchema`);
42
38
  const target = resolvePointer(ref);
@@ -54,9 +50,10 @@ function inlineJsonSchemaRefs(schema) {
54
50
  };
55
51
  return resolve(schema, []);
56
52
  }
57
- const require = createRequire(import.meta.url);
58
- const mcpRunToolResultSchema = inlineJsonSchemaRefs(require("@claudexor/schema/generated/McpRunToolResult.schema.json"));
59
- const agentCapabilityCatalogSchema = inlineJsonSchemaRefs(require("@claudexor/schema/generated/AgentCapabilityCatalog.schema.json"));
53
+ const mcpRunToolResultSchema = inlineJsonSchemaRefs(mcpRunToolResultSchemaRaw);
54
+ const testCommandInvocationSchema = inlineJsonSchemaRefs(testCommandInvocationSchemaRaw);
55
+ const paidBudgetSchema = inlineJsonSchemaRefs(paidBudgetSchemaRaw);
56
+ const agentCapabilityCatalogSchema = inlineJsonSchemaRefs(agentCapabilityCatalogSchemaRaw);
60
57
  /** Build the SDK server with Claudexor's tools registered (one era-agnostic factory). */
61
58
  export function buildMcpServer(opts) {
62
59
  const server = new SdkMcpServer({
@@ -69,7 +66,9 @@ export function buildMcpServer(opts) {
69
66
  inputSchema: fromJsonSchema(tool.inputSchema),
70
67
  // Structured results are DECLARED (outputSchema) and mirrored in text;
71
68
  // annotations are the MCP behavior hints (read-only vs mutating).
72
- ...(tool.outputSchema ? { outputSchema: fromJsonSchema(tool.outputSchema) } : {}),
69
+ ...(tool.outputSchema
70
+ ? { outputSchema: fromJsonSchema(tool.outputSchema) }
71
+ : {}),
73
72
  ...(tool.annotations ? { annotations: tool.annotations } : {}),
74
73
  }, (async (args, ctx) => {
75
74
  const provided = (args ?? {});
@@ -84,13 +83,7 @@ export function buildMcpServer(opts) {
84
83
  // there. The old hand-rolled -32602 contract is retired with it.
85
84
  throw new Error(validation);
86
85
  }
87
- // Offer the elicitation bridge ONLY when the client declared the
88
- // capability — otherwise the ENGINE must not think an interactive
89
- // channel exists (it would offer the harness a channel whose every
90
- // question dies as a decline).
91
- const canElicit = Boolean(server.server.getClientCapabilities()?.elicitation);
92
86
  const out = await tool.handler(provided, {
93
- elicit: canElicit ? elicitBridge(ctx) : null,
94
87
  signal: ctx?.mcpReq?.signal,
95
88
  });
96
89
  const text = typeof out === "string" ? out : out.text;
@@ -110,7 +103,9 @@ export function buildMcpServer(opts) {
110
103
  export function serveClaudexorMcp(opts) {
111
104
  warnOnPluginVersionSkew(opts.version);
112
105
  const serveOpts = {
113
- ...(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
+ : {}),
114
109
  // Out-of-band transport errors go to stderr — stdout is the wire.
115
110
  onerror: (err) => process.stderr.write(`claudexor mcp: ${err.message}\n`),
116
111
  };
@@ -133,69 +128,6 @@ function warnOnPluginVersionSkew(serverVersion) {
133
128
  `run \`claudexor plugin repair all\` and reload the host to refresh cached tool schemas\n`);
134
129
  }
135
130
  }
136
- /**
137
- * Map the SDK's server-initiated elicitation onto the engine's typed
138
- * interaction questions. One elicitation per QUESTION (MCP forms are flat);
139
- * a missing client capability resolves null so the engine's timeout-decline
140
- * fallback applies — never a fake answer.
141
- */
142
- function elicitBridge(ctx) {
143
- const elicitInput = ctx?.mcpReq?.elicitInput;
144
- if (typeof elicitInput !== "function")
145
- return null;
146
- return async ({ questions }) => {
147
- const answers = [];
148
- for (const q of questions) {
149
- const hasOptions = q.options.length > 0;
150
- const property = hasOptions
151
- ? q.multi_select
152
- ? { type: "array", items: { type: "string", enum: q.options.map((o) => o.label) }, description: optionLegend(q) }
153
- : { type: "string", enum: q.options.map((o) => o.label), description: optionLegend(q) }
154
- : { type: "string", description: "Free-text answer" };
155
- let result;
156
- try {
157
- result = await ctx.mcpReq.elicitInput({
158
- message: q.header ? `${q.header}: ${q.question}` : q.question,
159
- requestedSchema: {
160
- type: "object",
161
- properties: { answer: property },
162
- required: ["answer"],
163
- },
164
- });
165
- }
166
- catch (err) {
167
- if (err instanceof MissingRequiredClientCapabilityError)
168
- return null;
169
- throw err;
170
- }
171
- if (result?.action !== "accept" || !result?.content || typeof result.content !== "object") {
172
- // Decline/cancel any single question = decline the whole interaction
173
- // (the engine treats partial answer sets as declines anyway).
174
- return null;
175
- }
176
- const answer = result.content["answer"];
177
- if (hasOptions && q.multi_select && Array.isArray(answer)) {
178
- answers.push({ question_id: q.id, selected_labels: answer.map(String), free_text: null });
179
- }
180
- else if (hasOptions && typeof answer === "string") {
181
- answers.push({ question_id: q.id, selected_labels: [answer], free_text: null });
182
- }
183
- else if (typeof answer === "string" && answer.trim()) {
184
- answers.push({ question_id: q.id, selected_labels: [], free_text: answer });
185
- }
186
- else {
187
- return null;
188
- }
189
- }
190
- return answers;
191
- };
192
- }
193
- function optionLegend(q) {
194
- const withDetail = q.options.filter((o) => o.description);
195
- if (withDetail.length === 0)
196
- return "Choose from the listed options";
197
- return withDetail.map((o) => `${o.label}: ${o.description}`).join("; ");
198
- }
199
131
  function validateToolArguments(tool, args) {
200
132
  if (!args || typeof args !== "object" || Array.isArray(args))
201
133
  return "tool arguments must be an object";
@@ -208,7 +140,9 @@ function validateToolArguments(tool, args) {
208
140
  // Prompt is required exactly when the tool's own schema REQUIRES it — no
209
141
  // per-tool-name special cases (no-argument tools like status/capabilities
210
142
  // simply do not declare a prompt property).
211
- const requiredKeys = Array.isArray(tool.inputSchema.required) ? tool.inputSchema.required : [];
143
+ const requiredKeys = Array.isArray(tool.inputSchema.required)
144
+ ? tool.inputSchema.required
145
+ : [];
212
146
  if (requiredKeys.includes("prompt")) {
213
147
  if (typeof obj.prompt !== "string" || obj.prompt.trim().length === 0)
214
148
  return "prompt must be a non-empty string";
@@ -292,31 +226,70 @@ function structuredRunResult(result) {
292
226
  runId: typeof r["runId"] === "string" && r["runId"] ? r["runId"] : null,
293
227
  runDir: typeof r["runDir"] === "string" && r["runDir"] ? r["runDir"] : null,
294
228
  status: typeof r["status"] === "string" && r["status"] ? r["status"] : null,
295
- applyEligibility: r["applyEligibility"] && typeof r["applyEligibility"] === "object" ? r["applyEligibility"] : null,
229
+ applyEligibility: r["applyEligibility"] && typeof r["applyEligibility"] === "object"
230
+ ? r["applyEligibility"]
231
+ : null,
296
232
  };
297
233
  }
298
234
  /** Default Claudexor tool surface for MCP (v0.9: 5 canonical modes + strategy flags). */
299
235
  export function defaultClaudexorTools(runner) {
300
236
  const reviewerModelProperties = Object.fromEntries(PROVIDER_FAMILIES.map((family) => [family, { type: "string", minLength: 1 }]));
301
- const reviewerEffortProperties = Object.fromEntries(PROVIDER_FAMILIES.map((family) => [
302
- family,
303
- { type: "string", enum: EffortHint.options },
304
- ]));
237
+ const reviewerEffortProperties = Object.fromEntries(PROVIDER_FAMILIES.map((family) => [family, { type: "string", enum: EffortHint.options }]));
305
238
  const promptSchema = (minN = 1) => ({
306
239
  type: "object",
307
240
  additionalProperties: false,
308
241
  properties: {
309
- prompt: { type: "string", minLength: 1, pattern: "\\S", description: "The user task or question to run through Claudexor." },
310
- harness: { type: "string", minLength: 1, description: "Optional harness id to force for this one-shot run." },
311
- primaryHarness: { type: "string", minLength: 1, description: "Optional primary harness id for this run." },
312
- model: { type: "string", minLength: 1, description: "Optional model override for the primary harness." },
313
- effort: { type: "string", enum: EffortHint.options, description: "Optional effort override for the primary harness." },
314
- web: { type: "string", enum: ExternalContextPolicy.options, description: "External context policy for this run." },
315
- externalContextPolicy: { type: "string", enum: ExternalContextPolicy.options, description: "Alias of web for control-api parity." },
316
- n: { type: "integer", minimum: minN, description: "Optional best-of-N width for candidate races." },
317
- repoPath: { type: "string", description: "Absolute path of the target project. Defaults to the MCP server cwd." },
318
- tests: { type: "array", items: { type: "string", minLength: 1 }, description: "Deterministic gate commands for this run." },
319
- 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,
320
293
  access: {
321
294
  type: "string",
322
295
  enum: ["readonly", "workspace_write", "full", "external_sandbox_full", "inherit_native"],
@@ -366,9 +339,10 @@ export function defaultClaudexorTools(runner) {
366
339
  required: ["prompt"],
367
340
  });
368
341
  // Behavior hints derive from the tool's MODE (data, not per-name hardcode):
369
- // ask/audit/plan are read-only by construction, and MCP orchestrate is
370
- // suggest-autonomy only (a read-only plan). Only agent-mode tools mutate.
371
- 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 };
372
346
  const mk = (name, description, params, minN = 1) => ({
373
347
  name,
374
348
  description,
@@ -377,43 +351,63 @@ export function defaultClaudexorTools(runner) {
377
351
  annotations: annotationsFor(params),
378
352
  // Summary first, then the runId/artifacts trailer (hosts get a handle);
379
353
  // the structured mirror carries the same facts machine-readably.
380
- // The elicitation bridge rides the hooks: the runner surfaces the engine's
381
- // interactive questions and this tool answers them via the host.
382
354
  handler: async (args, ctx) => {
383
- const result = await runner({ ...args, ...params }, {
384
- ...(ctx.signal ? { signal: ctx.signal } : {}),
385
- ...(ctx.elicit
386
- ? {
387
- onInteraction: async (ictx) => {
388
- const interactionId = ictx?.request?.interaction_id ?? "";
389
- const answers = await ctx.elicit({
390
- interaction_id: interactionId,
391
- questions: Array.isArray(ictx?.request?.questions) ? ictx.request.questions : [],
392
- });
393
- // The TYPED InteractionAnswerSet carries the interaction id
394
- // (ACP/daemon parity; the engine keys the set to the request).
395
- return answers ? { interaction_id: interactionId, answers } : null;
396
- },
397
- }
398
- : {}),
399
- });
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 } : {});
400
360
  return { text: formatRunResult(result), structured: structuredRunResult(result) };
401
361
  },
402
362
  });
403
363
  const runIdSchema = {
404
364
  type: "object",
405
365
  additionalProperties: false,
406
- 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
+ },
407
373
  required: ["runId"],
408
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
+ };
409
398
  return [
410
399
  mk("claudexor_ask", "One-shot read-only answer through Claudexor; returns final output, not a live thread.", { mode: "ask" }),
411
400
  mk("claudexor_explore", "One-shot bounded read-only exploration and synthesis through Claudexor.", { mode: "audit", swarm: true }),
412
401
  mk("claudexor_run", "One-shot Agent-mode Claudexor run; returns the final WorkProduct summary plus runId.", { mode: "agent" }),
413
402
  mk("claudexor_best_of", "One-shot best-of-N Claudexor run with cross-family review.", { mode: "agent", race: true }, 2),
414
403
  mk("claudexor_plan", "One-shot read-only Claudexor implementation plan.", { mode: "plan" }),
415
- mk("claudexor_create", "One-shot create-from-scratch Claudexor run.", { mode: "agent", create: true }),
416
- 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
+ }),
417
411
  {
418
412
  name: "claudexor_status",
419
413
  description: "Return doctor-backed Claudexor runtime status: per-harness verdicts with enabled/disabled intents, doctor reasons and checks, and the configured model.",
@@ -441,8 +435,7 @@ export function defaultClaudexorTools(runner) {
441
435
  };
442
436
  },
443
437
  },
444
- // Recovery tools thin read-only wrappers over the daemon control API,
445
- // 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.
446
439
  {
447
440
  name: "claudexor_runs",
448
441
  description: "List recent daemon-tracked Claudexor runs (recovery: find a lost runId).",
@@ -469,6 +462,74 @@ export function defaultClaudexorTools(runner) {
469
462
  };
470
463
  },
471
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
+ },
472
533
  {
473
534
  name: "claudexor_apply_check",
474
535
  description: "Dry-check whether a run's patch would apply cleanly to its original project (no mutation).",
@@ -482,6 +543,7 @@ export function defaultClaudexorTools(runner) {
482
543
  };
483
544
  },
484
545
  },
546
+ ...journalRecoveryTools(runner, formatRunResult),
485
547
  ];
486
548
  }
487
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.0",
3
+ "version": "2.1.2",
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/util": "1.0.0",
21
- "@claudexor/schema": "1.0.0"
20
+ "@claudexor/util": "2.1.2",
21
+ "@claudexor/schema": "2.1.2"
22
22
  },
23
23
  "repository": {
24
24
  "type": "git",