Skip to main content
Glama
jalcodev

gridhub-mcp

Server Quality Checklist

83%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.1.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.

  • Average 4.5/5 across 6 of 6 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 6 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • This repository includes a glama.json configuration file.

  • This server has been verified by its author.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

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

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

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

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

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

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

gridhub-mcp MCP server

Copy to your README.md:

Score Badge

gridhub-mcp MCP server

Copy to your README.md:

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