Skip to main content
Glama
erincheong

Underground Utility Permit Review MCP Server

by erincheong

Find hazardous unverified crossings

find_utility_conflicts
Read-onlyIdempotent

Scan excavation permits to find utility lines dangerous to dig near, due to proximity, poor evidence, or conflicting records. Rank by risk to prioritize safety.

Instructions

Scan the whole permit portfolio for individual utility lines that are dangerous to dig near: close to the excavation, poorly evidenced, or where the county record and the independent detection disagree. This is the cross-portfolio triage question — 'what is about to hurt someone' — rather than a per-permit lookup. Results are ranked by consequence-weighted risk.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cityNoRestrict to one city.
limitNoMaximum results. Default 20.
max_qualityNoWorst acceptable data quality: 'C' returns lines graded C or D. Default 'C'.
utility_typesNoUtility types to scan. Defaults to hazardous types (gas, power, joint trench).
conflicts_onlyNoOnly lines where the two sources disagree.
max_distance_ftNoOnly lines within this distance of the excavation. Default 10.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
criteriaNo
conflictsYes
matchCountYes
totalConsequenceExposureNo
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds meaningful context: it scans the whole portfolio, considers distance, evidence quality, and disagreement between county records and independent detection, and ranks results by consequence-weighted risk.

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 efficient and front-loaded, with the main purpose in the first sentence. The second sentence adds useful positional context (cross-portfolio vs per-permit), and the third explains output ranking; while not as terse as a two-sentence ideal, there is no wasted wording.

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 a rich input schema, full schema coverage, and an output schema present, the description provides sufficient context for a complex portfolio-scanning tool. It explains the risk-based selection criteria and ranking approach, making the tool's behavior clear without needing to restate return values.

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?

Input schema coverage is 100%, so the baseline is 3. The description alludes to key semantics such as 'close to the excavation' (max_distance_ft) and 'where the county record and the independent detection disagree' (conflicts_only), but it does not systematically detail each parameter beyond what the schema already provides.

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 identifies the tool's purpose: scanning the entire permit portfolio for utility lines that are hazardous to dig near. It distinguishes this from per-permit lookups and emphasizes the cross-portfolio triage nature, matching the tool name and title.

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?

The description explicitly positions this as a cross-portfolio safety-triage tool and contrasts it with per-permit lookups, giving a clear when-not-to-use signal. However, it does not name specific sibling alternatives like 'get_permit' or 'portfolio_summary', so it falls short of full explicit alternative guidance.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/erincheong/utility-permit-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server