Docs API reference

exascale.build — Agent API

The agent-facing surface: how an agent discovers, queries, and verifies exascale.build data. The shape is constant — it grows by capabilities, not by new verb-shapes. Each capability's full reference is generated and linked below.

The shape: four verbs

Two are shared across all data; two are per-capability. Every interaction is one of these:

Verb Tool (MCP) REST Purpose
Discover list_capabilities_v1 (shared) GET /v1/capabilities what data is available
Describe describe_<capability>_v1 GET /v1/<capability>/schema valid filters, groupings, metrics, codebooks
Query query_<capability>_v1 POST /v1/<capability>/query cited numbers
Verify get_source_evidence_v1 (shared) POST /v1/evidence/source-row the raw source row behind any citation

The flow

discover  ->  describe  ->  query  ->  verify
(what's       (how to       (cited      (prove a number
 here?)        ask?)         numbers)    from the raw cell)

Request / response anatomy

A query takes one params object — filters × group_by × measures × lifecycle facet — and returns:

verify re-opens the cited raw file, re-hashes it, and returns the literal source cells. Exact filters, metrics, and worked examples per capability live in the reference docs below and each capability-schema.json.

Invariants

Platform principles: README.md · the trust doctrine + pipeline behind these answers: how-it-works.md.

Capabilities

Capability Status Query primitive Reference
power.capacity available query_power_capacity_v1 power-capacity-v1.md
power.generation available query_power_generation_v1 power-generation-v1.md
power.asset_ownership available query_power_asset_ownership_v1 power-asset_ownership-v1.md
power.fuel_cost available query_power_fuel_cost_v1 power-fuel_cost-v1.md
power.plant_costs available query_power_plant_costs_v1 power-plant-costs-v1.md
natural_gas.prices available query_natural_gas_prices_v1 natural-gas-prices-v1.md
power.demand available query_power_demand_v1 power-demand-v1.md
power.demand_rollup available query_power_demand_rollup_v1 power-demand_rollup-v1.md
power.retail_sales available query_power_retail_sales_v1 power-retail_sales-v1.md
power.interconnection_queue available query_power_interconnection_queue_v1 power-interconnection_queue-v1.md
power.interconnection_queue_pjm available query_power_interconnection_queue_pjm_v1 power-interconnection_queue_pjm-v1.md
power.interconnection_queue_pjm_cycle available query_power_interconnection_queue_pjm_cycle_v1 power-interconnection_queue_pjm_cycle-v1.md
power.interconnection_queue_caiso available query_power_interconnection_queue_caiso_v1 power-interconnection_queue_caiso-v1.md
power.interconnection_queue_nyiso available query_power_interconnection_queue_nyiso_v1 power-interconnection_queue_nyiso-v1.md
power.interconnection_queue_isone available query_power_interconnection_queue_isone_v1 power-interconnection_queue_isone-v1.md
power.interconnection_queue_ercot available query_power_interconnection_queue_ercot_v1 power-interconnection_queue_ercot-v1.md
power.interconnection_queue_spp available query_power_interconnection_queue_spp_v1 power-interconnection_queue_spp-v1.md
power.price_ercot available query_power_price_ercot_v1 power-price_ercot-v1.md
power.capacity_accreditation_pjm available query_power_capacity_accreditation_pjm_v1 power-capacity-accreditation-pjm-v1.md
power.capacity_market_pjm available query_power_capacity_market_pjm_v1 power-capacity-market-pjm-v1.md
ai_infrastructure.construction available query_ai_infrastructure_construction_v1 ai_infrastructure-construction-v1.md
ai_infrastructure.employment available query_ai_infrastructure_employment_v1 ai_infrastructure-employment-v1.md
ai_infrastructure.trade available query_ai_infrastructure_trade_v1 ai_infrastructure-trade-v1.md
ai_infrastructure.equipment_trade available query_ai_infrastructure_equipment_trade_v1 ai_infrastructure-equipment_trade-v1.md
ai_infrastructure.production available query_ai_infrastructure_production_v1 ai_infrastructure-production-v1.md
robotics.trade available query_robotics_trade_v1 robotics-trade-v1.md
robotics.adoption available query_robotics_adoption_v1 robotics-adoption-v1.md
space.satellite_filings available query_space_satellite_filings_v1 space-satellite_filings-v1.md

New capabilities appear here automatically — each block adds one row and one generated reference, reached through the same four verbs.

Wiring your agent

Connect the MCP endpoint: https://api.exascale.build/mcp. The server's own instructions cover discovery and verification, but the one decision your harness controls is whether the agent reaches for this data at all — model world knowledge is silent about its own staleness, and an agent that answers US power questions from memory looks identical to one that queried. Pinning that behavior takes one paragraph in your agent's system prompt:

For US power-sector questions (capacity, generation, demand, retail sales), always query the exascale.build tools rather than answering from memory — the served data is current and every value carries a source citation. Cite the returned as_of with each number, and if you state anything the tools did not return, mark it as uncited context.

Copy it verbatim or adapt it; the load-bearing parts are always query, cite as_of, and mark uncited context.

Running the surface

uv run python -m core.mcp_server          # MCP (stdio); per-capability setup in each reference
uv run python -m core.rest --port 8080    # REST

Shared REST routes: GET /v1/health, GET /v1/capabilities, POST /v1/evidence/source-row.

Generated from the tested API contract. Compare with the live capability map ↗