Server definition
- Hash
- sha256:f2a5f8ffc3938567ba2e0f6cd1e22b455aee13f8241de6898cc389c64e8e994d
- What it is
- What a remote MCP server returned when asked what it offers: 6 tools
The blob, as servednamed by its sha256
{
"instructions": "GridHub provides live and historical electricity market data — wholesale prices, demand, interconnector flows and installed capacity — for 25 grid zones across the US, Europe, Great Britain and Australia, in one normalised JSON schema. Generation mix is published for GB and US-CAISO only and carbon intensity for GB only; other zones omit those metrics. Every response carries its source attribution and licence; repeat them when presenting data. Start with get_zone_brief for 'right now' questions and get_history for time series. Authentication: send 'Authorization: Bearer <ghk_key>' on the MCP connection (free key, 500 requests/day, instant email signup at https://grid-hub.app/developers), or pay per call with x402 (USDC on Base) via the X-PAYMENT header. With no credentials, data tools run in free sample mode: real, current data but truncated (history capped at 50 rows; brief returns one context block). Sample results are clearly marked.",
"tools": [
{
"description": "Time series for one metric in one zone over a start/end window (Unix seconds). Rows are returned oldest-first and the 'limit' truncates from the OLDEST end, so a small limit over a wide window returns old data, not recent data — for 'the latest N points' set start close to now, or use get_latest / get_zone_brief for current values. Default window is the last 24h (last ~400 days for capacity, which is annual). Max window 31 days per call (400 for capacity); paginate with start/end for more. Metrics: price (wholesale, local currency per MWh), demand (MW), generation (per fuel, 'fuel' field set; % or MW depending on zone; GB and US-CAISO only), carbon-intensity (gCO2/kWh; GB only), interchange (net imports, MW), capacity (installed MW per fuel; European zones only). Authentication: send 'Authorization: Bearer <ghk_key>' on the MCP connection (free key, 500 requests/day, instant email signup at https://grid-hub.app/developers), or pay per call with x402 (USDC on Base) via the X-PAYMENT header. With no credentials, data tools run in free sample mode: real, current data but truncated (history capped at 50 rows; brief returns one context block). Sample results are clearly marked.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"api_key": {
"description": "Optional GridHub API key (ghk_...). Prefer sending it as an 'Authorization: Bearer <key>' HTTP header on the MCP connection; use this argument only if your client cannot set headers. Without a key the tool runs in free sample mode (truncated output).",
"type": "string"
},
"end": {
"description": "Window end, Unix seconds. Default: now.",
"type": "integer"
},
"limit": {
"description": "Max rows (default 200, max 1000 via MCP; sample mode caps at 50).",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"metric": {
"description": "Which series to fetch.",
"enum": [
"price",
"demand",
"generation",
"carbon-intensity",
"interchange",
"capacity"
],
"type": "string"
},
"start": {
"description": "Window start, Unix seconds. Default: end minus 24h.",
"type": "integer"
},
"zone": {
"description": "Zone id. US ISOs: US-CAISO, US-ERCOT, US-PJM, US-MISO, US-NYISO, US-ISONE, US-SPP. Europe: DE-LU, FR, ES, IT-NO, NL, BE, PL, SE-3, NO-2, DK-1, AT, CH. Great Britain: GB. Australia (NEM): AU-NSW, AU-QLD, AU-VIC, AU-SA, AU-TAS. Call list_zones for names, sources, currencies and licences.",
"enum": [
"US-CAISO",
"US-ERCOT",
"US-PJM",
"US-MISO",
"US-NYISO",
"US-ISONE",
"US-SPP",
"DE-LU",
"FR",
"ES",
"IT-NO",
"NL",
"BE",
"PL",
"SE-3",
"NO-2",
"DK-1",
"AT",
"CH",
"GB",
"AU-NSW",
"AU-QLD",
"AU-VIC",
"AU-SA",
"AU-TAS"
],
"type": "string"
}
},
"required": [
"zone",
"metric"
],
"type": "object"
},
"name": "get_history",
"outputSchema": {
"properties": {
"attribution": {
"type": [
"string",
"null"
]
},
"count": {
"type": [
"number",
"null"
]
},
"data": {
"items": {
"properties": {
"fuel": {
"type": [
"string",
"null"
]
},
"metric": {
"type": [
"string",
"null"
]
},
"resolution": {
"type": [
"string",
"null"
]
},
"source": {
"type": [
"string",
"null"
]
},
"ts": {
"type": [
"number",
"null"
]
},
"unit": {
"type": [
"string",
"null"
]
},
"value": {
"type": [
"number",
"null"
]
}
},
"type": [
"object",
"null"
]
},
"type": [
"array",
"null"
]
},
"end": {
"type": [
"number",
"null"
]
},
"license": {
"type": [
"string",
"null"
]
},
"metric": {
"type": [
"string",
"null"
]
},
"start": {
"type": [
"number",
"null"
]
},
"zone": {
"type": [
"string",
"null"
]
}
},
"type": "object"
}
},
{
"description": "The most recent value of every metric one zone publishes (price and demand for every zone; generation by fuel for GB and US-CAISO; carbon intensity for GB; interchange where available), each with unit and timestamp. This is the right tool for 'what is the price/demand/carbon intensity in X right now'. Note: some European sources publish day-ahead prices, so the price timestamp can be up to ~36h in the future; use get_zone_brief for a strictly at-or-before-now value with historical context. Authentication: send 'Authorization: Bearer <ghk_key>' on the MCP connection (free key, 500 requests/day, instant email signup at https://grid-hub.app/developers), or pay per call with x402 (USDC on Base) via the X-PAYMENT header. With no credentials, data tools run in free sample mode: real, current data but truncated (history capped at 50 rows; brief returns one context block). Sample results are clearly marked.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"api_key": {
"description": "Optional GridHub API key (ghk_...). Prefer sending it as an 'Authorization: Bearer <key>' HTTP header on the MCP connection; use this argument only if your client cannot set headers. Without a key the tool runs in free sample mode (truncated output).",
"type": "string"
},
"zone": {
"description": "Zone id. US ISOs: US-CAISO, US-ERCOT, US-PJM, US-MISO, US-NYISO, US-ISONE, US-SPP. Europe: DE-LU, FR, ES, IT-NO, NL, BE, PL, SE-3, NO-2, DK-1, AT, CH. Great Britain: GB. Australia (NEM): AU-NSW, AU-QLD, AU-VIC, AU-SA, AU-TAS. Call list_zones for names, sources, currencies and licences.",
"enum": [
"US-CAISO",
"US-ERCOT",
"US-PJM",
"US-MISO",
"US-NYISO",
"US-ISONE",
"US-SPP",
"DE-LU",
"FR",
"ES",
"IT-NO",
"NL",
"BE",
"PL",
"SE-3",
"NO-2",
"DK-1",
"AT",
"CH",
"GB",
"AU-NSW",
"AU-QLD",
"AU-VIC",
"AU-SA",
"AU-TAS"
],
"type": "string"
}
},
"required": [
"zone"
],
"type": "object"
},
"name": "get_latest",
"outputSchema": {
"properties": {
"attribution": {
"type": [
"string",
"null"
]
},
"license": {
"type": [
"string",
"null"
]
},
"metrics": {
"additionalProperties": {
"properties": {
"resolution": {
"type": [
"string",
"null"
]
},
"ts": {
"type": [
"number",
"null"
]
},
"unit": {
"type": [
"string",
"null"
]
},
"value": {
"type": [
"number",
"null"
]
}
},
"type": [
"object",
"null"
]
},
"type": [
"object",
"null"
]
},
"updated": {
"type": [
"number",
"null"
]
},
"zone": {
"type": [
"string",
"null"
]
}
},
"type": "object"
}
},
{
"description": "Current headline values for all 25 zones in one call — the cheapest way to compare zones (e.g. 'which European zone has the lowest price right now', 'rank US ISOs by demand'). Rebuilt every 5 minutes. Authentication: send 'Authorization: Bearer <ghk_key>' on the MCP connection (free key, 500 requests/day, instant email signup at https://grid-hub.app/developers), or pay per call with x402 (USDC on Base) via the X-PAYMENT header. With no credentials, data tools run in free sample mode: real, current data but truncated (history capped at 50 rows; brief returns one context block). Sample results are clearly marked.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"api_key": {
"description": "Optional GridHub API key (ghk_...). Prefer sending it as an 'Authorization: Bearer <key>' HTTP header on the MCP connection; use this argument only if your client cannot set headers. Without a key the tool runs in free sample mode (truncated output).",
"type": "string"
}
},
"type": "object"
},
"name": "get_map_snapshot",
"outputSchema": {
"properties": {
"generated": {
"type": [
"number",
"null"
]
},
"zones": {
"additionalProperties": {
"properties": {
"attribution": {
"type": [
"string",
"null"
]
},
"license": {
"type": [
"string",
"null"
]
},
"metrics": {
"additionalProperties": {
"properties": {
"resolution": {
"type": [
"string",
"null"
]
},
"ts": {
"type": [
"number",
"null"
]
},
"unit": {
"type": [
"string",
"null"
]
},
"value": {
"type": [
"number",
"null"
]
}
},
"type": [
"object",
"null"
]
},
"type": [
"object",
"null"
]
},
"updated": {
"type": [
"number",
"null"
]
},
"zone": {
"type": [
"string",
"null"
]
}
},
"type": [
"object",
"null"
]
},
"type": [
"object",
"null"
]
}
},
"type": "object"
}
},
{
"description": "Ingestion health per source and zone: last successful fetch timestamp and last error, if any. Free. Use it to explain stale or missing values before drawing conclusions from them.",
"inputSchema": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "get_status",
"outputSchema": {
"properties": {
"now": {
"type": [
"number",
"null"
]
},
"sources": {
"items": {
"properties": {
"last_error": {
"type": [
"string",
"null"
]
},
"last_ok": {
"type": [
"number",
"null"
]
},
"source": {
"type": [
"string",
"null"
]
},
"zone": {
"type": [
"string",
"null"
]
}
},
"type": [
"object",
"null"
]
},
"type": [
"array",
"null"
]
}
},
"type": "object"
}
},
{
"description": "Composite, interpretation-ready snapshot of one zone: current price / demand / carbon intensity where published (strictly at-or-before now), each ranked against that zone's own last ~30 days (percentile, vs-median %, min/max, sample count and the actual data window), a 24h trend per metric, the generation mix where published (GB, US-CAISO), and a one-sentence plain-English summary. Best tool for questions like 'is electricity cheap/clean in X right now' or 'is this a good time to run a flexible workload'. A raw price means little without this context. Authentication: send 'Authorization: Bearer <ghk_key>' on the MCP connection (free key, 500 requests/day, instant email signup at https://grid-hub.app/developers), or pay per call with x402 (USDC on Base) via the X-PAYMENT header. With no credentials, data tools run in free sample mode: real, current data but truncated (history capped at 50 rows; brief returns one context block). Sample results are clearly marked.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"api_key": {
"description": "Optional GridHub API key (ghk_...). Prefer sending it as an 'Authorization: Bearer <key>' HTTP header on the MCP connection; use this argument only if your client cannot set headers. Without a key the tool runs in free sample mode (truncated output).",
"type": "string"
},
"zone": {
"description": "Zone id. US ISOs: US-CAISO, US-ERCOT, US-PJM, US-MISO, US-NYISO, US-ISONE, US-SPP. Europe: DE-LU, FR, ES, IT-NO, NL, BE, PL, SE-3, NO-2, DK-1, AT, CH. Great Britain: GB. Australia (NEM): AU-NSW, AU-QLD, AU-VIC, AU-SA, AU-TAS. Call list_zones for names, sources, currencies and licences.",
"enum": [
"US-CAISO",
"US-ERCOT",
"US-PJM",
"US-MISO",
"US-NYISO",
"US-ISONE",
"US-SPP",
"DE-LU",
"FR",
"ES",
"IT-NO",
"NL",
"BE",
"PL",
"SE-3",
"NO-2",
"DK-1",
"AT",
"CH",
"GB",
"AU-NSW",
"AU-QLD",
"AU-VIC",
"AU-SA",
"AU-TAS"
],
"type": "string"
}
},
"required": [
"zone"
],
"type": "object"
},
"name": "get_zone_brief",
"outputSchema": {
"properties": {
"as_of": {
"type": [
"number",
"null"
]
},
"attribution": {
"type": [
"string",
"null"
]
},
"context": {
"additionalProperties": {
"properties": {
"max": {
"type": [
"number",
"null"
]
},
"median": {
"type": [
"number",
"null"
]
},
"min": {
"type": [
"number",
"null"
]
},
"percentile": {
"type": [
"number",
"null"
]
},
"sample_count": {
"type": [
"number",
"null"
]
},
"unit": {
"type": [
"string",
"null"
]
},
"vs_median_pct": {
"type": [
"number",
"null"
]
},
"window_days_actual": {
"type": [
"number",
"null"
]
}
},
"type": [
"object",
"null"
]
},
"type": [
"object",
"null"
]
},
"context_window_requested_days": {
"type": [
"number",
"null"
]
},
"coverage_note": {
"type": [
"string",
"null"
]
},
"current": {
"additionalProperties": {
"properties": {
"ts": {
"type": [
"number",
"null"
]
},
"unit": {
"type": [
"string",
"null"
]
},
"value": {
"type": [
"number",
"null"
]
}
},
"type": [
"object",
"null"
]
},
"type": [
"object",
"null"
]
},
"license": {
"type": [
"string",
"null"
]
},
"summary": {
"type": [
"string",
"null"
]
},
"zone": {
"type": [
"string",
"null"
]
},
"zone_name": {
"type": [
"string",
"null"
]
}
},
"type": "object"
}
},
{
"description": "List the 25 electricity grid zones GridHub covers, with id, name, data source (EIA, ENTSO-E, NESO, AEMO), timezone, currency, licence and required attribution. Free, no credentials needed. Call this first if you are unsure which zone id to use.",
"inputSchema": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "list_zones",
"outputSchema": {
"properties": {
"zones": {
"items": {
"properties": {
"attribution": {
"type": [
"string",
"null"
]
},
"currency": {
"type": [
"string",
"null"
]
},
"id": {
"type": [
"string",
"null"
]
},
"license": {
"type": [
"string",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
},
"source": {
"type": [
"string",
"null"
]
},
"tz": {
"type": [
"string",
"null"
]
}
},
"type": [
"object",
"null"
]
},
"type": [
"array",
"null"
]
}
},
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:f2a5f8ffc3938567ba2e0f6cd1e22b455aee13f8241de6898cc389c64e8e994d | sha256sum