MCP server for commit.show — audit any vibe-coded project and search the Legit.Show directory of launched software by measured production-readiness through the Model Context Protocol.
Four tools with mixed quality. audit_repo and project_status have strong, detailed descriptions (150+ chars) explaining purpose and return format. search_services has excellent multi-line description with clear use cases and boundary documentation. fetch_docs is minimal (67 chars). All tools have input schemas with types and descriptions. However, schema completeness varies: audit_repo and project_status use simple string/enum types; search_services uses record type for min_scores without nested schema detail; fetch_docs has empty input schema. No output schemas documented for any tool. Error handling guidance present in descriptions (e.g., 'invalid slug returns not_found envelope') but not formalized in tool definitions. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite all being read-only operations.
Run or read the live commit.show audit for a public GitHub repo. Returns a markdown summary by default (paste-ready) or the full JSON envelope when format=json. When the user asks for a project by name (e.g. "audit Supabase"), resolve the canonical github.com/owner/repo URL FIRST — do not guess. The endpoint HEAD-checks GitHub before spending audit budget; an invalid slug returns a not_found envelope.
Fetch the canonical commit.show documentation (llms.txt). Use this when you need the full context — CLI commands, REST API shape, JSON contract, rate limits, graduation rules — to answer something specific.
Read the latest cached commit.show audit for a repo without forcing a re-run. Returns the JSON envelope (project + snapshot + scores). Quota state is in `.quota`.
Search the Legit.Show directory of launched software (web apps, SaaS, AI tools, MCP servers, developer tools) by name, keyword, or filters, and get each match with its per-frame production-readiness scores and its legit.show/s/<slug> page. Use this to answer "find a production-ready service that does X", "which MCP servers are secure", or to resolve a tool name to its Legit.Show page. Returns per-frame scores only (Performance, Accessibility, Security, Privacy, Reliability, Standards, Discoverability, Maintenance) — there is no combined overall total in the public data, so never invent or estimate one. Always link the /s/ URL.
No output schemas documented. LLMs cannot plan downstream tool calls or extract structured data without knowing response field names and types.
fetch_docs has minimal description (67 chars, below 100-char baseline). Does not explain when to call it vs search_services, what 'llms.txt' contains, or expected response format.
search_services min_scores parameter uses z.record(z.number()) without documenting valid keys (Performance, Accessibility, Security, Privacy, Reliability, Standards, Discoverability, Maintenance) or value ranges (0-100 implied but not stated).
No tool annotations (readOnlyHint) despite all four tools being read-only. Agents cannot distinguish safe tools from destructive ones without explicit hints.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2026-07-28+ | v2 |
audit_repo description mentions 'not_found envelope' and 'json envelope' but does not document the actual JSON structure (fields, types) returned in each format.