Skip to main content
Glama

FedWatch — Federal Funding & Lien Watcher

permits_search

Search normalized public permit/violation records from a promoted official source. Promoted (2026-10-16 all-states expansion): Phoenix AZ (ArcGIS), Chicago permits + building violations, NYC DOB permits/violations + HPD violations, Austin permits + code cases, Los Angeles, San Francisco, Seattle, Honolulu, New Orleans, Kansas City, Orlando, Cincinnati (Socrata), and Philadelphia, Columbus, Charlotte, Miami-Dade, Detroit, Albuquerque, Sioux Falls, Virginia Beach, Louisville, Portland OR (residential), Raleigh (180-day window) via ArcGIS. County feeds added 2026-10-18 (county census Batch A): Maricopa County AZ building permits (the county PND current-permits view — the former named gap, now promoted as a current-permits view, not a historical register), Adams County CO, Alachua County FL, Spokane County WA (layer lags; newest issued 2025-05-21), DC building permits (30-day window), Pottawattamie County IA septic-permit document index (ArcGIS), and Montgomery County MD commercial permits, Prince George's County MD permits (2023–2025), Howard County MD permits (city/zip only), Williamson County TX permits (WCAD file), King County WA food-establishment inspections, Marin County CA permit inspections (Socrata) — every feed reports its exact count/completeness so capped results are never mistaken for the whole universe. Per-state coverage for all 50 states + DC is in fedwatch_sources. Not every source supports every filter: an unsupported filter is refused with the reason, never silently ignored.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "permits_search"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNoMaximum returned records (tier-capped; source max 2000)
statusNoExact permit status, e.g. OPEN
addressNoStreet address fragment
companyNoCompany/contractor name fragment
keywordNoSearch permit name, company, address, description, scope, or permit number
source_idNoSource id; phoenix_current_permits (default) — see fedwatch_sources domain=permits for all promoted ids
permit_typeNoPermit type/description fragment

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.6/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses tier-capped limits (source max 2000), that every feed reports its exact count so capped results aren't mistaken for the universe, that unsupported filters are refused with a reason, and even per-feed staleness (Spokane layer lag, DC 30-day window, Raleigh 180-day window). It omits auth requirements, rate limits, and any sense of response shape.

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

Conciseness2/5

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

The first sentence is well front-loaded, but the body is a sprawling, dated changelog of dozens of county and city feeds ('Promoted (2026-10-16 all-states expansion)...', 'County feeds added 2026-10-18...') that an agent cannot act on at call time and that belongs in the referenced fedwatch_sources tool. The operational rules buried at the end are the most valuable content and are the least prominent.

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?

For a search tool with no annotations and no output schema, the description covers the critical unknowns: cap behavior, count/completeness reporting, staleness, and rejection of unsupported filters. It leaves return fields and pagination unaddressed, which matters here precisely because no output schema exists to fill that gap.

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

Parameters4/5

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

Schema coverage is already 100%, so the baseline is 3; the description adds real semantics on top by explaining that filter support varies per source and that unsupported combinations are rejected, which changes how an agent should choose source_id and status/permit_type together. The long source roster also implicitly enumerates valid source_id values beyond the single documented default.

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 opening sentence gives a specific verb and resource ('Search normalized public permit/violation records from a promoted official source') that clearly separates it from siblings like property_search or licenses_search. It never explicitly names a sibling or states the boundary between permits and property/enforcement records, so an agent must infer that split from the noun alone.

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?

The description supplies usage-relevant context (default source_id is phoenix_current_permits, per-state coverage lives in fedwatch_sources, unsupported filters are refused rather than ignored) but never says when to reach for this tool instead of property_search, enforcement_search, or licenses_search. Guidance is implied by the record type rather than stated.

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