Skip to main content
Glama
jalcodev

gridhub-mcp

GridHub MCP Server

Актуальные и исторические данные о рынке электроэнергии для AI-агентов через Model Context Protocol.

Конечная точка: https://api.grid-hub.app/mcp — размещённая, Streamable HTTP, без состояния. Ничего устанавливать не нужно.

Охватывает 25 энергозон — ISO США (CAISO, ERCOT, PJM, MISO, NYISO, ISO-NE, SPP), 12 европейских ценовых зон, Великобританию и пять австралийских регионов NEM — приведённых к единой JSON-схеме. Данные получены от EIA, ENTSO-E, NESO, Elexon и AEMO; каждый ответ содержит свою лицензию и атрибуцию.

Инструменты

Инструмент

Что возвращает

get_zone_brief

Текущая цена / спрос (и углеродоёмкость для GB) в сравнении с последними 30 днями самой зоны (процентиль, относительно медианы, мин/макс), тренд за 24 часа, структура генерации (GB, US-CAISO) и краткое резюме в одно предложение. Лучше всего подходит для вопроса «дёшево ли или чисто электричество в X прямо сейчас?»

get_latest

Последнее значение каждой метрики, публикуемой зоной, с единицей измерения и временной меткой.

get_history

Временной ряд для одной метрики за интервал от start до end (до 31 дня за вызов).

get_map_snapshot

Ключевые показатели всех 25 зон сразу — сравнивайте или ранжируйте зоны.

list_zones

Идентификаторы зон, названия, источники, валюты, лицензии (бесплатно).

get_status

Актуальность загрузки данных по каждому источнику и зоне (бесплатно).

Related MCP server: Energy Grid MCP Server

Доступ

Три уровня, для начала регистрация не нужна:

  1. Sample mode — подключение без учётных данных. Инструменты возвращают реальные текущие данные в усечённом виде (история ограничена 50 строками; brief возвращает один блок контекста). Результаты явно помечены.

  2. Бесплатный API-ключ — 500 запросов в день. Мгновенная регистрация по email на grid-hub.app/developers или через POST https://api.grid-hub.app/v1/keys/signup с телом {"email": "..."}. Передавайте как Authorization: Bearer <ghk_key>.

  3. x402, оплата за вызов — USDC в сети Base, $0.001–$0.02 за вызов, через заголовок X-PAYMENT. Подробнее см. процесс x402.

Настройка

Claude Code

claude mcp add --transport http gridhub https://api.grid-hub.app/mcp \
  --header "Authorization: Bearer YOUR_KEY"

Cursor / Windsurf / VS Code (mcp.json)

{
  "mcpServers": {
    "gridhub": {
      "url": "https://api.grid-hub.app/mcp",
      "headers": { "Authorization": "Bearer YOUR_KEY" }
    }
  }
}

Claude Desktop / claude.ai — добавьте https://api.grid-hub.app/mcp как пользовательский коннектор. Эти клиенты не отправляют пользовательские заголовки; передавайте ключ как необязательный аргумент инструмента api_key или используйте sample mode.

Локальный stdio-мост — для клиентов, поддерживающих только локальные (stdio) серверы. Он проксирует запросы к размещённой конечной точке через mcp-remote; локально ничего не запущено, кроме самого моста.

{
  "mcpServers": {
    "gridhub": {
      "command": "npx",
      "args": ["-y", "github:jalcodev/gridhub-mcp"],
      "env": { "GRIDHUB_API_KEY": "YOUR_KEY" }
    }
  }
}

Или с помощью Docker: docker build -t gridhub-mcp . && docker run -i -e GRIDHUB_API_KEY=YOUR_KEY gridhub-mcp. Для sample mode опустите ключ.

Любой клиент, без ключа — опустите заголовок. Вы получите данные sample mode и заметку о том, как перейти на полный доступ.

