DC Hub: Data Center, Power Grid & Energy Intelligence
<!-- phase76_readme_polish -->
# DC Hub MCP Server
**[DCPI (Data Center Power Index)](https://dchub.cloud/dcpi): a daily score of where data centers can get grid power, across 300+ markets.** Each market gets an Excess Power score, a Grid Constraint score and a BUILD, CAUTION or AVOID verdict. Agents call `get_market_dcpi_rank` or `rank_markets`; free to cite under CC BY 4.0.
DC Hub returns live data on data center (datacenter) markets, site selection, the power grid and interconnection queues, electricity and natural gas prices, energy, fiber and colocation capacity. Tool results carry a dated citation line in `cite_as` (`DC Hub (dchub.cloud), as of <date>`) and, where one applies, a suggested follow-up question in `next_ask`. Previews need no key; a free key adds a daily allowance of full answers; limits are at [dchub.cloud/pricing](https://dchub.cloud/pricing). Connect: https://dchub.cloud/connect · MCP endpoint: `https://dchub.cloud/mcp`
To start, [add the MCP server](https://dchub.cloud/connect) or [grab a free key](https://dchub.cloud/connect#free-key). Setup for Claude, Cursor, Gemini CLI, VS Code, Cline and others is under [Install](#install) below.
DC Hub (dchub.cloud) is a live data layer for data center and energy questions: power, grid, interconnection queues, fiber, markets and sites, with an as_of date and a source on every result.
MCP server: https://dchub.cloud/mcp
Start with execute_plan(intent="<the user's question>"): it picks and chains the right tools and returns one dated, cited answer.
[](https://insiders.vscode.dev/redirect/mcp/install?name=dchub&config=%7B%22name%22%3A%20%22dchub%22%2C%20%22type%22%3A%20%22http%22%2C%20%22url%22%3A%20%22https%3A//dchub.cloud/mcp%22%7D) [](https://cursor.com/install-mcp?name=dchub&config=eyJ1cmwiOiAiaHR0cHM6Ly9kY2h1Yi5jbG91ZC9tY3AifQ%3D%3D) [](https://www.npmjs.com/package/dchub-mcp-server) [](https://registry.modelcontextprotocol.io/v0/servers?search=cloud.dchub)
---
## Using DC Hub data without MCP
The same data is published over plain HTTPS, for clients with no MCP connection.
**Keyless endpoints.** Each answers an anonymous GET with HTTP 200 and open CORS (`access-control-allow-origin: *`):
| Endpoint | Returns |
|---|---|
| `https://dchub.cloud/api/v1/canon/phrases` | current published counts and floors, with their sources in `value_source` |
| `https://dchub.cloud/api/v1/stats` | platform stats |
| `https://dchub.cloud/api/v1/stats/canonical` | the same figures with their provenance |
| `https://dchub.cloud/api/v1/dcpi/scores?limit=500` | DCPI per market |
Published counts change over time; `/api/v1/canon/phrases` serves the current values.
**Dates and citation fields.** MCP tool results carry dated provenance:
- `as_of` is the data date. When several sources feed one answer, it is the oldest of their timestamps, since an answer is no fresher than its stalest input. When a response carries only per-record dates, or no source timestamp at all, `as_of` is `null` and `as_of_basis` states why.
- `retrieved_at` is when DC Hub served the response, not when the data was collected.
- `cite_as` is a ready citation line. It names DC Hub and dchub.cloud, adds the `as_of` date when one is known, and marks a tier-gated preview as `PARTIAL`.
**Citation format.** A short attribution block for text that quotes DC Hub data. [`/llms.txt`](https://dchub.cloud/llms.txt) gives a longer form that adds the `as_of` date and the licence terms of each data layer.
```
Source: DC Hub (dchub.cloud) — live data-center & energy intelligence
https://dchub.cloud/land-power-map
https://dchub.cloud/dcpi
https://dchub.cloud/connect
```
**Further documentation:** [`/llms.txt`](https://dchub.cloud/llms.txt) ·
[`/llms-full.txt`](https://dchub.cloud/llms-full.txt) ·
[`/ai-agents`](https://dchub.cloud/ai-agents) ·
[`/AGENTS.md`](https://dchub.cloud/AGENTS.md) ·
MCP endpoint `https://dchub.cloud/mcp/github` (client setup at [/connect](https://dchub.cloud/connect))
---
## What you can do with it
```
"Can I get 200 MW in PJM, and how long would it take?"
"Show me AWS data center construction pipeline in Ohio"
"Compare ERCOT vs PJM capacity prices over the last 30 days"
"Find data centers within 50km of Northern Virginia substations >230kV"
"What's the live demand and generation mix in CAISO right now?"
"Is behind-the-meter gas power cheaper than the grid in Texas?"
"What's the grid mix in Atlanta (SOCO) and is power available?"
"Get fiber routes between Ashburn and Atlanta"
"Find 5 MW of powered shell I can lease in Texas"
"Who has 500 kW of colocation capacity anywhere in Europe?"
```
Your AI assistant gets real-time, structured answers — not links to PDFs.
## What's inside
- **Global data-center facility map** across 170+ countries — operator, capacity, location, fiber connectivity
- **134,000+ substations** with voltage class, available capacity estimates
- **Real-time grid telemetry** — live load + generation mix across the 7 US ISOs (PJM, ERCOT, CAISO, MISO, SPP, NYISO, ISO-NE) + 40+ EIA balancing authorities (Atlanta, Carolinas, Florida, Pacific NW...), plus Canada (IESO, AESO, Hydro-Québec), Great Britain (NESO), 30+ EU bidding zones (ENTSO-E), Taiwan, Japan, South Korea, Brazil & Australia — refreshed ~every 5 min; get_grid_data reads any one of them, compare_isos sets 2-4 side by side
- **Interconnection-queue snapshots** with per-ISO BUILD/CAUTION/AVOID verdicts — including live large-load queue depth where the ISO publishes it (ERCOT publishes a data-center-scale large-load feed)
- **1,800+ tracked M&A transactions** + AI capacity index + hyperscaler $1B+ deal tracker
- **Transmission lines, gas pipelines, fiber routes** — the full infrastructure stack
- **NEPA filings** for upcoming federal energy + data center projects
- **Tax incentives** by state with eligibility details
- **Market intelligence** — 300+ markets scored daily with DCPI BUILD/CAUTION/AVOID verdicts, plus facilities tracked across 170+ countries
- **Capacity Source** — data-center capacity to buy or lease (powered land, powered shells, turnkey, colocation), searchable by size in kW or MW and by location
**94 MCP tools** across facility search, market intel, grid + interconnection, renewable-energy, site analysis, deals, fiber routing, and infrastructure. [Full tool list →](https://dchub.cloud/integrations/mcp)
Two of them are **partner tools**: `read_inbox` (the notes DC Hub leaves for a partner key; the same inbox as the `dchub://inbox` resource) and `report_finding` (files an observation about a DC Hub surface as a brain finding, detector `external_audit`). They are listed for every caller so the catalog is one stable list, and they answer only a key issued under a partner slug; any other key gets a clear "partner key required".
> **These counts are served, not stated.** Every number above is rendered from a
> live source and this file is a copy of it — mirrors and registry listings copy
> it again, and each hop can freeze. The current values are served by
> **`/api/v1/canon/phrases`** (quantities) and **`/api/v1/ops/deadman`**
> (per-source ingest freshness), both keyless JSON endpoints on `dchub.cloud`,
> and by `tools/list` on the MCP endpoint (the canonical tool catalog).
**Actively used by Claude and Cursor** — see [/cited-by](https://dchub.cloud/cited-by).
## Guided prompts & resources
Beyond the 94 tools, DC Hub ships **14 guided prompts** — they surface as slash-commands in Claude Desktop, Cursor, and other MCP clients (every invocation is telemetry-tracked as `recipe:<name>`):
- `/dchub:analyze-site` — full buildability read for an address or lat,lon
- `/dchub:pick-a-market` — where to build N MW (DCPI-ranked, with time-to-power)
- `/dchub:power-availability` — power availability + time-to-power for an ISO
- `/dchub:site-report` — premium one-page site brief (power · gas · fiber · market · risk)
- `/dchub:compare-markets` — 2–4 markets head-to-head
- `/dchub:fiber-plan` — diverse fibre lead-in routes to a carrier hotel
- `/dchub:market_selection` — DCPI shortlist → per-finalist verdict → grid reality-check
- `/dchub:grid_and_queue` — power availability + interconnection queue for an ISO
- `/dchub:site_analysis` — one site, multi-factor: composite score, FEMA hazards, water
- `/dchub:water_risk` — water stress & hazard read for a site
- `/dchub:hyperscaler_activity` — deals + forward pipeline: who is buying and building
- `/dchub:whats_changed` — what moved since your last call (the return hook)
- `/dchub:fiber_power_pairing` — where fiber density and available power overlap in a market
- `/dchub:find_capacity` — data-center capacity to buy or lease: Capacity Source listings for a requirement, then a deal registration (the provider's identity, site and contact are released only if the provider accepts)
Plus citable **resources**: `dchub://about`, `dchub://methodology` (DCPI/DCGI), `dchub://data-sources`, `dchub://coverage`, and `dchub://testimonials` — named customers (people, not AI assistants) who approved public use of their words, read live from [dchub.cloud/testimonials](https://dchub.cloud/testimonials) (machine-readable: `testimonials.json` beside it).
## Capacity Source — capacity to buy or lease
Everything above answers *where to build*. **[Capacity Source](https://dchub.cloud/listings)** answers *what is available now*: data center capacity to buy or lease — powered land, powered shells, turnkey capacity and colocation — for enterprise and agent-led procurement. Operators and brokers list capacity free at [dchub.cloud/listings](https://dchub.cloud/listings#list-capacity).
**Searchable by size and by location.** `source_capacity` takes a size — `min_kw` in kW, or `min_mw` in MW — and a location:
- `region` — `north_america`, `latin_america`, `europe`, `asia_pacific`, `middle_east_africa` (the aliases `emea`, `apac`, `latam` and `americas` also resolve)
- `location` — free text matched against each listing's region, country, state and metro, e.g. `"Germany"` or `"Texas, Phoenix"`
- `market`, `state`, `delivery_type` (`land` · `powered_shell` · `turnkey` · `colocation`) and `available_by` narrow further; `slug` returns a single listing
So *"500 kW anywhere in Europe"* is `min_kw=500, region=europe`. Any caller — keyless included — gets the listing cards, the filters that were applied, and when each listing was last updated.
**A size is matched against what a listing can actually deliver, not just its headline total.** A listing may declare `contiguous_kw` — the largest single contiguous block available — and `min_contract_kw` — the smallest chunk the provider will contract. A colocation with 2 MW available but only 500 kW contiguous does not answer a 1 MW search; a 40 MW site willing to contract 1 MW chunks does. Both are teaser-level, so they come back on the cards and the single-listing read, and the rendered lines carry them beside the capacity.
**Then a deal registration, not a lead form.** `request_capacity_intro` registers a deal: DC Hub sends the provider your company name and your requirement, and nothing more. The provider accepts or declines. Identities, site detail and contacts are exchanged **only if the provider accepts** — on a decline, nothing is shared. `accept_capacity_terms` records your agreement to the [introduction terms](https://dchub.cloud/listings#terms) once, which is what opens listing detail for you.
The `/dchub:find_capacity` prompt runs the whole path: requirement → listings → deal registration.
## Task-scoped endpoints
`https://dchub.cloud/mcp` serves the full catalog. A client that only needs one job can bind to a narrower surface instead — same server, same key, a much smaller tool list in the context window. Every pack except `/mcp/deepresearch` carries `discover_tools`, `claim_free_key`, `unlock_more_data` and `summarize_for_citation`, so a pack is never a dead end; `/mcp/deepresearch` is deliberately exactly the two tools the Deep Research connector contract expects.
| Endpoint | What it covers |
|---|---|
| `https://dchub.cloud/mcp/github` | everything — all 94 tools |
| `https://dchub.cloud/mcp/siting` | site selection end to end: find, analyze, score, compare, rank — plus Capacity Source |
| `https://dchub.cloud/mcp/grid` | power availability: live ISO telemetry, interconnection queue, hosting + retirement headroom, prices |
| `https://dchub.cloud/mcp/fiber` | routes, metro fiber, subsea cables, peering, lead-in planning, latency clustering |
| `https://dchub.cloud/mcp/deals` | transactions, pipeline, news, market intelligence — plus Capacity Source |
| `https://dchub.cloud/mcp/gas` | behind-the-meter and gas-fired economics against grid prices and forward generation |
| `https://dchub.cloud/mcp/site` | the in-browser agent surface: find a record, read it, quote it, mint a key |
| `https://dchub.cloud/mcp/deepresearch` | the OpenAI Deep Research connector contract: `search` + `fetch`, nothing else |
## Why DC Hub vs other directories
| | DC Hub | datacenters.com | dcbyte | baxtel |
|--------------------------|:------:|:---------------:|:------:|:------:|
| Live grid data | ✅ | ❌ | ❌ | ❌ |
| MCP / AI integration | ✅ | ❌ | ❌ | ❌ |
| Facility + infra + grid | ✅ | ❌ | ❌ | ❌ |
| Real-time API | ✅ | ❌ | ❌ | ❌ |
| NEPA filings | ✅ | ❌ | ❌ | ❌ |
| Free dev tier | ✅ | ❌ | ❌ | ✅ |
Their strength: directories of facilities you can browse. Our strength: an API your AI assistant can query in real time across the full infrastructure stack.
## Install
### Claude Desktop — Quickstart (stdio)
Claude Desktop's `claude_desktop_config.json` runs local (stdio) servers, so use the launcher package, which connects it to the hosted server. Add to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):
```json
{
"mcpServers": {
"dchub": {
"command": "npx",
"args": ["-y", "dchub-mcp-server"],
"env": { "DCHUB_API_KEY": "" }
}
}
}
```
Leave `DCHUB_API_KEY` empty for previews, or paste a free key from https://dchub.cloud/connect#free-key. Needs Node 18+. Same block works in Cursor, Windsurf and Cline. To use the hosted URL instead, open **Settings → Connectors → Add custom connector** in Claude Desktop and paste `https://dchub.cloud/mcp`; do not put a `url` entry in `claude_desktop_config.json`.
### Claude Code
```bash
claude mcp add dchub --transport http https://dchub.cloud/mcp/github
```
### Cursor
Search for "DC Hub" in [Cursor MCP marketplace](https://cursor.directory/plugins/dc-hub) → click Install.
### Cline / Continue.dev
```json
{
"name": "dchub",
"url": "https://dchub.cloud/mcp/github",
"transport": "http"
}
```
### Gemini CLI
`~/.gemini/settings.json` (or `.gemini/settings.json` in a project):
```json
{
"mcpServers": {
"dchub": {
"httpUrl": "https://dchub.cloud/mcp/github"
}
}
}
```
Or one command: `gemini mcp add --transport http dchub https://dchub.cloud/mcp/github`
> **`httpUrl`, not `url`.** In Gemini CLI `url` is the SSE form and `command` is stdio — put a Streamable-HTTP server under either and it is dialled with the wrong transport and never connects. This is the free Gemini CLI: no OAuth, no admin console, no enterprise account. Add a `headers` object with `X-API-Key` for full data.
### Antigravity
`~/.gemini/antigravity/mcp_config.json` (or `.agents/mcp_config.json` in a workspace):
```json
{
"mcpServers": {
"dchub": {
"serverUrl": "https://dchub.cloud/mcp/github"
}
}
}
```
> **`serverUrl`, not `url` or `httpUrl`.** Antigravity rejects both — the block stays valid JSON and registers nothing. It is a different client from Gemini CLI with a different config file, so installing one does not install the other, even though both live under `~/.gemini/`.
### Smithery.ai
Listed at [smithery.ai/servers/azmartone67/dchub](https://smithery.ai/servers/azmartone67/dchub). Smithery's hosted proxy and CLI shut down on 2026-10-31, so installing through the Smithery CLI stops working that day. The listing then becomes a directory entry that points to the direct URL, `https://dchub.cloud/mcp`; connect your client to that URL (per-client setup above).
### Docker MCP Toolkit
Add DC Hub to Docker Desktop's MCP Toolkit from its catalog file:
```bash
docker mcp catalog import https://raw.githubusercontent.com/azmartone67/dchub-mcp-server/main/integrations/docker/catalog.yaml
docker mcp server enable dchub
```
Details are in [`integrations/docker/`](integrations/docker/).
### Arcade
Register DC Hub in [Arcade](https://arcade.dev) as a **Remote MCP** server: ID `dchub`, URI `https://dchub.cloud/mcp`, plus the header `X-DCHub-Via: arcade`. You can add `X-API-Key: ${secret:DCHUB_API_KEY}` as well. Then choose the tools for your MCP gateway. Setup, gateway tool profiles and auth options are in [`integrations/arcade/`](integrations/arcade/).
## Privacy and data handling
- **Per-call telemetry (first-party only).** Every tool call is logged to the DC Hub backend (`POST /api/v1/mcp/track`): timestamp, tool name, call parameters, detected client/platform, tier, session id, your API key (if you sent one), status and duration. It is used for rate limits, billing and quality. It is never sent to a third party, and there is no advertising or third-party analytics. Anonymous calls carry no key. Details: [SECURITY.md](SECURITY.md#outbound-network-calls).
- **Email capture (`bind_email`) is optional.** The `bind_email` tool exists to raise your daily limit. If you call it, the email you pass is stored against your key, and you can ignore the tool. The server never asks for or collects an email any other way.
- **No install-time code.** Installing this package runs no scripts (no `preinstall`, `install`, `postinstall` or `prepare`). The git pre-commit hook for contributors is opt-in: `npm run hooks:install`.
## Pricing
- **Anonymous:** previews, no API key needed
- **Free key (one `claim_free_key` call, no email):** previews plus 2 full answers per tool per day, every tool callable, most as previews. Grid/queue/market-intel tools: previews on free; an email adds 10 full answers/day each. analyze_site: a free key gets a few free full site reports each month; after that, previews.
- **Add an email (`bind_email`):** 50 calls/day (up to 10 full answers per tool per day)
- **Paid plans (more volume, every tool, exports):** plans and prices at https://dchub.cloud/pricing
## Data sources
EIA hourly RTO data · HIFLD substation database · OpenStreetMap · PeeringDB · DC Hub proprietary news + facility pipeline · regulations.gov NEPA filings · USGS · EPA eGRID · FEMA NRI
## Open source
This MCP server's transport layer is open source. The data + business logic lives at [dchub.cloud](https://dchub.cloud). Issues: [GitHub Issues](https://github.com/azmartone67/dchub-mcp-server/issues).
## Contact
azmartone@gmail.com — Jonathan Martone — Martone Advisors LLC
<!-- registry-rebuild: 2026-07-16 — Glama builder ECONNRESET x2 on 091afc4 (empty logs, infra-side); commit verified clean locally -->
TDQS
Scored across 94 tools
There are several near-duplicate clusters that will cause misselection: semantic_search and search_intelligence are explicitly the same retrieval layer with a different call shape, and save_site/list_saved_sites/set_site_alert runs in parallel to a second persistence system (save_to_shortlist/get_shortlist/set_shortlist_alert). Site scoring is spread across analyze_site, get_composite_site_score, score_facility, compare_sites, rank_sites, find_sites and site_selection_canvas, and grid work across get_grid_data, get_grid_scoreboard, get_grid_intelligence, get_iso_context and compare_isos. The lengthy 'do NOT use X, use Y' cross-references mitigate this considerably, but an agent still has to read them to avoid picking the wrong sibling.
The dominant pattern is snake_case verb_noun (get_facility, search_facilities, rank_markets, save_site, register_standing_intent), which is readable and largely predictable. But a large minority break it with noun phrases or bare verbs — ai_capacity_index, hyperscaler_deals, deal_autopsy, site_selection_canvas, grid_transition_radar, why_dchub, and the bare search/fetch pair. Conventions are mixed enough that the name alone does not reliably predict the shape of a call.
94 tools is roughly six times the top of the well-scoped range and well past any reasonable ceiling, even for a broad data-center/power domain. A large share of the surface is plumbing rather than domain capability: claim_free_key, bind_email, recover_my_key, unlock_more_data, read_inbox, report_finding, discover_tools, plan_query, execute_plan, get_agent_registry, get_backup_status, why_dchub. Several of these duplicate or shadow each other, so the count is inflated by meta-tooling rather than by distinct analytical coverage.
Coverage of the stated domain is unusually deep: site scoring, grid telemetry and headroom, interconnection queues, gas economics, permitting, tax, water, fiber, deals, news, capacity marketplace and alerting all have dedicated tools with honest coverage/caveat blocks. The visible gaps are lifecycle ones — saved sites and shortlists can be created and read but not updated or deleted (only standing intents have delete_standing_intent), and account/meta state has no cleanup path. Those are workaroundable but leave dead ends for an agent managing persistent state.