v1.3.0 — Glama quality score fixes
Glama quality score fixes
Glama's overall quality score is 70% Tool Definition Quality + 30% Server Coherence, and the definition-quality half is 60% mean + 40% minimum across all ~2,900 generated tools — so a handful of badly-described tools were capping the whole catalog at a B. This release fixes the generator bugs behind those low scores.
- Collection detection:
returnsCollectionnow unwraps Procore's v2.x{ data: [...] }response envelope and falls back to declaredpage/per_pageparams, instead of only recognizing a bare JSON array. 254 list endpoints were previously described as single-record fetches and denied pagination in their input schema. - Purpose synthesis: descriptions now derive from the operation's actual verb (reorder/recycle/assign/sync/upsert/restore/...) instead of a generic CRUD-by-HTTP-method template — a POST named
reorder_company_roleno longer reads "Creates a new company role", andrecycle_*tools no longer claim an irreversible delete. - Resource labeling: fixed trailing-scope stripping that severed "Timesheet To Budget Configuration" down to "Timesheet"; fixed pluralization producing nonsense like "enableds"/"closeds"; fixed several typos in Procore's own OAS text.
- Coherence: tool name collisions now resolve with meaning-bearing suffixes (scope, API version, distinguishing path segment, HTTP method) before falling back to opaque numbers — 217 tools renamed to something an agent can actually disambiguate by.
- Added
PROCORE_TOOL_MODE=metato serve just the 7 discovery tools for context-constrained clients; the full API stays reachable throughprocore_api_call. - Added
scripts/verify-manifest.ts(npm test), wired into CI, to catch regressions in these invariants on future spec refreshes.
Breaking change: ~217 tool names changed to resolve collisions more meaningfully (e.g. check_pdf_generation_status_project_v2_0_2 → check_pdf_generation_status_prime_change_order_batches). Update any saved prompts that reference the old names.