Skip to main content
Glama
azmartone67

DC Hub — Data Center & Energy Intelligence

Analyze Parcel

analyze_parcel
Read-onlyIdempotent

Pass a parcel boundary or lat/lon to get an anchored parcel analysis: geodesic acreage, contiguous flag, largest-area centroid, and site-evaluation handoff for water-risk follow-up.

Instructions

Structured read of a parcel BOUNDARY — pass your own GeoJSON Polygon/MultiPolygon, OR just lat+lon and DC Hub finds the containing parcel in its HOSTED parcel-boundary layer (free county/state GIS polygons, rolling out by data-center market — Loudoun County VA first; a point outside hosted coverage returns an honest 404 with the coverage list, never a guess). Returns _entity=parcel_analysis: geodesic total_acres, a per-member acreage breakdown, a contiguous flag, representative_point = the centroid of the LARGEST-area member (never the multi-part geometric center, which can land off-parcel on a highway median or river and poison every point-keyed read), and hosted_parcel {parcel_id, county, state, acres_per_source} when the polygon came from the hosted layer. Also returns a site_evaluation_handoff to pipe into analyze_site + get_water_risk at that anchor. Use when you HAVE a boundary or a point on a specific parcel and want it anchored + sized; for a general lat/lon site score use analyze_site; for the interconnection-queue survivor set use get_refined_queue (queue rows carry NO parcel identity, so they never auto-join to hosted parcels).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
latNoLatitude of a point ON the parcel — used with lon when geometry is omitted to look up the containing parcel from the hosted county/state GIS layer
lngNoAlias for lon — either name works
lonNoLongitude of a point ON the parcel (used with lat when geometry is omitted)
geometryNoGeoJSON Polygon or MultiPolygon parcel boundary, e.g. {"type":"Polygon","coordinates":[[[lng,lat],[lng,lat],...]]} — a MultiPolygon carries discontinuous parcels as one envelope. Omit to look up the hosted parcel containing lat/lon instead
latitudeNoAlias for lat — either name works
longitudeNoAlias for lon — either name works
capacity_mwNoOptional target load in MW to pass through into the site_evaluation_handoff

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
quotaNoCaller quota state (remaining calls, tier) when available.
_entityNoPayload class discriminator (e.g. facility|market|iso_grid|queue_results|deal|report|response) — branch on this before parsing the rest.
citationNoMachine-readable citation: how to attribute DC Hub (dchub.cloud) for this payload. Normally an OBJECT {source, url, license, cite_as, retrieved_at}; a bare string is accepted and carries the attribution line itself.
provenanceNoCollection-level provenance block: {source, method, as_of, verification_counts, cite_url_template, license, cite_as}. Quote the verification level when citing.
_front_doorNoIn-band front-door hint (first workflow-entry tool of a session): call plan_query(intent) first for the ordered multi-step plan.
_return_loopNoSuggested next-session delta call (get_changes since=24h) so you pull only what changed.
site_evaluation_handoffNoPre-built follow-up calls (analyze_site / get_water_risk args) when the payload carries coordinates — an array of {tool, parameters, why} entries.
Install Server

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the bar is lower — yet the description adds substantial behavioral context on top: the honest-404-with-coverage-list failure mode ('never a guess'), the staged hosted-layer rollout (Loudoun County VA first), the representative_point subtlety (centroid of the LARGEST-area member, never the multi-part geometric center which 'can land off-parcel... and poison every point-keyed read'), and the site_evaluation_handoff wiring. These are behavioral traits no annotation could express, including a rationale for a potentially surprising design choice.

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 dense at roughly 190 words, but every clause earns its place: function, both modes, coverage rollout, failure behavior, return fields, handoff target, and sibling routing. It is front-loaded with the core verb+resource and the two-mode explanation. It is at the upper bound of acceptable length, which is justified by the tool's two-mode complexity, but it still demands a full read.

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?

For a tool with two invocation modes, a hosted-coverage boundary condition, a multi-field return payload, and fan-out to downstream tools, the description covers every decision an agent needs: both input paths, the failure contract (404 plus coverage list), the key return-field design nuance (largest-area centroid), the handoff pipe into analyze_site + get_water_risk, and exclusions. An output schema exists to carry the formal return structure, and the failure-mode text goes beyond what structured fields could convey.

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 already documents the mode relationship ('used with lon when geometry is omitted', 'Omit to look up the hosted parcel containing lat/lon instead') and the capacity_mw pass-through. The description reinforces the either/or framing ('pass your own GeoJSON... OR just lat+lon') but adds little meaning beyond what the parameter descriptions already provide, so the baseline-3 applies.

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?

Opens with a specific verb+resource ('Structured read of a parcel BOUNDARY') and enumerates two concrete invocation modes: passing a GeoJSON boundary or supplying lat/lon for hosted-layer lookup. It actively differentiates itself from siblings by naming analyze_site (general site score) and get_refined_queue (interconnection queue) as the things it is NOT, so an agent can disambiguate without opening other schemas.

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

Usage Guidelines5/5

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

Gives explicit routing: 'Use when you HAVE a boundary or a point on a specific parcel and want it anchored + sized', then names the alternatives with their selection conditions — analyze_site for a general lat/lon site score and get_refined_queue for interconnection-queue data. It even explains WHY the queue tools cannot auto-join (queue rows carry NO parcel identity), which prevents a whole class of misuse.

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

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/azmartone67/dchub-mcp-server'

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