Протокол

  • Streamable HTTP, без состояния: одно JSON-RPC-сообщение на один POST, ответ в JSON. Никаких сессий, никакого SSE.

  • Поддерживает MCP 2026-07-28 (запросы с зеркалированием заголовков, без рукопожатия) и версии с 2025-03-26 по 2025-11-25 (рукопожатие initialize).

  • Результаты инструментов включают structuredContent наряду с текстовым блоком.

  • Лимиты частоты и квоты — те же, что у базового REST API; слой MCP не добавляет своих.

Связанные ресурсы

Лицензия

Код в этом репозитории распространяется по лицензии MIT. Данные, возвращаемые сервисом, подчиняются лицензии каждого источника, указанной в каждом ответе (поля license и attribution).

Available Tools

6 tools
get_historyHistorical time seriesA
Read-onlyIdempotent
Inspect

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 ' 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
endNoWindow end, Unix seconds. Default: now.
zoneYesZone 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.
limitNoMax rows (default 200, max 1000 via MCP; sample mode caps at 50).
startNoWindow start, Unix seconds. Default: end minus 24h.
metricYesWhich series to fetch.
api_keyNoOptional 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).

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and idempotentHint, so the safety profile is covered. The description adds valuable behavioral context: oldest-first ordering, limit truncation from the oldest end, default windows, max windows per metric type, metric/zone availability constraints, and sample mode behavior. Minor gap: no explicit note about error cases or rate limits beyond the free key limit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but well organized: it front-loads the core behavior, then ordering/pagination, then metric specifics, then authentication. It is on the longer side, but every sentence adds information that affects how the agent calls the tool; no filler or tautology.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only time-series tool, the description covers the critical decision space: metric availability, zone restrictions, time windows, pagination, authentication, and sample-mode behavior. There is no output schema, so a few return-format details (e.g., exact row structure) are left implicit, but the provided context is strong enough for an agent to select and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters and defaults. The description adds meaningful semantics beyond that: which metrics are available in which zones, how limit truncates from the oldest end, and how start/end should be used for pagination. This goes beyond simple field-name repetition.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states what the tool does: returns time series for one metric in one zone over a start/end window. It distinguishes itself from siblings by explicitly mentioning get_latest and get_zone_brief for current values, and it also specifies ordering semantics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use this tool vs alternatives: use get_latest or get_zone_brief for current values, set start close to now for latest N points, paginate with start/end for longer windows, and mentions authentication modes. It gives concrete scenarios and constraints.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_latestLatest values for a zoneA
Read-onlyIdempotent
Inspect

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 ' 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
zoneYesZone 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.
api_keyNoOptional 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).

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations (readOnly, idempotent, non-destructive), it reveals meaningful behavior: some European day-ahead timestamps can be ~36h in the future, outputs include unit/timestamp, and free sample mode truncates data while marking results. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but every sentence earns its place: scope, example use, caveat, alternative tool, authentication, and fallback behavior. It is front-loaded with the core semantics before auth details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only lookup with no output schema, the description covers data scope, timestamps, units, sibling routing, auth modes, and sample-mode behavior. An agent has enough context to call get_latest correctly without additional documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema already covers both parameters fully, including zone enums and api_key guidance, so baseline is 3. The description adds value by explaining how the api_key parameter relates to the preferred Authorization header and what happens without credentials (sample mode, truncation).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description names a specific verb/resource: returns the most recent value of every metric a zone publishes, with concrete examples (price, demand, generation by fuel, carbon intensity). It also differentiates from get_zone_brief by noting it can return day-ahead prices up to ~36h in the future.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states this is the right tool for 'what is the price/demand/carbon intensity in X right now' and tells the agent to use get_zone_brief when a strictly at-or-before-now value with historical context is needed. It also documents authentication requirements and the no-credential fallback mode.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_map_snapshotAll zones right nowA
Read-onlyIdempotent
Inspect

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 ' 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNoOptional 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).

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly and idempotent annotations, the description discloses meaningful behavioral traits: data is 'Rebuilt every ight minutes,' authentication requirements are spelled out, and free sample mode truncation is explained. It also notes that sample results are clearly marked, which is valuable for an agent interpreting output. This significantly exceeds what annotations alone provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core purpose and examples are front-loaded in the first sentence, with freshness and auth details following in a logical order. The auth section is somewhat lengthy, but each detail serves the agent's ability to call the tool correctly. It is organized and not padded, though slightly dense.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one optional parameter and no required inputs, the description covers purpose, freshness, authentication, and sample-mode behavior. Because there is no output schema, 'headline values' is a bit vague about exact returned fields, but the examples hint at price and demand. Overall, an agent has enough context to select and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds meaning by explaining when to use the api_key argument versus the Authorization header and what happens without credentials. This gives an agent practical guidance beyond the schema field description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Current headline values for all 25 zones in one call.' It also gives concrete use examples ('which European zone has the lowest price right now') that make the tool's purpose unmistakable. This clearly distinguishes it from per-zone or historical sibling tools like get_zone_brief and get_history.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use the tool: comparing zones, checking prices, and ranking demand. It calls itself 'the cheapest way to compare zones,' which strongly implies the intended use case. It does not explicitly name sibling alternatives or state when not to use it, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_statusData freshnessA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only, idempotent, non-destructive behavior. The description adds useful context beyond annotations: it returns last successful fetch timestamp and last error if any, scopes results by source and zone, and notes the tool is free.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences deliver the purpose, output contents, cost, and usage context with no wasted words. The key information is front-loaded and immediately actionable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless read-only tool with rich annotations, the description covers what the result contains and when to use it. Nothing essential is missing for an agent to select and invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and the schema fully covers that with an empty properties object. The description adds no parameter details because none are needed, matching the baseline for parameterless tools.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool's purpose: reporting ingestion health per source and zone, including last successful fetch timestamp and last error. This specific resource and result set distinguishes it from sibling tools like get_latest or get_history.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit guidance on when to use the tool: to explain stale or missing values before drawing conclusions. It does not name alternatives or exclusions, but the use case is clear enough for an agent to decide appropriately.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_zone_briefZone brief (current state in context)A
Read-onlyIdempotent
Inspect

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 ' 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
zoneYesZone 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.
api_keyNoOptional 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).

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered and the description carries a lower burden. It adds useful non-obvious behavior: data is 'strictly at-or-before now', the context window is the zone's own last ~30 days, and crucially, the free sample-mode behavior (truncated history at 50 rows, brief returning one context block, results clearly marked). Auth requirements (Bearer header vs X-PAYMENT) are also disclosed. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but every sentence earns its place: purpose is front-loaded, then usage guidance, then auth/sample-mode details. The auth portion is dense and could arguably be split out, but it is actionable and not redundant. For the complexity of the tool it is appropriately sized and not padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the return-value burden, and it does so in solid detail: it names the metrics, the ranking statistics (percentile, vs-median %, min/max, sample count, data window), the per-metric 24h trend, the generation mix (scoped to where published), and the summary sentence. The sample-mode truncation is explained. Minor gaps — the phrase 'brief returns one context block' is vague about what a truncated brief looks like — but coverage is strong for a composite read tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters thoroughly — zone's enum with regional groupings and api_key's purpose. The description adds marginal value by weaving the api_key story into the broader auth section (header vs argument vs sample mode), but it does not substantially enrich parameter semantics beyond what the schema states. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific, weighted verb-noun pair — 'Composite, interpretation-ready snapshot of one zone' — and enumerates the exact contents (price/demand/carbon intensity ranked against the zone's last ~30 days, 24h trend, generation mix, one-sentence summary). This clearly distinguishes it from siblings like get_latest (raw values) and get_history (historical series), and the title 'current state in context' reinforces the differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit, quotable use cases: 'Best tool for questions like "is electricity cheap/clean in X right now" or "is this a good time to run a flexible workload"', which tells an agent when to reach for this tool. It also implies contrast with raw-data paths ('A raw price means little without this context'), implying get_latest for bare values. It does not name sibling alternatives explicitly or spell out when-not-to-use, but the context is clear enough for routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_zonesList zonesA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover safety (readOnlyHint, idempotentHint, non-destructive), so the description's added value is the auth/access disclosure: 'Free, no credentials needed.' It also reveals the fixed and finite nature of the result set ('25 zones'), which is behavioral context beyond the structured annotations. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each earning its place: the first delivers the core function and output contract, the second the access requirement, the third the usage routing. Information is front-loaded and there is zero filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description must explain return values — and it does, enumerating the exact fields an agent will receive (id, name, data source, timezone, currency, licence, attribution). Combined with annotations covering the safety profile and zero parameters, nothing an agent needs to call this tool correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the baseline of 4 applies and the description carries no parameter documentation burden. The 'no credentials needed' statement further clarifies that no hidden inputs are required, which reinforces the empty-schema signal.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('List'), a resource ('electricity grid zones'), and a concrete scope ('the 25 ... zones GridHub covers'), then enumerates the returned fields (id, name, data source, timezone, currency, licence, attribution). The enumeration of returned fields clearly differentiates it from siblings like get_zone_brief and get_history, which operate on a specific zone or dataset.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use guidance: 'Call this first if you are unsure which zone id to use.' This tells the agent this is the discovery/enumeration tool and the natural entry point before zone-specific siblings. It doesn't name specific alternatives or exclusions, but the routing signal is clear and actionable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 6 tool updatesv0.1.0
    • First observedget_history
    • First observedget_latest
    • First observedget_map_snapshot
    • First observedget_status
    • First observedget_zone_brief
    • First observedlist_zones

