Skip to main content
Glama

FindEnergyRates Electricity Rates

Server Details

Live US retail electricity plans, utility price-to-compare rates, ZIP-to-utility lookup. Read-only.

Ownership verified
Status
Healthy
Uptime
99.3% over 21 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.3/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: one retrieves a benchmark rate, one resolves ZIP codes to utilities, and one searches plans. There is no overlap or ambiguity between them.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern: get_ptc_rates, get_utility_by_zip, search_plans. The verbs and nouns are clear and predictable.

Tool Count4/5

Three tools is on the lean side, but each covers a distinct and necessary step in the electricity-rate lookup workflow: identify utility, get benchmark, search plans. It feels appropriately scoped for a focused domain.

Completeness4/5

The core workflow is covered: ZIP-to-utility resolution, PTC benchmark retrieval, and plan search. Minor gaps exist, such as no historical rate lookup or plan detail endpoint, but the stated purpose is well served.

Available Tools

3 tools
get_ptc_ratesA
Read-onlyIdempotent
Inspect

Current utility price-to-compare (PTC) / default-service rate — the benchmark a competitive supplier offer is measured against. Supply state, utility, or both; at least one is required. Returns the current rate only. Historical PTC is not available through this tool and must not be inferred from it.

ParametersJSON Schema
NameRequiredDescriptionDefault
stateNoTwo-letter state code, e.g. 'PA'.
utilityNoUtility name, full or partial — 'Eversource' matches 'Eversource - NSTAR' and 'Eversource - WMECO'.

TDQS

A4.1/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, so the bar is lower; the description still adds real scope information by disclosing the at-least-one-parameter constraint and the 'current rate only / no historical' limitation. It does not describe response shape or multi-match behavior when utility is partial.

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: definition first, input constraint second, scope limitation third. No filler and nothing buried.

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 does some work by saying only the current rate is returned, and it covers the input requirement. It leaves open what comes back if utility matches multiple entries or if both state and utility are supplied, which is a modest gap for a lookup tool.

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 baseline is 3, but the description adds meaning beyond the schema: the schema lists no required parameters (required: 0), while the description correctly states at least one of state/utility must be supplied. That is genuine additive semantics, though the partial-match behavior of utility is already covered by the schema.

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

Purpose4/5

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

States a specific resource — the current utility price-to-compare (PTC) / default-service rate — and even defines what the benchmark means, so an agent knows exactly what it retrieves. It does not differentiate itself from siblings get_utility_by_zip or search_plans, which keeps it short of a 5.

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?

Explicitly states the input requirement ('supply state, utility, or both; at least one is required') and an exclusion ('historical PTC is not available... must not be inferred'). It stops short of naming the alternative sibling tools to use instead, so it is clear context without explicit routing.

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

get_utility_by_zipA
Read-onlyIdempotent
Inspect

Resolve a 5-digit US ZIP code to the electric utility and, in Texas, the TDSP (wires company) serving it. A ZIP can legitimately map to MORE THAN ONE TDSP — all matches are returned and you must present all of them rather than picking one.

ParametersJSON Schema
NameRequiredDescriptionDefault
zipYes5-digit US ZIP code, e.g. '75028'.

TDQS

A4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), so the bar is lower. The description adds genuinely non-obvious behavior: a ZIP can map to multiple TDSPs, all matches are returned, and the agent must surface all rather than pick one — a result-cardinality trait not derivable from 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?

Two sentences, zero filler, and the core resolution behavior is front-loaded before the multi-match caveat. Every clause earns its place.

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 return-value burden, and it does explain that the electric utility (and Texas TDSP) matches are returned. It does not specify any other fields in the response, but for a single-parameter resolver this is nearly complete.

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% with one parameter, so the schema already documents the 5-digit format and example. The description's mention of '5-digit US ZIP' restates rather than extends the schema, so baseline 3 applies.

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?

Names a specific verb (resolve) and resource (ZIP code → electric utility/TDSP) with clear scope, including the Texas-specific TDSP concept. The purpose is unmistakably distinct from siblings get_ptc_rates and search_plans, which deal with rates and plan search rather than geographic utility resolution.

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

Usage Guidelines3/5

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

The use case (have a ZIP, need the serving utility) is implied clearly, but the description never states when to reach for this versus the sibling tools or any prerequisite ordering. The multi-match instruction is behavioral guidance for handling results, not tool-selection guidance.

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

search_plansA
Read-onlyIdempotent
Inspect

Search live residential electricity plans for one utility in one state, ordered cheapest first. state and utility are both required — this API does not support bulk or unscoped export. Results are limited to plans observed within the last 7 days. Read the status field before summarising: no_data_for_scope means we have no recent data, NOT that the market has no plans. Pass usage_kwh to see each plan's price at the EFL-disclosed usage (500, 1000 or 2000 kWh) nearest it: every plan then reports the anchor used, and results are grouped by that anchor, then cheapest first. The price is the plan's own disclosed figure at that anchor — it is not recalculated for the exact usage.

