Skip to main content
Glama

DC Hub — Data Center Site Selection & Colocation: Electricity, Power Grid, Gas, Fiber

Analyze Parcel

analyze_parcel
Read-onlyIdempotent

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.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already mark readOnly/idempotent/non-destructive, lowering the burden; the description adds meaningful behavior beyond that: a point outside hosted coverage returns an honest 404 with the coverage list rather than a guess, and representative_point is chosen from the largest-area member to avoid off-pacel geometric centers. These details materially affect how the agent interprets results and failure modes.

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?

Extremely dense and front-loaded, with no fluff sentences; the core action and scoping come first. However, it is one long paragraph with heavy parentheticals, and a short bulleted structure would improve scanability for an agent.

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?

Output schema exists, so return-value format doesn't need to be restated; the description adds coverage rollout, 404 error behavior, anchor semantics, handoff integration, and sibling routing. For a 7-param, 0-required tool with two invocation modes, nothing critical is missing.

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?

Input schema covers all 7 parameters at 100%, so baseline is 3; the description still adds useful nuance by clarifying that a MultiPolygon 'carries discontinuous pacels as one envelope', that lat/lon is the hosted-lookup path when geometry is omitted, and that capacity_mw passes into the site_evaluation_handoff. It doesn't add substantial syntax detail beyond the schema, but the mode-level semantics are helpful.

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 'Structured read of a parcel BOUNDARY', naming a specific verb (read), resource (parcel boundary), and outcome (anchor + size). It explicitly contrasts with analyze_site and get_refined_queue, so an agent can tell it apart from the closest siblings without digging into 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?

Provides explicit routing rules: 'Use when you HAVE a boundary or a point on a specific parcel' and directs to analyze_site for general lat/lon site scores and get_refined_queue for queue survivors. It also distinguishes the two input modes — own GeoJSON boundary vs lat/lon hosted-pacel lookup — so usage is unambiguous.

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

A4.1/5.0
Disambiguation2/5

Multiple tools occupy nearly identical semantic space: search/search_facilities/search_intelligence/semantic_search all retrieve data, and analyze_site/compare_sites/score_facility/get_composite_site_score/rank_sites all score or rank locations. Despite extensive disambiguation in the descriptions, the boundaries are subtle enough that an agent will likely misroute queries. Account and meta tools (claim_free_key, bind_email, unlock_more_data, subscribe_digest, recover_my_key, execute_plan, plan_query, discover_tools) add further selection noise.

Naming Consistency4/5

The vast majority of tools follow a clear snake_case verb_noun convention (get_*, search_*, list_*, set_*, save_*, compare_*, analyze_*, rank_*, plan_*). A few noun-phrase names break the pattern (deal_autopsy, hyperscaler_deals, grid_transition_radar, site_selection_canvas, standing_intent, ai_capacity_index), but these are still readable and discoverable.

Tool Count1/5

83 tools is an extreme count for any server, far beyond the 25+ threshold that already signals bloat. The domain is broad, but the catalog is inflated by overlapping variants, multiple meta-tools (execute_plan, plan_query, discover_tools, get_agent_registry, get_backup_status, summarize_for_citation), and account/upgrade plumbing (claim_free_key, bind_email, recover_my_key, unlock_more_data, subscribe_digest). This imposes heavy context and selection costs on agents.

Completeness5/5

The data-center siting domain is covered exhaustively: single-site scoring, market ranking, grid/gas/fiber/water/climate/disaster/tax/permitting intelligence, interconnection queues, construction pipeline, deals/news, saved-site monitoring, alerts, research dossiers, and citation support. Every workflow has a continuation path, so agents will not hit dead ends.