Skip to main content
Glama

Kolmo Construction

Permit source freshness

get_permit_data_freshness
Read-onlyIdempotent

Source-freshness telemetry for the permit catalog. Returns per-jurisdiction last-verified dates, a per-jurisdiction source-health rollup (which cities have a reachable / gone / blocked official source right now), and the latest results from the weekly source-of-truth snapshot pipeline (HTTP status, change-detection vs prior fetch). Failures are classified: missing means the page is gone, blocked means the host refused our fetch and is NOT evidence the source is gone. Use to answer "how current is this fee/timeline?" or to surface confidence in a permit answer. The /permits/data-quality page exposes the same signals.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMax snapshots to return (default 5, newest first)
jurisdictionSlugNoOptional jurisdiction filter (e.g., "seattle", "bellevue"). When omitted, returns rollup across all jurisdictions.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
totalsNo
coverageNo
pipelineYes
publicViewYes
attributionYes
sourceHealthNo
jurisdictionsNo
changeDetectionNo
recentSnapshotsNo
howToReadFailuresNo

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is covered. The description adds valuable behavioral context by explaining failure classifications (missing vs blocked) and clarifying that 'blocked' does not imply the source is gone. This goes beyond the annotations without contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is moderately long but each sentence contributes value—explaining the response contents, failure semantics, and usage. It front-loads the key purpose and structures the information logically. Slightly verbose in the listing of pipeline details, but not wasteful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists and the description thoroughly describes what data is returned (per-jurisdiction dates, health rollup, snapshot results, failure classifications), an agent has enough context to know when to call this tool and what to expect. The description also ties it to permit confidence, completing the reasoning chain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with both parameters clearly described in the schema. The description does not add extra parameter semantics beyond the schema, but since the schema already fully covers them, the baseline of 3 is appropriate. No additional insight is provided in the description text.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns source-freshness telemetry for the permit catalog, including last-verified dates, health rollup, and snapshot pipeline results. It specifies the resource (permit catalog) and the action (retrieve freshness), and the mention of failure classification distinguishes it from generic data queries.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit usage guidance is given: 'Use to answer

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.9/5.0
Disambiguation4/5

Most tools have clearly distinct purposes, but get_neighborhood_project_activity and get_neighbor_permit_activity are easy to confuse, and get_material_catalog vs get_material_options have overlapping scope. The detailed descriptions mostly resolve ambiguity, so it stays above average.

Naming Consistency4/5

Naming follows a mostly consistent get_/list_ verb-noun pattern, with a small set of other descriptive verbs like check_, estimate_, and resolve_. The neighbor/neighborhood naming collision and a few multi-word exceptions are the main inconsistencies.

Tool Count2/5

At 36 tools, the surface is heavy and exceeds the 25+ threshold, spanning permits, estimates, content, reviews, financing, weather, and procurement. While each cluster has plausible value, the overall count feels bloated for an agent to navigate efficiently.

Completeness4/5

The set covers a broad lifecycle: permit research, estimates, licensing, financing, ROI, weather, project/services content, reviews, and lead submission. Minor gaps like scheduling/booking and direct estimate persistence prevent a perfect score.

Resources