Skip to main content
Glama

Find building permits

find_permits
Read-onlyIdempotent

Building permits US cities have issued, from each city's open-data portal: the address, the work, its declared value and the contractor, newest first or largest first. Link the record's url when you show it. A free key reaches the last 14 days.

Input Schema

NameRequiredDescriptionDefault
zipNoOnly this five-digit ZIP code.
cityNoOnly this city. Leave it out for every city.
kindNoOnly commercial, residential or other permits.
sortNonewest: most recently issued first. largest: the biggest declared value first.newest
limitNoHow many permits to return (1 to 100).
queryNoWords to find in the permit type, description or contractor, e.g. "solar".
min_valueNoOnly permits whose declared value is at least this many US dollars.

Output Schema

NameRequiredDescriptionDefault
as_ofYesWhen the data was last read from its publishers, as an RFC 3339 time in UTC; null when it has not been read yet.
countYesHow many records are in permits.
permitsYesIn the order asked for.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.8/5.0
Behavior4/5

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

Annotations cover safety (readOnly, idempotent, non-destructive), so the bar is lower, and the description still adds materially: the data provenance (each city's open-data portal), the two ordering modes, the presence of a url field to cite, and a real access constraint — free keys only reach the last 14 days. That last detail is the kind of behavioral limit an agent cannot infer from structured fields. It stops short of describing result volume or coverage gaps across cities.

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

Conciseness5/5

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

Two dense sentences plus one short instruction, roughly forty words with no filler. The resource and its fields come first, the operational caveats follow, and nothing is repeated from the schema.

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

Completeness4/5

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

With an output schema present, the description needn't describe return values, and with full schema coverage the parameters are self-documenting. The free-key window and the url-linking instruction fill the main gaps. Only a note on cross-city coverage or result freshness would round it out.

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% and the schema itself spells out enum values, defaults, ZIP pattern and value thresholds, so the description does not need to re-document them. Its only nod to parameters is 'newest first or largest first', which restates the sort enum. Baseline 3 applies since the schema carries the semantic load.

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

Purpose4/5

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

The description names the exact resource (building permits from US city open-data portals) and enumerates the fields returned (address, work, declared value, contractor), which cleanly separates it from siblings like find_contracts, find_awards and find_businesses. It lacks an explicit verb phrase ('retrieve/search'), leaning on the title for that, but the substance is unambiguous.

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

Usage Guidelines3/5

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

It gives a concrete output convention ('Link the record's url when you show it') and a coverage caveat ('A free key reaches the last 14 days'), both of which shape how the tool is used. However, it never states when to pick this over find_contracts or find_businesses, so alternative selection is left implicit.

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.

Resources