Daily-refreshed Glama score tracker for the fleet - scrapes per-tool TDQS grades, stores in SQLite, surfaces via MCP tools and a web dashboard.
Three tools with reasonable descriptions but significant schema and parameter documentation gaps. glama_status has a complex multi-operation design that conflates multiple concerns into one tool. glama_scores_summary and glama_daily_report have minimal input schemas. Parameter descriptions exist but lack type constraints, ranges, and validation guidance. No output schemas documented. Error handling and recovery guidance absent.
Generate a daily fleet health report with grade distribution, recent changes, worst tools, and stale repos. When to use: call this once per day (or on demand) to get a comprehensive overview of fleet Glama scores. When NOT to use: for individual repo details use glama_status(operation='get').
Return a compact fleet-wide score summary - grades per repo and count per grade bucket.
Fleet-wide Glama score tracker - query per-tool TDQS grades, identify worst-scoring tools, trigger rescans. When to use: call this to check the health of any fleet repo's Glama score, find which tools need docstring fixes, or trigger a refresh. When NOT to use: for code-level diagnostics use the repo's own tools; for Glama submission/review use glama.ai directly. Preconditions: the repo must have been submitted to Glama and scored at least once. Operations: - list: Return all repos with current overall grades, ordered worst-first. - get: Return full per-tool breakdown for one repo. Requires repo_name. - worst_tools: Return the lowest-scoring tools across the fleet. Use limit to control count. - refresh: Immediately rescrape all fleet repos from Glama and update the database. - history: Return recent refresh log entries. - staleness: Return repos whose Glama data is >7 days old - they need a release + rescan. - report: Return a full daily status report with grade distribution, deltas, worst tools, and stale repos. - deltas: Return score changes between the last two snapshots only.
glama_status conflates 8 distinct operations (list, get, worst_tools, refresh, history, staleness, report, deltas) into a single tool. This violates single-responsibility principle and forces LLMs to reason about which operation to invoke rather than selecting a dedicated tool.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (repo_name, grade, score, etc.) without guessing at response structure.
glama_status 'operation' parameter lacks enum constraint in visible schema. Description lists valid values as free-form text, inviting hallucinated operations like 'analyze' or 'export'.
glama_daily_report 'format' parameter has a default but no enum constraint. LLMs may pass invalid formats like 'csv', 'xml', or 'html' instead of the documented 'markdown' or 'json'.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2026-07-28+ | v2 |
No error handling guidance. Tools lack descriptions of failure modes, recovery steps, or actionable error messages. E.g., what happens if a repo has never been scored? What if Glama scrape fails?