TDQS

A4.4/5.0
Disambiguation4/5

The tools are mostly distinct: list_zones covers metadata, get_map_snapshot covers cross-zone current values, get_status covers health, get_history covers time series, and get_zone_brief adds interpretation. get_latest and get_zone_brief both address current conditions, but the descriptions clearly differentiate raw latest values from contextual at-or-before-now snapshots.

Naming Consistency5/5

All tool names follow a clear list_/ get_ verb pattern with a descriptive object, such as list_zones, get_status, and get_history. There is no mixed casing or inconsistent verb style, making the set predictable and easy to navigate.

Tool Count5/5

Six tools is a well-scoped size for a read-only electricity grid data server. Each tool covers a distinct need: discovery, health, raw latest values, interpreted snapshot, history, and cross-zone comparison, so no tool feels redundant or extraneous.

Completeness5/5

The set covers the full read-only data lifecycle for this domain: zone metadata, ingestion health, current raw values, contextual interpretation, historical series, and multi-zone comparison. There are no obvious dead ends or missing operations that would block an agent from answering common questions about grid data.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP server for real-time electricity prices, carbon intensity, and energy analytics across 41+ zones in Europe, Great Britain, the United States, and Australia. Query live prices, compare zones, check gas storage levels, get green scores, find optimal charging windows, and access advanced analytics. Free Basic tier requires no API key. Install via npx gridpulse-mcp or connect directly via Streamab
    -
  • A
    license
    A
    quality
    D
    maintenance
    Provides real-time electricity grid data including CO2 intensity, power mix, and wholesale prices, plus optimal green time windows for energy-intensive AI tasks. Supports UK, Germany, and global regions with optional API keys.
    9
    MIT
  • A
    license
    B
    quality
    A
    maintenance
    Provides real-time European and GB electricity grid data via MCP, including generation, prices, carbon intensity, and grid infrastructure.
    44
    48
    6
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables access to European electricity data including day-ahead prices, probabilistic forecasts, carbon intensity, and cheapest-window optimization for 43 bidding zones.
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jalcodev/gridhub-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server