Skip to main content
Glama

query_power_plants

Read-onlyIdempotent

Query unit-level power plants from the Global Energy Monitor — Global Integrated Power Tracker (GIPT). ~127k operating units worldwide spanning coal, oil/gas, nuclear, geothermal, bioenergy, utility-scale solar, wind, and hydropower. Each row carries plant name, fuel type, capacity (MW), status, start year, country, owner. Use for questions like "nuclear plants in France above 1 GW", "coal capacity in India", "operating bioenergy plants in Brazil". Pass include_minor=true to bypass the operating-only filter (e.g. to include proposed/retired). Pass fuel to slice to a single fuel_type. The registry is a bulk-loaded snapshot: every result carries snapshot (load date, age in days, refresh interval); when snapshot.is_stale is true, a snapshot_note says so — state the load date and never describe a unit's status as current.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
fuelNoutility-scale solar | wind | hydropower | geothermal | bioenergy | nuclear | coal | oil/gas
limitNoDefault 50, max 500.
statusNooperating (default) | construction | proposed | retired | cancelled | shelved | mothballed
lat_maxYes
lat_minYes
lon_maxYes
lon_minYes
include_minorNoIf true, drops the default operating-only filter and capacity floor.
min_capacity_mwNoMinimum capacity in MW

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the tool is known to be a safe read operation. The description goes well beyond this by disclosing that the data is a bulk-loaded snapshot with load date, age, and refresh interval, and explicitly instructs the agent to state the load date and never describe a unit's status as current when snapshot.is_stale is true. This is critical behavioral context about data freshness that prevents the agent from making misleading claims. No contradiction with annotations; the description adds significant value.

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 about 150 words, tightly packed with information. It front-loads the purpose, then provides examples, then parameter usage, and ends with the critical snapshot note. Every sentence earns its place; there is no filler or repetition. The structure is logical and easy to scan, with the most important operational detail (the snapshot staleness warning) placed last for emphasis.

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 9 parameters and no output schema, the description covers the essential return data (each row carries the listed fields plus snapshot metadata) and explains the default operating-only filter and how to override it. It doesn't explicitly describe pagination (limit) or the bounding-box requirement, but those are standard and self-explanatory from the schema. The snapshot freshness note is a crucial completeness element that prevents misuse. Minor gaps like the exact behavior of min_capacity_mw or status are covered by the schema, so the description is adequate for an agent to call the tool correctly.

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 56%, meaning several parameters (lat_min, lat_max, lon_min, lon_max, limit, min_capacity_mw) have no descriptions in the schema. The description adds semantics for include_minor and fuel, but those already have descriptions in the schema. It also clarifies the default operating-only filter, which is useful. However, it doesn't explain the bounding box requirement, the limit/max behavior, or the status parameter in detail beyond what the schema offers. The description adds some value but doesn't fully compensate for the 44% of parameters lacking schema descriptions, and it partially duplicates existing schema text.

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 precise verb-object pair ('Query unit-level power plants from the Global Energy Monitor — Global Integrated Power Tracker (GIPT)') and enumerates the exact data fields (plant name, fuel type, capacity, status, start year, country, owner). It includes concrete example questions that distinguish it from the sibling query tools for mines, ports, vessels, etc. This is a clear, unambiguous statement of what the tool does and what data it returns.

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 explicit examples of when to use it ('nuclear plants in France above 1 GW', 'coal capacity in India') and gives direct parameter usage instructions ('Pass include_minor=true to bypass the operating-only filter', 'Pass fuel to slice to a single fuel_type'). While it doesn't explicitly name alternative tools or state when not to use this one, the domain is so distinct from the other query_* siblings that the intended usage is clear. It could have explicitly said 'use this instead of query_mines' but the examples and scope are sufficient.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources