# DC Hub — Data Center Site Selection & Colocation: Electricity, Power Grid, Gas, Fiber (remote · dchub.cloud)

DCPI grid-power scores for 300+ markets, plus capacity to buy or lease; query and cite.

- Trust score: 84/100 (high trust)
- Change this week: +8
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-17

## Components

- remote · `dchub.cloud`: 82/100, [markdown](https://verifymcp.io/servers/cloud-dchub-mcp-server/mcp-claude.md), [page](https://verifymcp.io/servers/cloud-dchub-mcp-server/mcp-claude)
- remote · `dchub.cloud`: 84/100 (this document), [markdown](https://verifymcp.io/servers/cloud-dchub-mcp-server/mcp-grok.md), [page](https://verifymcp.io/servers/cloud-dchub-mcp-server/mcp-grok)
- remote · `dchub.cloud`: 78/100, [markdown](https://verifymcp.io/servers/cloud-dchub-mcp-server/mcp-registry.md), [page](https://verifymcp.io/servers/cloud-dchub-mcp-server/mcp-registry)

## Channel facts

- Endpoint: `https://dchub.cloud/mcp/grok`
- Transports: `streamable-http`
- Auth: `none`
- Version: `2.12.37`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-17.

- **Endpoint Security**: 83/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC is configured correctly; the domain's records validate against the full chain to the root.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 86/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Tool/resource definitions use about 6492 tokens (~72/item across 89 items; 11 tools + 78 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 60/100
  - Stability observed for 18 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Tool Safety**: 75/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - 0 of 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "execute_plan" implies "execute" and declares readOnlyHint instead, contradicting what its own name says it does.
  - An AI judge read all 13 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the DC Hub — Data Center Site Selection & Colocation… MCP server?

DC Hub — Data Center Site Selection & Colocation… is a hosted endpoint at https://dchub.cloud/mcp/grok, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http cloud-dchub-mcp-server 'https://dchub.cloud/mcp/grok'
```

### Cursor

```json
{
  "mcpServers": {
    "cloud-dchub-mcp-server": {
      "url": "https://dchub.cloud/mcp/grok"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "cloud-dchub-mcp-server": {
      "type": "http",
      "url": "https://dchub.cloud/mcp/grok"
    }
  }
}
```

### Codex

```toml
[mcp_servers.cloud-dchub-mcp-server]
url = "https://dchub.cloud/mcp/grok"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "cloud-dchub-mcp-server": {
      "type": "remote",
      "url": "https://dchub.cloud/mcp/grok",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add cloud-dchub-mcp-server --url 'https://dchub.cloud/mcp/grok' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  cloud-dchub-mcp-server:
    url: "https://dchub.cloud/mcp/grok"
```

### Netclaw

```json
{
  "McpServers": {
    "cloud-dchub-mcp-server": {
      "Transport": "http",
      "Url": "https://dchub.cloud/mcp/grok"
    }
  }
}
```

### Vellum

```bash
assistant mcp add cloud-dchub-mcp-server -t streamable-http -u 'https://dchub.cloud/mcp/grok'
```

### Other

```json
{
  "mcpServers": {
    "cloud-dchub-mcp-server": {
      "type": "http",
      "url": "https://dchub.cloud/mcp/grok"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-17 (score 84, +1)

- [security] The server rewrote its instructions, which are the text every model session reads

### 2026-10-16 (score 83, +1)

- [security] Tool “search_facilities” rewrote its description, which is the text the model reads

### 2026-10-15 (score 82, 0)

- [functional] Schema quality: good → excellent

### 2026-10-14 (score 82, 0)

- [functional] Schema quality: excellent → good
- [functional] Server version: 2.12.36 → 2.12.37

### 2026-10-13 (score 82, +1)

No change was recorded against any check on this day. Stability & Change Management went from 43 to 47. That category is still filling its 30-day observation window: 13 days of observed history at the previous scan, 14 at this one. The score rises as the window fills, whether or not the server changes. Other categories moved too: Schema Quality & AI Usability fell 1.

### 2026-10-12 (score 81, 0)

- [security] The server rewrote its instructions, which are the text every model session reads
- [functional] Schema quality: good → excellent
- [functional] Server version: 2.12.34 → 2.12.36

### 2026-10-11 (score 81, +5)

- [security improvement] HSTS header: fail → pass
- [security improvement] DNSSEC: fail → pass
- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “get_market_dcpi_rank” rewrote its description, which is the text the model reads
- [functional improvement] Schema quality: fail → pass
- [functional] Schema quality: excellent → good
- [functional] New resource “instructions”
- [functional] Server version: 2.12.29 → 2.12.34
- [cosmetic] “analyze_site” reworded the description of “mpp_credential”
- [cosmetic] “search_facilities” reworded the description of “mpp_pay”
- [cosmetic] “search_facilities” reworded the description of “mpp_credential”
- [cosmetic] “get_grid_intelligence” reworded the description of “region_id”
- [cosmetic] “get_grid_intelligence” reworded the description of “mpp_pay”
- [cosmetic] “get_grid_intelligence” reworded the description of “mpp_credential”
- [cosmetic] “analyze_site” reworded the description of “mpp_pay”

### 2026-10-07 (score 76, +2)

- [functional] Server version: 2.12.27 → 2.12.29

## MCP tools (11)

### `execute_plan` (~505 tokens)

Execute Plan

Answer a data-center infrastructure question that spans several topics in one call: markets and the Data Center Power Index (DCPI), grid power and headroom, interconnection queues, fiber, water and climate risk, tax incentives, and deals. Pass the user's question unchanged as intent. A rule-based planner (no AI model) picks the lookups, runs them and returns each step's result with a replay of how the answer was built. Use this first when a question has more than one part.

Input parameters:

- `capacity_mw` (number): Target capacity in MW, e.g. 100.
- `cohort`: Optional experiment tag for adoption/retention measurement, e.g. "cohort.front_door". Has NO effect on routing, planning, geography or results — it is recorded only. Put your user's question in `inte…
- `context`: Optional structured hints AND step-arg overrides: {lat, lon, iso, market, capacity_mw, candidate_id, state, since} — user-supplied values beat minted ones. The typed top-level params below are merged…
- `intent` (string, required): The user's infrastructure question, passed through UNCHANGED. Examples: "rank markets for a 200 MW AI campus" · "evaluate 100 MW power headroom for a GPU training cluster in PJM" · "compare Dallas vs…
- `iso` (string): ISO/RTO code to pin geography, e.g. "PJM", "ERCOT".
- `lat` (number): Latitude for a specific site.
- `lon` (number): Longitude for a specific site.
- `market` (string): Metro slug or name to pin the analysis to, e.g. "ashburn". Beats any market the planner would mint.
- `max_fanout`: Max per-finalist fan-out calls for one step, 1-3 (default 2)
- `max_steps`: Max plan steps to execute, 1-8 (default 6)
- `state` (string): US state code, e.g. "VA".

### `get_grid_scoreboard` (~129 tokens)

Grid Scoreboard

Live grid scoreboard: US grid operators (PJM, ERCOT, CAISO, MISO, SPP, NYISO, ISO-NE, BPA, TVA), Great Britain, European bidding zones, Taiwan, Japan, South Korea and Brazil, ranked side by side on each feed's latest published reading: renewable share (wind+solar+hydro), gas share, fuel mix in MW and demand, greenest first. Freshness differs by feed, so read each row's mix_age_hours before calling a reading current. No arguments. Answers "which grid is cleanest right now".

### `get_market_dcpi_rank` (~177 tokens)

DCPI Market Rank

Use this whenever the user asks where a data center can get grid power, how fast, or whether a market is a BUILD, CAUTION or AVOID (e.g. "Where can a 100 MW data center get power fastest?"): DCPI scores 300+ markets daily on Excess Power and Grid Constraint, CC BY 4.0. Data Center Power Index (DCPI) rank for a single market: BUILD/CAUTION/AVOID verdict, 0-100 composite_score (verdict-aware), excess_power_score, constraint_score, time_to_power_months. Keyless calls return a preview.

Input parameters:

- `market_slug` (string, required): Market slug (metro), e.g. northern-virginia, dallas, phoenix — valid slugs come from rank_markets / get_market_dcpi_rank

### `search_facilities` (~394 tokens)

Search Facilities

Search DC Hub's global data-center facility map (170+ countries) by text query, country, state, city, operator, or capacity range (min_capacity_mw, max_capacity_mw); limit and offset page through results. Returns each facility's name, provider, location and capacity. Use it for inventory lookups (which facilities match these filters); for a question that also needs power, fiber or risk context, use execute_plan. Keyless calls return a preview.

Input parameters:

- `city` (string): City name to filter facilities, e.g. Ashburn, Dallas
- `country` (string): ISO 3166-1 alpha-2 country code, e.g. US, GB, SG
- `limit` (integer): Max results to return (1-500; default varies by tool)
- `max_capacity_mw` (number): Maximum power capacity filter in megawatts (MW)
- `min_capacity_mw` (number): Minimum power capacity filter in megawatts (MW)
- `mpp_credential` (string): Stripe MPP step 2: the Shared Payment Token minted for challenges[0]; pays that challenge for this one call.
- `mpp_pay` (boolean): Stripe MPP step 1: true returns a signed per-call payment challenge (a quote; no money moves) instead of the free preview. Agents only.
- `offset` (integer): Pagination offset, 0-based (skip this many results)
- `operator` (string): Operator/provider company name, e.g. Equinix, Digital Realty
- `query` (string): Free-text search over facility name/operator/location (mapped to the backend `q` param), e.g. "hyperscale Ashburn"
- `state` (string): US state abbreviation or region, e.g. VA, TX
- `tier` (integer): Uptime Institute tier filter (1-4)

### `get_power_availability_timeline` (~209 tokens)

Get Power Availability Timeline

When power gets easier in one US state, year by year: new generation coming online (EIA-860M, kept separate as under construction, testing and planned), scheduled retirements, and interconnection-queue depth as congestion context (the queue has no delivery dates). cumulative_firm_signal_mw counts only under-construction and testing MW minus retirements. Arguments: state (required), years, mw. Supply-side signals, not a promise that a load can connect.

Input parameters:

- `mw` (number): Optional target MW for CONTEXT ONLY — echoed back with an explicit note; never converted into an energize-by date, which this data cannot honestly state
- `state` (string, required): 2-letter US state code (required), e.g. OH, GA, TX — the timeline grain; a state can span ISOs and the response reports ISO membership as context
- `years` (number): Window in years from now, 1-6 (default 5)

### `get_hosting_capacity` (~435 tokens)

Feeder Hosting Capacity

Utility-published feeder hosting capacity: the MW a named distribution feeder can take, from utilities' own hosting-capacity maps (a named set of utilities in the Northeast, Mid-Atlantic and Midwest, not nationwide). Call with lat and lon (radius_km, default 25), with a utility or market for a whole territory, or with no arguments for the list of covered markets. Check capacity_type before quoting a number, and count distinct_feeders, not rows.

Input parameters:

- `capacity_type` (string): Restrict to one published type: "load" (what a new data-center load can DRAW — the type that answers siting), "gen" (DER/generation EXPORT headroom — NOT available load), or "bus_headroom" (transmiss…
- `lat` (number): Latitude of the point to search around, decimal degrees. Must be paired with lon.
- `latitude` (number): Alias for lat — either name works
- `limit` (integer): Max results to return (1-500; default varies by tool)
- `lng` (number): Alias for lon — either name works
- `lon` (number): Longitude of the point to search around, decimal degrees. Must be paired with lat.
- `longitude` (number): Alias for lon — either name works
- `market` (string): Alias for utility — either name works (e.g. "Northern Virginia · Richmond", "New York City · Westchester").
- `min_mw` (number): Only return feeders whose published capacity is at or above this many MW.
- `radius_km` (number): Search radius in km around lat/lon (default 25, max 150). Ignored when utility/market is passed — that mode covers the utility's entire published extent.
- `utility` (string): Utility or market name, case-insensitive substring — e.g. "Ameren Illinois", "Con Edison", "Providence". Searches that utility's whole published territory instead of a point radius. Call with NO argu…

### `source_capacity` (~786 tokens)

Source Capacity

Search DC Hub Capacity Source for data-center capacity to buy or lease, by size (min_kw or min_mw) and location (region such as europe, or a country, state, market or location). Size is matched against what a listing can deliver: contiguous_kw, the largest contiguous block, and min_contract_kw, the smallest chunk the provider will contract. Also filters by delivery_type and available_by. Returns listing teasers; an introduction is requested with request_capacity_intro.

Input parameters:

- `available_by` (string): Browse filter: only listings available by this date, as YYYY-MM or YYYY-MM-DD. With a target it is the date the whole requirement must be deliverable by
- `delivery_type` (string): Browse filter: how the capacity is delivered: land, powered_shell, turnkey or colocation
- `limit` (integer): Max results to return (1-500; default varies by tool)
- `location` (string): Browse filter: comma-separated free text matched against each listing's region, country, state and metro, e.g. "Germany" or "Texas, Phoenix"
- `market` (string): Browse filter: market name as it appears on a listing, e.g. "Dallas"
- `max_providers` (integer): Match mode: how many different providers a bundle may use. Default: the same as max_sites
- `max_sites` (integer): Match mode: how many listings the requirement may be split across. Default one, which allows exact fits only; raise it to allow bundles
- `min_chunk_kw` (number): Match mode: the smallest piece, in kW, your human will contract at any one listing. Default: no minimum
- `min_kw` (number): Browse filter: the size your human needs, in kW (min_mw is the same filter in MW). Matched against what a listing can ACTUALLY deliver, not just its headline total: contiguous_kw is the largest singl…
- `min_mw` (number): Browse filter: the size your human needs, in MW (min_kw is the same filter in kW). Matched against what a listing can ACTUALLY deliver, not just its headline total: contiguous_kw is the largest singl…
- `region` (string): Browse filter: comma-separated regions from north_america, latin_america, europe, asia_pacific and middle_east_africa; the aliases emea, apac, latam and americas also work, e.g. "europe" or "emea, ap…
- `slug`: One listing: its slug or numeric id exactly as items[].slug / items[].id return it. Omit to browse teaser cards
- `state` (string): Browse filter: two-letter US state, e.g. "TX"
- `target_kw` (number): Match mode: the whole requirement, in kW (target_mw is the same in MW; give one)
- `target_mw` (number): Match mode: the whole requirement, in MW (target_kw is the same in kW; give one). Returns exact fits, bundles and a shortfall instead of teaser cards. Needs a signed-in human

### `get_changes` (~154 tokens)

Get Changes

What changed in DC Hub since a timestamp: DCPI 7-day market movers, newly found facilities, and new M&A deals and news; keyed callers with saved sites also get per-site changes. Pass since as ISO-8601 or "24h" / "7d" (default 24h) and pass the response's generated_at back next time. Answers "what changed this week". Keyless calls return a preview.

Input parameters:

- `limit` (integer): Max results to return (1-500; default varies by tool)
- `since` (string): Return changes since this ISO-8601 timestamp (YYYY-MM-DD or full datetime) or shorthand "24h"/"7d"; default 24h

### `get_grid_intelligence` (~410 tokens)

Grid Intelligence

Grid headroom and interconnection-queue brief for one grid: "can I get N MW in this ISO, and how long will it take?". region_id is one of PJM, ERCOT, CAISO, MISO, SPP, NYISO, ISO-NE, or a US balancing authority (those return the live generation mix). Supply-side signals, not a promise that a load can connect. Full results need a paid DC Hub key.

Input parameters:

- `iso` (string): Alias for region_id — the ISO/RTO or balancing-authority code
- `market` (string): Market NAME or metro slug instead of a grid code, e.g. "Ashburn", "northern-virginia", "dallas". Resolved to its ISO through the published DCPI market row before the brief is built; the answer carrie…
- `mpp_credential` (string): Stripe MPP step 2: the Shared Payment Token minted for challenges[0]; pays that challenge for this one call.
- `mpp_pay` (boolean): Stripe MPP step 1: true returns a signed per-call payment challenge (a quote; no money moves) instead of the free preview. Agents only.
- `region` (string): Alias for region_id — the ISO/RTO or balancing-authority code
- `region_id` (string): Grid region (required): one of the 7 US ISOs (PJM, ERCOT, CAISO, MISO, SPP, NYISO, ISO-NE), an EIA balancing-authority code (e.g. SOCO, DUK, AZPS, TVA), or the PJM Dominion zone region_id="PJM-DOM" f…

### `analyze_site` (~564 tokens)

Analyze Site

Score one site for data-center suitability. Pass lat and lon, a candidate_id from get_refined_queue, or a market name as location; capacity_mw and state refine it. Returns a 0-100 score with power, gas, fiber, market and risk sub-scores and the nearby infrastructure behind them. Example: lat=33.45 lon=-112.07 capacity_mw=100 state=AZ. Full results need a paid DC Hub key.

Input parameters:

- `candidate_id` (string): PREFERRED for queue survivors: a cand_… id from get_refined_queue — coordinates come from the FROZEN mint (lat/lon args are ignored; zero transcription drift; expired ids fail closed with candidate_e…
- `capacity_mw` (number): Target power load for the build in megawatts (MW), e.g. 100 (typical 50-500)
- `include_fiber` (boolean): Include fiber-connectivity analysis (default true)
- `include_grid` (boolean): Include grid-headroom / substation analysis (default true)
- `include_risk` (boolean): Include water/drought/climate risk analysis (default true)
- `lat` (number): Site latitude in decimal degrees (-90 to 90; required unless candidate_id or location given), e.g. 33.45
- `latitude` (number): Alias for lat — either name works
- `lng` (number): Alias for lon — either name works
- `location` (string): Market NAME or metro slug instead of coordinates, e.g. "ashburn", "northern-virginia", "dallas". Resolved to that market's PUBLISHED CENTROID through the DCPI market row, and the answer carries a res…
- `lon` (number): Site longitude in decimal degrees (-180 to 180; required unless candidate_id or location given), e.g. -112.07
- `longitude` (number): Alias for lon — either name works
- `mpp_credential` (string): Stripe MPP step 2: the Shared Payment Token minted for challenges[0]; pays that challenge for this one call.
- `mpp_pay` (boolean): Stripe MPP step 1: true returns a signed per-call payment challenge (a quote; no money moves) instead of the free preview. Agents only.
- `state` (string): US state abbreviation (optional) — improves the tax-incentive lookup, e.g. AZ

### `discover_tools` (~102 tokens)

Discover Tools

Browse DC Hub's full tool catalogue by family (facility, market, grid and power, gas, site geometry, fiber, deals and news, saved work, account), optionally filtered by query. This endpoint lists a Grok-sized subset; every other DC Hub tool can still be called by name.

Input parameters:

- `query` (string): Optional keyword to filter families/tools, e.g. "site selection", "grid queue", "fiber", "deals", "market"

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/cloud-dchub-mcp-server/mcp-grok#diagnostics

## Score history

- 2026-10-17: 84
- 2026-10-16: 83
- 2026-10-15: 82
- 2026-10-14: 82
- 2026-10-13: 82
- 2026-10-12: 81
- 2026-10-11: 81
- 2026-10-07: 76
- 2026-10-04: 74
- 2026-10-03: 74
- 2026-10-02: 73
- 2026-10-01: 73
- 2026-09-30: 65
- 2026-09-29: 64

## Common questions

### What is the DC Hub — Data Center Site Selection & Colocation… MCP server?

DC Hub — Data Center Site Selection & Colocation… is an MCP server listed in the public MCP registry as cloud.dchub/mcp-server. DCPI grid-power scores for 300+ markets, plus capacity to buy or lease; query and cite. This page covers its hosted endpoint (https://dchub.cloud/mcp/grok).

### Is the DC Hub — Data Center Site Selection & Colocation… MCP server safe to use?

DC Hub — Data Center Site Selection & Colocation… scores 84 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the DC Hub — Data Center Site Selection & Colocation… MCP server expose?

DC Hub — Data Center Site Selection & Colocation… exposes 11 tools: execute_plan, get_grid_scoreboard, get_market_dcpi_rank, search_facilities, get_power_availability_timeline, and 6 more. Their descriptions and schemas cost roughly 3,865 tokens of context every time the server is loaded.

### Does the DC Hub — Data Center Site Selection & Colocation… MCP server require authentication?

No. We connected to DC Hub — Data Center Site Selection & Colocation… without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the DC Hub — Data Center Site Selection & Colocation… MCP server still maintained?

DC Hub — Data Center Site Selection & Colocation… is still listed as active in the MCP registry. We last reached this channel on 17 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://dchub.cloud/mcp/grok
- Repository: https://github.com/azmartone67/dchub-mcp-server
- Website: https://dchub.cloud/
- Changelog RSS feed: https://verifymcp.io/servers/cloud-dchub-mcp-server/mcp-grok.xml
- Changelog JSON feed: https://verifymcp.io/servers/cloud-dchub-mcp-server/mcp-grok.json
- HTML version of this page: https://verifymcp.io/servers/cloud-dchub-mcp-server/mcp-grok
