01
TDQS — a letter grade for the sentence an agent reads before it picks your tool, from the registry that ranks by it
Frank Fiegel, who maintains awesome-mcp-servers, mcp-proxy and mcp-remote and runs the Glama registry, published the Tool Definition Quality Score as a specification on June 7 and shipped the tooling for it yesterday: a site at tdqs.dev with a playground, an npx mcp-tdqs CLI (0.1.0, Apache-2.0, Node 22, published at 17:05 UTC), and the same implementation on PyPI as tdqs. The premise is one sentence on the site: "The description is the only thing an agent reads before it picks a tool." The score takes what an MCP client sees from tools/list, nothing about behavior, through four stages, three of them deterministic: structural signals (parameter counts, schema description coverage, annotations, a hash), hard gates (no description scores 1.0 flat; a description that restates the name caps Purpose Clarity at 2), one LLM call grading six dimensions from 1 to 5 (Purpose Clarity 25%, Usage Guidelines 20%, Behavioral Transparency 20%, Parameter Semantics 15%, Conciseness 10%, Contextual Completeness 10%), then deterministic overrides and flags. B, at 3.0, is passing. Glama has run it over 228,369 tools on 15,036 servers, and the corpus is the useful part: mean 3.57, 73.5% passing, but Behavioral Transparency averages 2.90 with 46.1% of tools below 3, Usage Guidelines 44.5%, and a server's worst tool sits on average 0.49 below its mean, which is why the server rollup weights the minimum. "Tool search ranks tools by TDQS among otherwise comparable matches." The two papers the rubric cites are the theme in academic form: one audited 856 tools and found 97% carried a defect and 89% never said when to use the tool; the other, across 10,831 servers, found well-described tools "selected ~260% more often" and that rewriting descriptions alone lifted task success about six points. 8 points, one comment.
The CLI splits along the deterministic line. tdqs lint --command "npx -y @scope/mcp-server" runs the signals, the gates, the shadow prefilter (a tool whose purpose a cheaper sibling covers) and the checklist, with no model and no key, and exits 1 on an error-level finding, which makes it a pull-request check today. tdqs score needs TDQS_BASE_URL, TDQS_API_KEY and TDQS_MODEL against any OpenAI-compatible endpoint, or --hosted, and its README says to turn extended reasoning off because "the specification's calibration examples reproduce with reasoning off." The spec names no model: it "targets a fast, inexpensive model behind an OpenAI-compatible API," every report is stamped with the model because "scores are calibrated to a rubric+model pair," and the CLI's worked examples are OpenRouter and DeepSeek. Three things to know before grading yourself. The spec moved to v1.3, dated yesterday and committed overnight (the output schema now goes to the evaluator in full, and the changelog says "This re-scores the registry"), while the package "follows TDQS 1.2." The reference implementation has no public source: the npm package's repository field points at the specification repo, which holds a README and a changelog and no code, and PyPI's points at glama-ai/tdqs, which returns 404; what ships is compiled dist/. And the one commenter, who revised his server to fix a C, says the registry had not re-scored it three days after the new version, through manual resyncs and the API. Machine-facing docs: the spec is the document, and its changelog is the candid one, stating for each version what re-scores and what it deferred ("the documented-vs-bare distinction ships unexemplified").
Reach for it before you publish an MCP server, and put tdqs lint in CI whether or not you ever pay for a score; it replaces reading your own descriptions and guessing which one the model will skip. Delete the description that restates the tool's name. Tradeoffs: the score is an LLM's opinion calibrated to a model the spec does not name; the reference implementation is closed-source and a version behind its own spec; the corpus figures are from June; the "2.6x more often" is a paper's finding, not the registry's; the author of the rubric runs the search that ranks by it, which is the SEO shape exactly; and a 30-star specification with one committer is a standard the way a blog post is.