Claudexor
NPM · CLAUDEXOR
Route coding work across Claude Code, Codex, Cursor, and OpenCode with shared context.
Available components
Last scanned (2 hours ago)
Scores higher than 93% of npm servers
Category Developer Tools
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security91
- No malware found by supply-chain analysis.Pass
- CVE check failed: a known high-severity CVE affects @modelcontextprotocol/server 2.2.0, reached via @claudexor/cli > @claudexor/mcp-server > @modelcontextprotocol/server. A fixed version is available. View diagnostics → Fail
- No install/post-install scripts declared.Pass
- 3 of 46 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency100
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to razzant/claudexor). View diagnostics → Pass
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 2 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability58
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 8811 tokens (~214/item across 41 items; 41 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage93
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 75% of tool parameters carry a description.Partial
- Structured output schemas are declared (73% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 41 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 5 Nov 26 0
- CVE-2026-111771 affects this package: high ▼ security
- CVE-2026-109924 affects this package: high ▼ security
- CVE-2026-9697 affects this package: high ▼ security
- CVE-2026-109829 affects this package: high ▼ security
- CVE-2026-84933 affects this package: high ▼ security
- CVE-2026-11525 affects this package: high ▼ security
- CVE-2026-13697 affects this package: high ▼ security
- CVE-2026-18149 affects this package: high ▼ security
- CVE-2026-111770 affects this package: high ▼ security
- CVE-2026-109383 affects this package: high ▼ security
- CVE-2026-9679 affects this package: high ▼ security
- CVE-2026-14643 affects this package: high ▼ security
- CVE-2026-16728 affects this package: high ▼ security
- CVE-2026-9678 affects this package: high ▼ security
- CVE-2026-84947 affects this package: high ▼ security
- CVE-2026-84890 affects this package: high ▼ security
- CVE-2026-15157 affects this package: high ▼ security
- CVE-2026-6733 affects this package: high ▼ security
- CVE-2026-16729 affects this package: high ▼ security
- CVE-2026-109869 affects this package: high ▼ security
- CVE-2026-111768 affects this package: high ▼ security
- CVE-2026-85014 affects this package: high ▼ security
- CVE-2026-12151 affects this package: high ▼ security
- CVE-2026-85008 affects this package: high ▼ security
- CVE-2026-18540 affects this package: high ▼ security
- CVE-2026-6734 affects this package: high ▼ security
- CVE-2026-87029 affects this package: high ▼ security
- CVE-2026-109841 affects this package: high ▼ security
- CVE-2026-87018 affects this package: high ▼ security
- CVE-2026-19534 affects this package: high ▼ security
- CVE-2026-84961 affects this package: high ▼ security
- CVE-2026-109932 affects this package: high ▼ security
- 4 Nov 26 0
- CVE-2026-111771 affects this package: high ▼ security
- CVE-2026-109924 affects this package: high ▼ security
- CVE-2026-9697 affects this package: high ▼ security
- CVE-2026-109829 affects this package: high ▼ security
- CVE-2026-84933 affects this package: high ▼ security
- CVE-2026-11525 affects this package: high ▼ security
- CVE-2026-13697 affects this package: high ▼ security
- CVE-2026-18149 affects this package: high ▼ security
- CVE-2026-111770 affects this package: high ▼ security
- CVE-2026-109383 affects this package: high ▼ security
- CVE-2026-9679 affects this package: high ▼ security
- CVE-2026-14643 affects this package: high ▼ security
- CVE-2026-16728 affects this package: high ▼ security
- CVE-2026-9678 affects this package: high ▼ security
- CVE-2026-84947 affects this package: high ▼ security
- CVE-2026-84890 affects this package: high ▼ security
- CVE-2026-15157 affects this package: high ▼ security
- CVE-2026-6733 affects this package: high ▼ security
- CVE-2026-16729 affects this package: high ▼ security
- CVE-2026-109869 affects this package: high ▼ security
- CVE-2026-111768 affects this package: high ▼ security
- CVE-2026-85014 affects this package: high ▼ security
- CVE-2026-12151 affects this package: high ▼ security
- CVE-2026-85008 affects this package: high ▼ security
- CVE-2026-18540 affects this package: high ▼ security
- CVE-2026-6734 affects this package: high ▼ security
- CVE-2026-87029 affects this package: high ▼ security
- CVE-2026-109841 affects this package: high ▼ security
- CVE-2026-87018 affects this package: high ▼ security
- CVE-2026-19534 affects this package: high ▼ security
- CVE-2026-84961 affects this package: high ▼ security
- CVE-2026-109932 affects this package: high ▼ security
- 3 Nov 26 0
- CVE-2026-111771 affects this package: high ▼ security
- CVE-2026-109924 affects this package: high ▼ security
- CVE-2026-9697 affects this package: high ▼ security
- CVE-2026-109829 affects this package: high ▼ security
- CVE-2026-84933 affects this package: high ▼ security
- CVE-2026-11525 affects this package: high ▼ security
- CVE-2026-13697 affects this package: high ▼ security
- CVE-2026-18149 affects this package: high ▼ security
- CVE-2026-111770 affects this package: high ▼ security
- CVE-2026-109383 affects this package: high ▼ security
- CVE-2026-9679 affects this package: high ▼ security
- CVE-2026-14643 affects this package: high ▼ security
- CVE-2026-16728 affects this package: high ▼ security
- CVE-2026-9678 affects this package: high ▼ security
- CVE-2026-84947 affects this package: high ▼ security
- CVE-2026-84890 affects this package: high ▼ security
- CVE-2026-15157 affects this package: high ▼ security
- CVE-2026-6733 affects this package: high ▼ security
- CVE-2026-16729 affects this package: high ▼ security
- CVE-2026-109869 affects this package: high ▼ security
- CVE-2026-111768 affects this package: high ▼ security
- CVE-2026-85014 affects this package: high ▼ security
- CVE-2026-12151 affects this package: high ▼ security
- CVE-2026-85008 affects this package: high ▼ security
- CVE-2026-18540 affects this package: high ▼ security
- CVE-2026-6734 affects this package: high ▼ security
- CVE-2026-87029 affects this package: high ▼ security
- CVE-2026-109841 affects this package: high ▼ security
- CVE-2026-87018 affects this package: high ▼ security
- CVE-2026-19534 affects this package: high ▼ security
- CVE-2026-84961 affects this package: high ▼ security
- CVE-2026-109932 affects this package: high ▼ security
- 2 Nov 26 0
- CVE-2026-111771 affects this package: high ▼ security
- CVE-2026-109924 affects this package: high ▼ security
- CVE-2026-9697 affects this package: high ▼ security
- CVE-2026-109829 affects this package: high ▼ security
- CVE-2026-84933 affects this package: high ▼ security
- CVE-2026-11525 affects this package: high ▼ security
- CVE-2026-13697 affects this package: high ▼ security
- CVE-2026-18149 affects this package: high ▼ security
- CVE-2026-111770 affects this package: high ▼ security
- CVE-2026-109383 affects this package: high ▼ security
- CVE-2026-9679 affects this package: high ▼ security
- CVE-2026-14643 affects this package: high ▼ security
- CVE-2026-16728 affects this package: high ▼ security
- CVE-2026-9678 affects this package: high ▼ security
- CVE-2026-84947 affects this package: high ▼ security
- CVE-2026-84890 affects this package: high ▼ security
- CVE-2026-15157 affects this package: high ▼ security
- CVE-2026-6733 affects this package: high ▼ security
- CVE-2026-16729 affects this package: high ▼ security
- CVE-2026-109869 affects this package: high ▼ security
- CVE-2026-111768 affects this package: high ▼ security
- CVE-2026-85014 affects this package: high ▼ security
- CVE-2026-12151 affects this package: high ▼ security
- CVE-2026-85008 affects this package: high ▼ security
- CVE-2026-18540 affects this package: high ▼ security
- CVE-2026-6734 affects this package: high ▼ security
- CVE-2026-87029 affects this package: high ▼ security
- CVE-2026-109841 affects this package: high ▼ security
- CVE-2026-87018 affects this package: high ▼ security
- CVE-2026-19534 affects this package: high ▼ security
- CVE-2026-84961 affects this package: high ▼ security
- CVE-2026-109932 affects this package: high ▼ security
- 1 Nov 26 0
- CVE-2026-111771 affects this package: high ▼ security
- CVE-2026-109924 affects this package: high ▼ security
- CVE-2026-9697 affects this package: high ▼ security
- CVE-2026-109829 affects this package: high ▼ security
- CVE-2026-84933 affects this package: high ▼ security
- CVE-2026-11525 affects this package: high ▼ security
- CVE-2026-13697 affects this package: high ▼ security
- CVE-2026-18149 affects this package: high ▼ security
- CVE-2026-111770 affects this package: high ▼ security
- CVE-2026-109383 affects this package: high ▼ security
- CVE-2026-9679 affects this package: high ▼ security
- CVE-2026-14643 affects this package: high ▼ security
- CVE-2026-16728 affects this package: high ▼ security
- CVE-2026-9678 affects this package: high ▼ security
- CVE-2026-84947 affects this package: high ▼ security
- CVE-2026-84890 affects this package: high ▼ security
- CVE-2026-15157 affects this package: high ▼ security
- CVE-2026-6733 affects this package: high ▼ security
- CVE-2026-16729 affects this package: high ▼ security
- CVE-2026-109869 affects this package: high ▼ security
- CVE-2026-111768 affects this package: high ▼ security
- CVE-2026-85014 affects this package: high ▼ security
- CVE-2026-12151 affects this package: high ▼ security
- CVE-2026-85008 affects this package: high ▼ security
- CVE-2026-18540 affects this package: high ▼ security
- CVE-2026-6734 affects this package: high ▼ security
- CVE-2026-87029 affects this package: high ▼ security
- CVE-2026-109841 affects this package: high ▼ security
- CVE-2026-87018 affects this package: high ▼ security
- CVE-2026-19534 affects this package: high ▼ security
- CVE-2026-84961 affects this package: high ▼ security
- CVE-2026-109932 affects this package: high ▼ security
- 31 Oct 26 0
- CVE-2026-111771 affects this package: high ▼ security
- CVE-2026-109924 affects this package: high ▼ security
- CVE-2026-9697 affects this package: high ▼ security
- CVE-2026-109829 affects this package: high ▼ security
- CVE-2026-84933 affects this package: high ▼ security
- CVE-2026-11525 affects this package: high ▼ security
- CVE-2026-13697 affects this package: high ▼ security
- CVE-2026-18149 affects this package: high ▼ security
- CVE-2026-111770 affects this package: high ▼ security
- CVE-2026-109383 affects this package: high ▼ security
- CVE-2026-9679 affects this package: high ▼ security
- CVE-2026-14643 affects this package: high ▼ security
- CVE-2026-16728 affects this package: high ▼ security
- CVE-2026-9678 affects this package: high ▼ security
- CVE-2026-84947 affects this package: high ▼ security
- CVE-2026-84890 affects this package: high ▼ security
- CVE-2026-15157 affects this package: high ▼ security
- CVE-2026-6733 affects this package: high ▼ security
- CVE-2026-16729 affects this package: high ▼ security
- CVE-2026-109869 affects this package: high ▼ security
- CVE-2026-111768 affects this package: high ▼ security
- CVE-2026-85014 affects this package: high ▼ security
- CVE-2026-12151 affects this package: high ▼ security
- CVE-2026-85008 affects this package: high ▼ security
- CVE-2026-18540 affects this package: high ▼ security
- CVE-2026-6734 affects this package: high ▼ security
- CVE-2026-87029 affects this package: high ▼ security
- CVE-2026-109841 affects this package: high ▼ security
- CVE-2026-87018 affects this package: high ▼ security
- CVE-2026-19534 affects this package: high ▼ security
- CVE-2026-84961 affects this package: high ▼ security
- CVE-2026-109932 affects this package: high ▼ security
- 30 Oct 26 0
We did not load change detail this far back for this component, so this day may have recorded more than is shown.
- CVE-2026-111771 affects this package: high ▼ security
- CVE-2026-109924 affects this package: high ▼ security
- CVE-2026-9697 affects this package: high ▼ security
- CVE-2026-109829 affects this package: high ▼ security
- CVE-2026-84933 affects this package: high ▼ security
- CVE-2026-11525 affects this package: high ▼ security
- CVE-2026-13697 affects this package: high ▼ security
- CVE-2026-18149 affects this package: high ▼ security
- 28 Oct 26 −1
We did not load change detail this far back for this component, so this day may have recorded more than is shown.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Analysed npm/claudexor@4.8.1
Provenance Verified
A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.
| Result | Verified |
|---|---|
| Ecosystem | npm |
| Reason | Verified |
| Discovered via | Registry attestation endpoint |
| Source repo | razzant/claudexor |
| Certificate issuer | https://token.actions.githubusercontent.com |
| Certificate SAN | https://github.com/razzant/claudexor/.github/workflows/release.yml@refs/tags/v4.8.1 |
| Rekor log index | 3535796329 |
| Predicate type | SLSA build provenance https://slsa.dev/provenance/v1 |
| Subject digest | sha512:e84c3341b79fded72df7d2180f24cd7028e7f67b39d198cae85dad10907312658da3019c789ad9f645170cf9eda66db86e5486391b2e0a5e611a4ddfd |
Background: How many MCP packages publish verified provenance →
Vulnerabilities 32 findings
| ID | CVE | Severity | Vector | Fix available |
|---|---|---|---|---|
| GHSA-46jr-4wx8-v453 | CVE-2026-111768 | high | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | yes |
| GHSA-jm63-cq47-j5jp | CVE-2026-111770 | high | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:H | yes |
| GHSA-rvq5-wwqv-78pq | CVE-2026-111771 | medium | CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N | yes |
| GHSA-2gqq-gqf2-x968 | CVE-2026-84947 | low | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N | yes |
| GHSA-2jfj-6hjv-fm6j | CVE-2026-84933 | medium | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:N | yes |
| GHSA-2m5v-pch6-74hx | CVE-2026-109383 | high | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N | yes |
| GHSA-35p6-xmwp-9g52 | CVE-2026-6733 | low | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N | yes |
| GHSA-3xpg-4rpp-hhhm | CVE-2026-84890 | medium | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H | yes |
| GHSA-4cwx-7wf7-3272 | CVE-2026-13697 | high | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:H | yes |
| GHSA-4qv8-2p9j-2685 | CVE-2026-109924 | medium | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H | yes |
| GHSA-4w7w-5xrc-9h26 | CVE-2026-109829 | high | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N | yes |
| GHSA-55wc-3pg8-jfw6 | CVE-2026-87029 | medium | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H | yes |
| GHSA-8436-99hf-9mmv | CVE-2026-85008 | low | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N | yes |
| GHSA-8xcm-r25x-g524 | CVE-2026-16728 | medium | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N | yes |
| GHSA-9fm3-97px-rjf6 | CVE-2026-109932 | medium | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H | yes |
| GHSA-f72v-6w45-q472 | CVE-2026-109841 | medium | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N | yes |
| GHSA-g8m3-5g58-fq7m | CVE-2026-11525 | low | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N | yes |
| GHSA-hm92-r4w5-c3mj | CVE-2026-6734 | high | CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H | yes |
| GHSA-jr45-8vmc-qm54 | CVE-2026-14643 | medium | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N | yes |
| GHSA-m8rv-5g2x-5cg5 | CVE-2026-15157 | medium | CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:N | yes |
| GHSA-p88m-4jfj-68fv | CVE-2026-9679 | medium | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N | yes |
| GHSA-pmjh-fq2x-6v4x | CVE-2026-18149 | medium | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H | yes |
| GHSA-pr7r-676h-xcf6 | CVE-2026-9678 | medium | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N | yes |
| GHSA-qrxm-fqhp-jwvm | CVE-2026-87018 | high | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | yes |
| GHSA-r53p-7pc4-xj5r | CVE-2026-18540 | low | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N | yes |
| GHSA-rfgv-xxqx-mfg5 | CVE-2026-19534 | high | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | yes |
| GHSA-rx4f-c7p8-82vq | CVE-2026-85014 | medium | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H | yes |
| GHSA-v3r7-h72x-cjcm | CVE-2026-16729 | medium | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N | yes |
| GHSA-vmh5-mc38-953g | CVE-2026-9697 | high | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N | yes |
| GHSA-vxpw-j846-p89q | CVE-2026-12151 | high | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | yes |
| GHSA-w293-vg96-wgc3 | CVE-2026-84961 | high | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N | yes |
| GHSA-xjj6-f33q-929c | CVE-2026-109869 | high | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | yes |
Background: What a vulnerability scan can and cannot prove →
Dependencies 46 packages
| Packages resolved | 46 |
|---|---|
| Stale | 3 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
claudexor_thread_create ~332
Create a persistent Claudexor thread bound to a project and optional strict account profile. Creation starts no model. Write turns default to editing the project directory directly (in_place); choose workspace=isolated to use a persistent thread worktree created on the first write turn, then thread Apply to merge changes into the project. workspace=delegated with workspaceRoot binds every turn to that caller-owned directory under delegated authority (persistent, never applied to the project). Use claudexor_thread_turn to start work in it.
| Name | Type | Req | Description |
|---|---|---|---|
| access | string | – | – |
| credentialProfileId | string | – | – |
| defaultMode | string | – | – |
| eligibleHarnesses | array | – | – |
| idempotencyKey | string | – | Caller-owned key for this exact creation. Reuse after an unknown response; a different request with the same key conflicts. |
| primaryHarness | string | – | – |
| repoPath | string | yes | Absolute path of the target project. |
| title | string | – | – |
| workspace | string | – | Per-thread workspace mode: in_place mutates the live project tree directly (the default); isolated keeps a persistent git worktree per thread that apply merges into the project; delegated runs every… |
| workspaceRoot | string | – | Required exactly with workspace=delegated: absolute existing caller-owned directory every turn executes in. Every later turn inherits delegated authority (no repository full-access trust record, no o… |
No output schema declared.
No examples provided.
claudexor_thread_history ~171
Read one bounded page of thread turns with answer previews and receipt facts. limit 1..20; choose at most one cursor, beforeTurnId, afterTurnId or aroundTurnId. No selector reads the newest turns. aroundTurnId returns the anchor and earlier turns; follow newerCursor for later turns. Ascending ordinals; cursors bind store, epoch, thread and limit. Replay refreshes current facts. Requires an existing daemon; never starts work.
| Name | Type | Req | Description |
|---|---|---|---|
| afterTurnId | string | – | Thread id. |
| aroundTurnId | string | – | Thread id. |
| beforeTurnId | string | – | Thread id. |
| cursor | string | – | – |
| expectedStoreId | string | – | – |
| limit | integer | – | – |
| threadId | string | yes | Thread id. |
| Name | Type | Req | Description |
|---|---|---|---|
| epoch | string | yes | – |
| hasNewer | boolean | yes | – |
| hasOlder | boolean | yes | – |
| header | object | yes | – |
| limitedBy | – | yes | – |
| newerCursor | – | yes | – |
| olderCursor | – | yes | – |
| replayCursor | – | yes | – |
| replayNextCursor | – | yes | Continue the original replay membership if current facts no longer fit one page; merge every segment before declaring the refresh complete. |
| revision | object | yes | – |
| storeId | string | yes | – |
| threadId | string | yes | Thread id. |
| turns | array | yes | – |
No examples provided.
claudexor_thread_prompt ~95
Read a bounded UTF-8 part of any turn's complete stored prompt, including refused turns. Continue at nextOffset; totalBytes and sha256 identify the full prompt. Requires an existing daemon.
| Name | Type | Req | Description |
|---|---|---|---|
| expectedStoreId | string | – | – |
| maxBytes | integer | – | – |
| offset | integer | – | – |
| threadId | string | yes | Thread id. |
| turnId | string | yes | Thread id. |
| Name | Type | Req | Description |
|---|---|---|---|
| nextOffset | integer | yes | Where the next part starts; equal to totalBytes when this part ends the event. |
| offset | integer | yes | UTF-8 byte offset where this part starts. |
| sha256 | string | yes | SHA-256 of all totalBytes; verify the reassembled text before parsing it. |
| text | string | yes | Bytes [offset, nextOffset) decoded as UTF-8; a boundary never splits a character. |
| threadId | string | yes | Thread id. |
| totalBytes | integer | yes | – |
| turnId | string | yes | Thread id. |
No examples provided.
claudexor_thread_read ~50
Read a thread's daemon-owned turns and native session handles, including earlier turns after a lost response; use the run status/result tools for terminal output.
| Name | Type | Req | Description |
|---|---|---|---|
| threadId | string | yes | – |
No output schema declared.
No examples provided.
claudexor_thread_turn ~307
Enqueue a turn on a persistent Claudexor thread with optional routing and strict account overrides. Supply idempotencyKey to recover a lost response without creating another paid turn. Returns durable thread and turn handles plus runId or a queued jobId.
| Name | Type | Req | Description |
|---|---|---|---|
| access | string | – | – |
| attachments | array | – | Immutable resource references from upload finalize. Paths, base64 and internal resolved attachments are rejected; ordinary lane admission still applies. |
| credentialProfileId | string | – | – |
| effort | string | – | Optional effort override for this turn. Expects a reasoning-effort level the resolved harness/model advertises (a lowercase slug; each vendor lists its own levels, weakest to strongest); an advertise… |
| execution | object | – | This turn's own auxiliary writable directories; the thread's project and execution tree stay fixed, and omitting the list grants nothing. |
| harness | string | – | – |
| idempotencyKey | string | – | Caller-owned key for one logical turn. Retry an unknown outcome with the same key and body; use a new key for an intentional next turn. |
| maxSeconds | integer | – | – |
| model | string | – | – |
| primaryHarness | string | – | – |
| prompt | string | yes | The next user turn for the persistent thread. |
| runMode | string | – | – |
| threadId | string | yes | – |
| timeLimitMode | string | – | – |
| web | string | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
claudexor_upload_cancel ~42
Explicitly cancel an unfinished upload. Do not use cancellation to recover an unknown finalize outcome.
| Name | Type | Req | Description |
|---|---|---|---|
| uploadId | string | yes | Non-empty identifier string. |
| Name | Type | Req | Description |
|---|---|---|---|
| expectedBytes | integer | yes | – |
| receivedBytes | integer | yes | – |
| state | string | yes | – |
| uploadId | string | yes | Non-empty identifier string. |
No examples provided.
claudexor_upload_create ~101
Low-level stage (claudexor_upload_import is the one-call keyed path). Create an ordinary attachment upload. Save the caller-owned idempotencyKey and exact request before calling; replay both after a lost response. Save uploadId before importing bytes.
| Name | Type | Req | Description |
|---|---|---|---|
| idempotencyKey | string | yes | Caller-owned key for this exact stage. Save key and body before calling; replay both after an unknown response. |
| request | object | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| expectedBytes | integer | yes | – |
| receivedBytes | integer | yes | – |
| state | string | yes | – |
| uploadId | string | yes | Non-empty identifier string. |
No examples provided.
claudexor_upload_finalize ~110
Finalize immutable attachment bytes. Save and replay the original caller-owned key and exact request after an unknown response, even if status returns 404. Never auto-cancel uncertain finalization. Attach the returned resourceId to run/turn attachments.
| Name | Type | Req | Description |
|---|---|---|---|
| idempotencyKey | string | yes | Caller-owned key for this exact stage. Save key and body before calling; replay both after an unknown response. |
| request | object | yes | – |
| uploadId | string | yes | Non-empty identifier string. |
| Name | Type | Req | Description |
|---|---|---|---|
| createdAt | string | yes | ISO-8601 timestamp string. |
| deduplicated | boolean | yes | – |
| kind | string | yes | Kind of attached resource: image input or generic file bytes. |
| mime | string | yes | – |
| name | string | yes | – |
| purpose | string | – | Immutable model-operation purpose; absent means a legacy or ordinary attachment. |
| resourceId | string | yes | Non-empty identifier string. |
| sha256 | string | yes | Content hash in algo:hex form, e.g. "sha256:abcd...". |
| sizeBytes | integer | yes | – |
No examples provided.
claudexor_upload_import ~330
Import one explicit absolute regular file ON THE MCP-SERVER HOST as a ready immutable attachment in one call. First save expectedStoreId (from claudexor_store_identity) and idempotencyKey with the exact arguments; another store is refused before the file is touched. After any uncertainty or failure repeat the identical call: a completed import returns its original resource without reading the file again, even if the file has since changed or been deleted. Different arguments under a used key are refused; a new edition of the file needs a new key. Pass resource.resourceId in run/turn attachments. No remote-client path, URL, glob or directory; bytes only, no parsing or OCR.
| Name | Type | Req | Description |
|---|---|---|---|
| expectedStoreId | string | yes | Store UUID from the opt-in handshake, saved with the key BEFORE the first import and replayed unchanged; never replaced by the current store. A different store is refused before any effect. |
| idempotencyKey | string | yes | Caller-owned key for this one import. Save it with the exact arguments before calling and repeat both after any uncertainty; a completed import returns its original resource without reading the file… |
| kind | string | – | Default: image when the effective MIME type starts with image/, otherwise file. |
| mime | string | – | Default from the file extension (unknown extensions are application/octet-stream). |
| name | string | – | Display name. Default: the file's base name. |
| path | string | yes | Explicit absolute regular file on the MCP-server host, never the remote client's filesystem. |
| Name | Type | Req | Description |
|---|---|---|---|
| content | object | yes | Exact bytes a keyed import owns, bound by its first accepted declaration. |
| receivedBytes | integer | yes | – |
| resource | object | – | The immutable resource, present exactly when state is ready. |
| state | string | yes | open: send the bound bytes; uploading: a transfer is in flight; ready: resource is published; cancelled: finished without a resource, a new attempt needs a new key. |
| storeId | string | yes | Durable store that owns this import key and its resource. |
| uploadId | string | yes | Upload that receives this import's bytes. |
No examples provided.
claudexor_upload_import_local ~130
Stream one explicit absolute regular file ON THE MCP-SERVER HOST into an existing upload using one PUT. No remote-client path, URL, glob or directory. Save uploadId and returned expectedSha256. After an uncertain PUT read status: uploaded -> finalize, uploading -> observe, cancelled -> explicitly create a new upload. Already uploaded bytes are never overwritten; this call can hash the same local file to recover its digest.
| Name | Type | Req | Description |
|---|---|---|---|
| path | string | yes | Explicit absolute regular file on the MCP-server host, never the remote client's filesystem. |
| uploadId | string | yes | Non-empty identifier string. |
| Name | Type | Req | Description |
|---|---|---|---|
| expectedBytes | integer | yes | – |
| expectedSha256 | string | – | Digest of the verified local bytes. Save it for finalize; absent while uploading or cancelled. |
| receivedBytes | integer | yes | – |
| state | string | yes | – |
| uploadId | string | yes | Non-empty identifier string. |
No examples provided.
claudexor_upload_status ~57
Read existing upload state once. A finalized upload can return 404: replay finalize with the original key/body to recover its resource; absence is not proof of failure.
| Name | Type | Req | Description |
|---|---|---|---|
| uploadId | string | yes | Non-empty identifier string. |
| Name | Type | Req | Description |
|---|---|---|---|
| expectedBytes | integer | yes | – |
| receivedBytes | integer | yes | – |
| state | string | yes | – |
| uploadId | string | yes | Non-empty identifier string. |
No examples provided.
How do I install the Claudexor MCP server?
Claudexor runs locally as an npm package, launched with npx -y claudexor. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · claudexor
claude mcp add razzant-claudexor -- npx -y claudexor
What is the Claudexor MCP server?
Claudexor is an MCP server listed in the public MCP registry as io.github.razzant/claudexor. Route coding work across Claude Code, Codex, Cursor, and OpenCode with shared context. This page covers its npm package (claudexor).
Is the Claudexor MCP server safe to use?
Claudexor scores 89 out of 100 on VerifyMCP. We recorded 32 known advisories against it as of 5 November 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Claudexor MCP server expose?
Claudexor exposes 41 tools: claudexor_ask, claudexor_run, claudexor_best_of, claudexor_plan, claudexor_create, and 36 more. Their descriptions and schemas cost roughly 8,811 tokens of context every time the server is loaded.
Is the Claudexor MCP server still maintained?
Claudexor is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the Claudexor MCP server under?
Claudexor declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.