
Mcp Scorecard
io.github.davidmosiahPublished by GitHub account davidmosiahv0.5.1Updated Oct 24, 2026
Agent-readiness scorecard for any MCP server: 10 checks, 0-100 score, actionable findings.
The publisher's own server: Scorecard
Overview
Audits MCP servers for agent-readiness, scoring 10 convention checks 0-100 with itemized findings and suggested fixes.
- What you can do
- Audit a target MCP server (npm package, GitHub repo, local build or hosted URL) and get a 0-100 agent-readiness score
- Inspect ten checks covering schema validity, tool naming, privacy modes, mutation gating, agent manifest, smoke tests, resources, descriptions, annotations and discoverability
- Read itemized findings and suggested fixes, in Markdown, JSON, HTML or a README badge
- Compare several servers side by side, diff against a saved baseline, or score a single profile such as security or agent-ready
- Gate CI with a minimum score threshold or a GitHub Action
- Run the scorecard itself as an MCP server so an assistant can audit a server before installing it
- When to use it
- Useful when you are choosing between MCP servers, curating a directory, or publishing your own server and want a repeatable check of its agent-facing contract before release or in CI.
- Requirements
- Runs locally over stdio via npx (Node.js). No accounts, API keys or environment variables are declared. Auditing npm or GitHub targets and hosted URLs uses the network; the optional HTTP mode reads MCP_SCORECARD_HOST, MCP_SCORECARD_PORT and MCP_SCORECARD_TRANSPORT.
Installation
In SourceWeft
- Open Mcp Scorecard in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
mcp-scorecard
[CI] [npm version] [GitHub release] [npm downloads] [License MIT] [Built for MCP] [Verified release index]
Agent-readiness scorecard for any MCP server.
Probes a target over stdio, runs 10 checks, outputs a 0-100 score with itemized findings.
Quick start
Env for HTTP: MCP_SCORECARD_HOST, MCP_SCORECARD_PORT, MCP_SCORECARD_TRANSPORT=http.
Demo
Real captured run auditing the official MCP reference server
@modelcontextprotocol/server-everything
— nothing here is hand-edited, this is exactly what the CLI printed:
The reference server is a feature showcase, not a production integration — a 44 is expected and is exactly why the conventions checks exist. Agent-oriented servers that adopt snake_case naming, a manifest tool, and read-only annotations land in the 80s and 90s.
What it checks
Ten quality dimensions, each scored 0-10. Final score is the sum, capped at 100.
- Schema validity - boots the server, lists tools, and validates each
tool's
inputSchemawith ajv. Missing or non-object schemas score zero per tool. - Tool naming convention - rewards a shared prefix and snake_case
(e.g.
whoop_get_sleep). Mixed case, hyphens, and missing prefixes lose points. - Privacy modes documented - looks for a
privacy_modeparameter on any tool, or descriptions that mentionsummary | structured | raw. - Mutation gating - any tool name matching
(set|update|delete|create| pause|resume|enable|disable|cancel|publish|send)must document a gate in its description (Gated by ALLOW_MUTATIONS,requires explicit user intent,dry-run,confirm). - Agent manifest - calls
<prefix>_agent_manifestand checks the response object hasrecommended_first_calls(non-empty array) ANDstandard_tools(non-empty array). The probe NEVER persists the payload- only field names and lengths are recorded.
- Smoke test present - looks for
scripts/smoke*.{mjs,js,ts}in the package, or a realtestscript inpackage.json(not the npm default echo-and-fail). - Resources advertised - counts what
listResources()returns. Zero scores zero; one or two scores 5; three or more scores 10. - Tool descriptions - average description length across all tools. Below 30 chars scores 0; 30-60 scores 5; 60+ scores 10.
- Annotations - counts what fraction of read tools (any non-mutation
tool) carry
annotations.readOnlyHint = true. Score scales linearly. - Manifest discoverability - has any of
*_agent_manifest,*_data_inventory,*_capabilities,*_connection_status. Two or more scores 10; exactly one scores 7; none scores 0.
Output format
Markdown (default)
JSON (--json)
How it probes
The scorecard launches the target MCP server over stdio with
MCP_PROBE=1 set on the child's env. Only the MCP SDK's platform-specific
runtime environment allowlist (such as PATH and HOME on Unix) is inherited;
shell API keys, auth sockets, proxy settings, and code-loading settings such as
NODE_OPTIONS are not forwarded. Author hook: if your MCP needs
OAuth or other credentials to even list tools, detect this env var and
return your tool/resource/prompt manifests anyway. The scorecard expects
to be able to read your contract without making any auth-requiring API
calls.
Stdio auditing executes the target's code as the current OS user and may call
an *_agent_manifest tool. It is not a read-only or idempotent operation and
does not sandbox filesystem access, network access, or the target's effects.
Audit trusted targets; use a separate isolated environment for untrusted code.
MCP_PROBE=1 asks the target to cooperate and cannot enforce these limits.
Privacy model
- The probe response is never persisted. Only counts and field names are recorded into the in-memory snapshot used by checks.
- Any string going into the report is run through a redaction pass that
replaces values for
customer_id,email,phone,access_token,refresh_token,client_secret,developer_token, andapi_keywith[REDACTED]. - The scorecard sends no telemetry. Resolving npm/GitHub targets may use the network, hosted URL audits make HTTP requests, and executed stdio targets can make their own network calls. The probe's environment allowlist does not prevent access to credentials stored in files or OS services.
Use cases
- CI gate - block a PR if the score drops below a threshold:
npx -y mcp-scorecard my-mcp --min-score 85. - Registry curation - run the audit across a list of MCPs to pick the best-documented and most agent-friendly options for a directory or catalog.
- Pre-publish self-check - add it to
prepublishOnlyso you never ship a regressed contract by accident. - Comparative review - score two MCPs that ostensibly cover the same API and see which is friendlier to agents.
Limitations
- Cannot probe MCPs that REQUIRE auth before
listTools()returns. If your server is one of these, support theMCP_PROBEenv hook so the scorecard can still read your contract. - Cannot grade logic correctness - the scorecard only inspects shape, metadata, and discoverability. A server can score 100/100 and still return wrong data.
- Mutation detection is name-based - if you call a write tool
prepare_thinginstead ofset_thing, the check will miss it. This is intentional: we reward clear naming.
Roadmap
- v0.2 - rule pack for agent-rules-of-thumb (output shape stability,
pagination patterns, error envelope consistency), a perf benchmark
(median
listTools()latency), and an OAuth probe with a mock token.
Support
Disclaimer
This is a quality audit tool. It does not certify security, privacy, or correctness; it only measures whether a server follows agent-friendly conventions. Always do your own review before plugging an MCP into a production agent.
License
MIT - see LICENSE. Code of Conduct.
New in v0.3.0 — differentiators
- Run it AS an MCP server so agents can call it mid-task:
Then your agent can
audit("some-mcp-server")before installing it. An MCP that scores MCPs. - Audit hosted/remote servers by URL (12 security + agent-readiness checks):
npx -y mcp-scorecard https://your-server - Badge for your README:
npx -y mcp-scorecard my-mcp --badge→ a shields.io markdown badge. - GitHub Action:
v0.4.0
mcp-scorecard compare a b c— side-by-side ranking.--profile security|quality|agent-ready— score one category.--baseline old.json— regression diff.--html— shareable scorecard.- Checks explainer: https://mcp-scorecard.vercel.app/checks.html
Source: README.md at commit c924cba
Tools
0Version history
1- v0.5.1LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Other Scorecard integrations

Scorecard
io.scorecardOfficial publisher
Scorecard MCP server that lets an assistant work with the Scorecard API to evaluate and optimize LLM systems.

FHIR Scorecard
Published by GitHub account ChelseaKR
Read-only MCP server that serves grades for publicly observable FHIR healthcare endpoints from a published dataset.

GTFS Scorecard
Published by GitHub account ChelseaKR
Read-only MCP server that lets an assistant look up published GTFS transit feed scorecards, grades, fixes and grade history.

College Scorecard Mcp
Published by GitHub account mrfentmen
Local MCP server that gives an assistant access to US college data from the College Scorecard API, with no API key required.

College Scorecard
Published by GitHub account pipeworx-io
Pipeworx gateway endpoint for the US Department of Education College Scorecard API, letting an assistant search colleges and pull tuition, earnings and debt…