Originally published at — a Lighthouse-style scorecard for MCP servers. One command, no API key, report in seconds:
npx mcpgrade --stdio "npx -y your-mcp-server"
Then I pointed it at 36 popular servers. It did not go great.
The results
Full sortable table: . Cost: pennies per server on a small model.
Two results worth your attention:
Static findings predict live confusion. On well-documented servers, tool-selection accuracy was 100%. On firecrawl it dropped to 84% — and the misses land exactly on the naming collisions static rules flag: extract↔scrape, agent_status↔check_crawl_status, feedback↔search_feedback.
Big fuzzy catalogs break refusal. Given deliberately out-of-scope tasks, the model correctly declined 100% of the time on small, well-documented catalogs — but only 50% of the time on firecrawl's 26 fuzzy tools. Half the time it "found" a plausible tool and called it. In production, that's an agent doing something when it should do nothing — arguably the most dangerous failure mode there is.
What "good" looks like
From the top scorers, a checklist:
- Every tool description answers three questions: what it does, when to use it, what it returns.
- Every parameter has a description with format and one example value.
- Fixed value sets live in
enum, not in prose.
requiredis declared explicitly — even when it's empty.- One naming convention, verb_object style, no generic verbs, no near-twin names.
- Errors name the missing/invalid parameter so the model can self-correct in one turn.
## Try it on your server
npx mcpgrade --stdio "node ./my-server.js" # local stdio
npx mcpgrade https://my-server.example/mcp # streamable HTTP
npx mcpgrade <target> --fail-on error # CI gate
npx mcpgrade <target> --eval # live model test (BYO key; any OpenAI-compatible endpoint works)
24 rules, each with a concrete fix and a rationale you're welcome to dispute in the issues — the ruleset is opinionated by design, and I'd rather have the argument in public. (How this differs from mcp-lint and other MCP QA tools — with side-by-side outputs: docs/comparison.md.)
If you maintain one of the servers above and fix your score, open a rescan issue — I'll happily re-run and update the table. PRs to your own servers beat arguments with my ruleset.
I build production AI agent integrations at a large tech company; mcpgrade is a personal project and reflects scars from integrating dozens of MCP connectors. No affiliation with any server ranked above.
SOCIAL SHARE CARD GENERATOR