The Model Context Protocol's 2026-07-28 revision went final on July 28. It's a meaningful one: the lifecycle moves to stateless requests. If you maintain an MCP server, the two questions are: is my server still well-built, and is it ready for the new spec?
mcpscore answers both in one command:
uvx mcpscore https://your-server.example/mcp
No install, no API key. In a few seconds you get a 0β100 quality score and a list of exactly what to fix.
72 deterministic rules, each citing the spec section it enforces, grouped into four categories:
It's deterministic - the same server always gets the same score, so it's stable in CI, and it's read-only: it lists your tools and probes behavior but never calls a tool, so auditing is side-effect-free. Local servers in any language audit over stdio too β mcpscore --stdio ./my-go-server
, --stdio java -jar server.jar
β not just .py
/.js
files.
Most production MCP servers are auth-gated, and until now that meant unauditable. This release changes that:
uvx mcpscore --token $TOKEN https://api.example.com/mcp
And with no credentials at all, a 401 server gets a partial audit of its observable surface, including auth-posture rules that check the WWW-Authenticate
challenge, RFC 9728 protected-resource metadata, the authorization server's RFC 8414 metadata, and PKCE support. The gate itself Tokens never appear in logs or reports.
- uses: mcp-box/mcpscore-action@v1
with:
target: https://your-server.example/mcp
min-score: 90
It comments the report on the PR and fails the check below your threshold.
Add a live score badge to your README from the report page at mcpscore.dev - it reflects your server's latest score.
There's a good official conformance suite for "is my server legal." mcpscore is the other question - "how good is it" - the way Lighthouse scores a web page's quality, not just its validity. It runs on the official MCP Python SDK v2, it's open source (MIT), and the methodology is public: https://docs.mcpscore.dev/methodology
Point it at your server and see where you land!