Skip to main content
Glama

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

Suggest Reallocation

suggest_reallocation
Read-onlyIdempotent

When a saved site DRIFTS (its national standing dropped — surfaced by get_shortlist refresh or a set_shortlist_alert firing), get replacement candidates from the rest of that shortlist so the alert becomes an action, not just a warning (Phase 5). Returns TWO tiers — tier_1_same_region (a near-in tactical swap) and tier_2_cross_region (a different-region arbitrage) — each re-scored against the DRIFTED slot's own objectives, PLUS drift_is_systemic: if the rest of your shortlist also slipped, the drop is region/baseline-wide and a same-region swap will inherit it (prefer cross_region); if peers held, it's idiosyncratic (tactical_ok). DC Hub does the reduction; the final weighted pick is yours. Candidates come from THIS shortlist only (save more via save_to_shortlist to widen the pool). Scoped to your API key.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
shortlist_nameYesThe shortlist to re-allocate within (created via save_to_shortlist)
drifted_site_refNoOptional site_ref of the drifted slot to replace; if omitted, the current lowest-scoring site is treated as the drifted one

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.6/5.0
Behavior5/5

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

Beyond readOnly/idempotent/destructive annotations, the description richly discloses behavior: it returns two tiers, re-scores against the drifted slot's objectives, computes drift_is_systemic, delegates reduction to DC Hub, and constrains candidates to the current shortlist and API key. This is far more than annotations alone provide.

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 but mostly earns its length: trigger, output structure, systemic-drift caveat, reduction model, and sourcing/videning path are all useful. It loses one point for jargon like 'Phase 5' and 'DC Hub' that is not elaborated, and for a somewhat sprawling single paragraph.

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 complex decision-support tool, the description covers trigger, outputs, interpretation guidance, source pool, and API scoping. With a full output schema and annotations present, nothing essential to correct invocation or interpretation 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?

Schema coverage is 100%, so the baseline is 3. The description adds real value by explaining that drifted_site_ref drives re-scoring against that slot's objectives and that omitting it defaults to the lowest-scoring site, plus constraining shortlist_name to the pool candidates are drawn from.

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 names a specific action — suggesting replacement candidates when a saved shortlist site drifts — and sharply scopes the resource to 'this shortlist only.' It distinguishes itself from general search/find tools by making the trigger and shortlist-bound source explicit.

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?

It clearly states when to use the tool: when a saved site's national standing drops, surfaced by get_shortlist refresh or set_shortlist_alert firing. It does not explicitly name a when-not-to-use alternative, so it stops short of a 5, but the trigger context is strong.

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

A3.8/5.0
Disambiguation1/5

With 85 tools, several families are heavily overlapping: semantic_search and search_intelligence are explicitly documented as the same retrieval with different call shapes, save_site and save_to_shortlist both persist sites, and list_saved_sites and get_shortlist both read saved sites. Additionally, site scoring is split across analyze_site, get_composite_site_score, score_facility, and rank_sites, making correct tool selection very difficult for an agent.

Naming Consistency3/5

All names are snake_case and mostly readable, but conventions are mixed: many use get_* (get_facility, get_grid_intelligence), others use verb phrases (analyze_site, compare_isos, rank_markets), and some are bare noun phrases (ai_capacity_index, hyperscaler_deals, grid_transition_radar, site_selection_canvas). The search family alone uses search, search_facilities, semantic_search, and search_intelligence with no consistent pattern.

Tool Count1/5

85 tools is an extreme count for any MCP server, far beyond the 3-15 well-scoped range and above the 50+ threshold described as an extreme mismatch. Even with a wide domain like data-center siting, this many tools overwhelms agent context and makes selection costly.

Completeness4/5

The domain surface is exceptionally broad: siting, grid, gas, fiber, water, climate, tax, permitting, deals, news, facilities, saved shortlists, alerts, webhooks, key management, and research dossiers are all covered with connected workflows. Minor gaps exist, such as no delete or update for saved sites and no pause/resume for standing intents, but these are workable rather than blocking.