Models pick the wrong tools. Token bills balloon. Servers break their own protocol. None of it is visible from your server's code — so jig measures it on the wire and hands you a report card you can send to someone.
$ npx -y @shodh/jig check "npx -y your-mcp-server"
Not a wall of terminal output that scrolls away — a self-contained HTML document with the score, the ranked fixes, and where every token goes. It lands next to you by default, and it survives being forwarded.
./jig-report-mcp-servers-everything.html — written by default, zero JavaScript, opens anywhere.
An MCP server "works" only if a model understands its tools, picks the right one, and fills the arguments. That surface is probabilistic — here is how often it goes wrong.
Fourteen commands over stdio and Streamable HTTP. Every number is exact, or labelled as an approximation — never silently wrong.
Developers write tool descriptions blind. jig context renders the precise request body a model API receives from your server — token-priced, section by section — and sends nothing to anyone.
Anchored to what jig bench actually sends — proven byte-identical by a parity test.
Selection is probabilistic, so jig reports distributions — never a bare "pass". Promote any bench run into a versioned suite with one flag, then gate CI on the rate.

jig bench — N runs, outcome taxonomy, argument validation.

jig eval — flakiness surfaced, gate exits non-zero.
Authorization is the ecosystem's loudest unmet need — and roughly 8.5% of public servers implement it. jig probes the discoverable surface and cites the clause behind every verdict.
RFC 9728 · 8414 · 7591 · 8707 · 9207 — no credentials sent, nothing installed on the server.
Every rule jig enforces is written down, cited to primary sources, and paired with the exact command that verifies it — including honest labels where nothing can verify it yet.
Design, protocol discipline, auth, deployment, testing, remediation — each with its rule, its evidence, and its verification command.
Read the standards →50 servers priced, then 127 graded dimension by dimension — the distribution jig grades against, the dataset its weights are fitted to, and a public correction where our own first reading was wrong.
Read the census →Weights and penalty tables in the open — now fitted to a 63-server spread census rather than asserted, with every rejected candidate weighting recorded. Deliberately arguable: if the rubric is wrong, that is a fixable, public thing.
Read the rubric →A tool that grades honesty should be held to it.
jig check --judge) asks a model the three questions a heuristic cannot — does the description state its purpose, distinguish its siblings, and document its parameters — but it is off by default, reported in its own section, and never scored: the composite is byte-identical with and without it.One command. No account, no signup, no data leaves your machine.
$ npx -y @shodh/jig check "npx -y your-mcp-server"