More screenshots
Works with the AI Agents you already use
canimcp
Find out which MCP clients silently break your server's tools before your users do. Paste a tools/list manifest or point it at a live server; it reports the exact client, version, rule, evidence and fix.
$19
canimcp
Example session with this skill installed
My MCP server exposes 10 tools including a generated create_payment schema and a fat update_inventory schema. Check which tools Claude Code and Codex will break on and tell me what to fix first.
- Read your context and instructions
- Compiled the canimcp
canimcp digest
Checked 10 tools (corpus 2026.10.16).
Per-client verdict
- codex: 1 error, 5 warn
- claude-code: 2 warn
- client-independent: 2 finding(s)
Findings, ranked
[error] root oneOf/anyOf next to properties (codex 0.162.0, evidence: probe)
tool: create_payment, path: inputSchema
A root oneOf or anyOf placed next to "properties" made Codex lose the property names - the call reached the server with mangled arguments. r/mcp reports a production tool silently dropped 17 days over a root oneOf.
fix: move the composition inside each property, or wrap the object so "properties" is not a sibling of oneOf/anyOf
[warn] prefixItems tuple in inputSchema (codex 0.162.0, evidence: probe)
tool: batch_insert, path: inputSchema
A prefixItems tuple was declared to the model as Array<string> - the per-position types were erased.
fix: model the arguments as an object with named properties instead of a positional tuple
[warn] integer argument that can exceed 2^53 (claude-code 2.1.295, codex 0.162.0, evidence: probe)
tool: search_events, path: inputSchema.properties.since
int64 value 1234567890123456789 arrived rounded on Claude Code, and string-or-rounded on Codex.
fix: accept big integers as strings and parse on the server
[warn] integer argument that can exceed 2^53 (claude-code 2.1.295, codex 0.162.0, evidence: probe)
tool: search_events, path: inputSchema.properties.until
int64 value 1234567890123456789 arrived rounded on Claude Code, and string-or-rounded on Codex.
fix: accept big integers as strings and parse on the server
[warn] inputSchema over ~14 KB (codex 0.162.0, evidence: measured)
tool: sync_catalog, path: inputSchema
Codex compacts large input schemas to fit a per-server budget (~20 KB). A 14 KB schema lost its required nested fields and calls arrived incomplete (0/3).
fix: shrink the schema (shared $defs help), or raise Codex's per-server schema budget to 20000 if you control the client
[warn] enum inside anyOf/oneOf in a >5 KB schema (codex 0.162.0, evidence: probe)
tool: sync_catalog, path: inputSchema
An enum nested inside anyOf in a schema over 5 KB had the enum erased by Codex's schema compaction - the model no longer saw the allowed values.
fix: hoist the enum to the property root, or shrink the schema under ~5 KB
[advisory] tool name over 64 chars or non-ASCII charset (all clients, evidence: historical)
tool: fetch.page, path: name
Some clients have silently truncated or rejected long/unusual tool names. A 65-char name worked on Claude Code 2.1.287 and Codex 0.162.0, but older or enterprise-pinned clients may still drop it.
fix: keep names under 64 chars, [A-Za-z0-9_-] only
[advisory] tool name over 64 chars or non-ASCII charset (all clients, evidence: historical)
tool: generate_report_for_customer_account_with_full_history_and_exports, path: name
Some clients have silently truncated or rejected long/unusual tool names. A 65-char name worked on Claude Code 2.1.287 and Codex 0.162.0, but older or enterprise-pinned clients may still drop it.
fix: keep names under 64 chars, [A-Za-z0-9_-] only
Advisories (always-on behaviors worth knowing)
- (codex 0.162.0) After a server's tool list changed, Codex kept using its old catalog and never called the new tool (0/3). Fix: restart the client session after deploying new tools
- (codex 0.162.0) With gpt-5.6-sol, Codex runs in code mode: the model never sees your JSON Schema, only a compacted TypeScript declaration generated from it - several Codex failures happen in that translation. Fix: assume the client sees a lossy projection of your schema, not the schema itself
Static analysis only: this checks schemas against a quirks corpus. It cannot see runtime result shapes or a client build newer than the corpus (2026.10.16).
Connects securely to your tools. The creator never sees your data.
About this skill
MCP clients do not implement the protocol identically. Claude Code 2.1.287 never calls a tool whose argument is named "ids[]" (0/3 measured runs). Codex 0.162.0 loses property names when a root oneOf sits next to "properties", and silently drops every tool past the 2048th on a server. One r/mcp poster had a production tool missing for 17 days over a root oneOf, with no error on either side.
canimcp is a static preflight: it checks your tools/list manifest against a quirks corpus distilled from published reproductions (the SineFrame quirks matrix plus binary probes and field reports), scoped by client and version.
This skill wraps the canimcp CLI with a runner script and a fix playbook:
- The agent runs
node scripts/compat-audit.mjson your manifest - a saved tools/list JSON file, a pasted JSON on stdin, or a live stdio server command it spawns itself. - The script prints a ranked digest: per-client verdicts, every finding with severity, evidence grade (measured / probe / historical / field-report), the exact tool and schema path, and the concrete fix.
- reference/quirk-playbook.md explains each of the 11 corpus rules and 3 always-on advisories, so the agent can order remediation: errors (tools that vanish), then warnings (mangled arguments, compacted schemas), then advisories (stale tool lists, truncated errors).
What it checks (examples): argument names like ids[] that Claude Code never calls, root oneOf/anyOf next to properties that Codex mangles, missing root "type" that drops a whole server's tool list, >2048 tools, >14KB schemas that Codex compacts destructively, enums erased inside compositions, prefixItems tuples flattened to Array<string>, int64 arguments arriving rounded, tool names that collide after normalization, outputSchema fidelity, tool names over 64 chars.
Honest limits: this is static analysis against a quirks corpus, not a live test rig. It cannot see runtime result shapes or client builds newer than the corpus. Only Claude Code and Codex carry tested versions today; Cursor, Gemini CLI and others are unclaimed until reproductions land. The corpus (src/corpus.json) is versioned and accepts community rules via PR with reproduction logs.
Requires Node 18+. Runs the published open-source CLI via npx - the audit is real output, not a simulation.
How to use
Skills on Agensi run inside your AI agent. Copy the prompt, paste it into your agent, and it connects to Agensi and installs this skill for you. If a payment is needed, your agent shows it to you first.
Reviews
No reviews yet
Be one of the first to try it. Every listed skill passes our trust checks below.
Security scanned
Passed our 8-point scan before listing
Fresh listing
Recently published to Agensi
Money-back guarantee
Doesn't do what its page promises? You get your money back.
Trust & safety
Security scanned
Verified clean 3 days ago
- Passed all security checks, Safe to install
Requires