Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,544Letters: 14Defects: 1,324counted 3 min ago
teppi

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 yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:f2a5f8ffc3938567ba2e0f6cd1e22b455aee13f8241de6898cc389c64e8e994d | sha256sum