ParametersJSON Schema
NameRequiredDescriptionDefault
greenNotrue = 100% renewable only; false = 0% renewable only. Plans whose renewable content is unknown are excluded by both settings.
limitNoRows to return, 1-50.
stateYesTwo-letter state code, e.g. 'OH'. Required.
offsetNoRows to skip, for paging.
utilityYesUtility / TDU name exactly as we publish it, e.g. 'AEP Columbus', 'ONCOR', 'PECO Energy'. Required. If unsure, call with a wrong value once — the error lists every utility we hold for that state.
usage_kwhNoMonthly usage in kWh, 100-5000. Optional. Adds pricing_basis, pricing_basis_kwh, rate_at_usage_cents, anchor_distance_kwh, est_monthly_cost_dollars (always null in this version) and anchor_shape to every plan: the disclosed EFL average price at the anchor (500/1000/2000 kWh) nearest this usage, ties to 1000. anchor_shape says how the three disclosed anchors move with usage: flat, falling, rising, v (1000 below both ends, typically a bill credit) or peak; null if any anchor is missing. Plans that disclose no anchor are returned last as 'unpriced'.
term_monthsNoExact contract length in months, e.g. 12.

TDQS

A4.8/5.0
Behavior5/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. The description adds substantial behavioral context beyond that: results are limited to the last 7 days, the `status` field can mean `no_data_for_scope` rather than no plans, pricing is anchored to EFL-disclosed usage (500/1000/2000 kWh) and not recalculated for exact usage, and unpriced plans are returned last. This is rich, non-obvious behavior that an agent needs to interpret results correctly.

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: scope and ordering are front-loaded, then the 7-day window and status caveat, then the optional `usage_kwh` behavior. Every sentence adds information, and the most important constraints (required params, no bulk export) come first. It is longer than the typical description, but the length is justified by the genuinely complex pricing-anchor behavior that would otherwise be a trap for an agent.

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 search tool with 100% schema coverage and no output schema, the description covers everything an agent needs to call it correctly: required scope, result ordering, recency limit, status-field interpretation, and the full semantics of the optional pricing parameter. The sibling tools are different enough (get_ptc_rates, get_utility_by_zip) that no additional differentiation is needed. The only thing not described is the exact output shape, but the absence of an output schema and the detailed field list in the description make that acceptable.

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 7 parameters. The description adds value by explaining the semantics of `usage_kwh` in depth: how the anchor is chosen (nearest of 500/1000/2000, ties to 1000), what fields are added, what `anchor_shape` means, and that `est_monthly_cost_dollars` is always null. It also clarifies the `utility` parameter's exact-match requirement and the error-based discovery trick. The only minor gap is that it doesn't restate every parameter, but the schema already covers them.

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 ('Search'), a precise resource ('live residential electricity plans'), and a clear scope ('for one utility in one state, ordered cheapest first'). It explicitly distinguishes itself from bulk/unscoped export and names the required scope, so an agent can tell it apart from siblings like get_ptc_rates or get_utility_by_zip without opening the schema.

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 explicitly says both `state` and `utility` are required, warns that the API does not support bulk or unscoped export, and explains when to pass `usage_kwh`. It also gives a concrete fallback for an uncertain utility value ('call with a wrong value once — the error lists every utility we hold for that state'). This is clear when-to-use guidance with an alternative strategy.

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.

  1. 1 tool update
    • Changedsearch_plans1 field changed
      • changedInput schema / properties / usage_kwh / description
        Previous value: -"Monthly usage in kWh, 100-5000. Optional. Adds pricing_basis, pricing_basis_kwh, rate_at_usage_cents, anchor_distance_kwh and est_monthly_cost_dollars (always null in this version) to every plan: the disclosed EFL average price at the anchor (500/1000/2000 kWh) nearest this usage, ties to 1000. Plans that disclose no anchor are returned last as 'unpriced'."New value: +"Monthly usage in kWh, 100-5000. Optional. Adds pricing_basis, pricing_basis_kwh, rate_at_usage_cents, anchor_distance_kwh, est_monthly_cost_dollars (always null in this version) and anchor_shape to every plan: the disclosed EFL average price at the anchor (500/1000/2000 kWh) nearest this usage, ties to 1000. anchor_shape says how the three disclosed anchors move with usage: flat, falling, rising, v (1000 below both ends, typically a bill credit) or peak; null if any anchor is missing. Plans that disclose no anchor are returned last as 'unpriced'."
  2. 1 tool update
    • Changedsearch_plans1 field changed
      • addedInput schema / properties / usage_kwh
        Added value: +{
        +  "description": "Monthly usage in kWh, 100-5000. Optional. Adds pricing_basis, pricing_basis_kwh, rate_at_usage_cents, anchor_distance_kwh and est_monthly_cost_dollars (always null in this version) to every plan: the disclosed EFL average price at the anchor (500/1000/2000 kWh) nearest this usage, ties to 1000. Plans that disclose no anchor are returned last as 'unpriced'.",
        +  "maximum": 5000,
        +  "minimum": 100,
        +  "type": "integer"
        +}
  3. 3 tool updates
    • First observedget_ptc_rates
    • First observedget_utility_by_zip
    • First observedsearch_plans

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides electricity tariff queries and rate calculations for US utilities, enabling cost estimation and optimal charging schedules.
    1
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables searching and retrieving US electricity tariff data from NREL's OpenEI Utility Rate Database, including rate schedules, charges, and utility information for locations.
    246 npm
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Live and historical electricity prices, demand, generation mix and carbon intensity for 25 grid zones (US, Europe, GB, Australia). Hosted endpoint plus local stdio bridge; free sample mode, free API key, or x402 pay-per-call.
    6
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides real-time grid carbon intensity, power generation breakdown, and carbon-intensity forecasts for any zone or lat/lon location.
    343 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources