Average Electric Bill
Server Details
Is a U.S. electric bill normal? Compare kWh and rates with similar homes, by state and utility.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 3 tools
Each tool targets a distinct granularity: household comparison (check_electric_bill), a named utility lookup (find_utility_rate), and state/aggregate statistics (get_state_electricity_stats). There is mild overlap in that all three surface average price-per-kWh figures, so an agent could hesitate between find_utility_rate and get_state_electricity_stats when it just wants a rate, but the input shapes (utility name vs. state) make the boundary clear enough.
All three follow a clean verb_noun snake_case pattern: check_electric_bill, find_utility_rate, get_state_electricity_stats. The verbs (check/find/get) are distinct and each noun phrase names the resource and scope unambiguously.
Three tools is on the lean side but each covers a genuinely different scope (household, utility, state) and earns its place in a narrow domain. It sits at the low end of the healthy 3-15 range rather than feeling padded or truncated.
The surface covers the core lifecycle for this domain: compare a household, look up a specific utility's rate, and pull state/U.S. aggregates (with the omit-state convenience returning all 50 states). The main gap is discovery — there is no way to find which utility serves a given area without already knowing its name, and no historical trend per utility, but agents can work around this via the state-level tool.
Available Tools
3 toolscheck_electric_billCheck if an electric bill is normalARead-onlyIdempotentInspect
Compare one U.S. household's monthly electricity use and price with similar homes (same state climate, home size, household size, and month). Returns the usage percentile, the typical kWh range, the rate vs. the state or utility average, the dollar gap to a typical home, the estimated share going to air conditioning or heating that month, and likely causes. Data: U.S. EIA monthly retail sales, EIA Form 861, and the EIA Residential Energy Consumption Survey (RECS). Statistical comparison, not a bill audit.
| Name | Required | Description | Default |
|---|---|---|---|
| kwh | Yes | kWh used on this bill (one month). | |
| month | No | Month the bill covers (1-12). Optional but recommended: use varies a lot by season. | |
| state | Yes | U.S. state or D.C.: two-letter code (TX) or name (Texas). | |
| utility | No | Electric utility or retail provider name. Optional; compares the rate with that utility's average. | |
| amount_due | No | Total amount on the bill in USD. Optional; enables the rate comparison. | |
| home_size_sqft | Yes | Home size in square feet, e.g. 1800. | |
| household_size | Yes | Number of people living in the home. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and closed-world, so the safety profile is covered; the description adds substantial context beyond that by listing every output metric and citing the underlying datasets (EIA retail sales, Form 861, RECS). The 'not a bill audit' caveat usefully sets accuracy expectations. It does not state how missing optional inputs change the response, which is the remaining gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core comparison and its dimensions, followed by the return-value list, data provenance, and a scope caveat. Dense but each clause carries information; the dataset enumeration is useful for trust but is the least essential element.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly compensates by enumerating the returned fields (percentile, typical kWh range, rate vs. average, dollar gap, HVAC share, likely causes). Combined with the stated inputs, data sources, and accuracy caveat, an agent has everything needed to decide and call correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter's meaning and format (state code or name, 1-12 month range, sqft example, household size bounds) is already documented in the schema. The description adds no syntax or interpretation guidance beyond it, which is the expected baseline when the schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific action (compare one household's monthly use and price against similar homes) and enumerates the comparison dimensions (state climate, home size, household size, month) plus the returned metrics. It is unmistakably a comparative-analysis tool rather than a raw lookup, though it never names find_utility_rate or get_state_electricity_stats to draw the boundary explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The opening sentence establishes the exact usage context (one U.S. household, one month) and the optional parameters' conditions are noted (month 'recommended' because of seasonality, utility for rate comparison, amount_due to enable it). The closing 'Statistical comparison, not a bill audit' sets a clear when-not boundary, but alternatives among the siblings are never mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_utility_rateLook up an electric utility's average rateARead-onlyIdempotentInspect
Search U.S. electric utilities and retail providers by name or initials (e.g. 'PG&E', 'Oncor', 'Duke Energy') and return each one's average residential price per kWh and customer count from EIA Form 861. These are what residential customers paid on average over the year, not current plan offers.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Utility name or initials. | |
| state | No | Optional: limit to one state (code or name). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and openWorldHint=false, so the safety profile is covered. The description adds real value beyond that: the data source (EIA Form 861) and the vintage semantics (annual average paid, not current plan offers), which prevents misreading the number as a live tariff.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler. The search scope and return fields come first, with the important caveat about annual averages front-loaded at the end where it will be read before calling.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description carries the return-value burden and does so by naming both returned fields and the source dataset. It stops short of explaining behavior on partial or multiple matches, which is the main remaining gap for a name-search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description earns a bump by giving concrete query examples ('PG&E', 'Oncor', 'Duke Energy') that demonstrate the initials/fuzzy-name matching the schema only vaguely labels as 'Utility name or initials'. The optional state parameter is left entirely to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (search U.S. electric utilities and retail providers) and specifies exactly what comes back: average residential price per kWh and customer count. It implicitly separates itself from check_electric_bill and get_state_electricity_stats by being a per-utility lookup, but never names those siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The line 'These are what residential customers paid on average over the year, not current plan offers' gives a clear when-to-use and when-not-to-use boundary for this lookup. It does not, however, route the agent to check_electric_bill or get_state_electricity_stats when those are the better fit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_state_electricity_statsAverage electricity rate and bill by stateARead-onlyIdempotentInspect
Average residential electricity price (cents per kWh), monthly use, monthly bill, and 1- and 5-year price change for a U.S. state, D.C., or the U.S. overall, over the latest 12 months of EIA data. Omit state to get all 50 states and D.C., sorted by price.
| Name | Required | Description | Default |
|---|---|---|---|
| state | No | Two-letter code, state name, or 'US'. Omit for every state. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish that this is a read-only, idempotent, closed-world operation. The description adds meaningful behavioral context beyond that: the data source is EIA, the window is the latest 12 months, and omitting state returns all states sorted by price. It does not discuss response shape, but the listed metrics make the return content clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the returned metrics and followed by the key omission behavior. Every phrase contributes useful context without repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter retrieval tool with full schema coverage and no output schema, the description is complete: it lists the metrics returned, the geographic scope, the EIA data window, and the behavior when state is omitted. An agent has enough information to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single state parameter is already documented as accepting a two-letter code, state name, or 'US'. The description adds value by clarifying that omission returns all 50 states and D.C., and that those results are sorted by price.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource and outputs: average residential electricity price, monthly use, monthly bill, and 1- and 5-year price changes for a state, D.C., or the U.S. overall. It is clear what the tool returns, but it does not explicitly differentiate itself from siblings such as check_electric_bill or find_utility_rate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives useful operational guidance for the optional state parameter: omit it to retrieve all 50 states and D.C. sorted by price. However, it does not explain when to use this tool versus the sibling tools check_electric_bill or find_utility_rate, so selection guidance remains implicit.
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.
3 tool updates
- First observed
check_electric_bill - First observed
find_utility_rate - First observed
get_state_electricity_stats
Related MCP Connectors
Real annual cost for every Texas electricity plan, from each retailer's Electricity Facts Label.
Texas electricity plans by real annual cost, plus EIA/ERCOT grid and mobile-phone data (26 tools).
Live US retail electricity plans, utility price-to-compare rates, ZIP-to-utility lookup. Read-only.
Live U.S. electric-grid data, forecasts, alerts, and analysis across major grid regions.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables users to look up US residential electricity utilities and plans by ZIP code and usage, then estimate annual bills and rank plans by cost from published tariff data.MIT
- AlicenseNot gradedqualityCmaintenanceProvides electricity tariff queries and rate calculations for US utilities, enabling cost estimation and optimal charging schedules.1Apache 2.0
- AlicenseNot gradedqualityCmaintenanceEnables searching and retrieving US electricity tariff data from NREL's OpenEI Utility Rate Database, including rate schedules, charges, and utility information for locations.2 npmMIT
- FlicenseNot gradedqualityBmaintenanceEnables exact residential electricity rates and itemized bills for Salt River Project, computed from filed tariffs with citations, via tools for listing plans, getting rates, and calculating bills.-
Glama MCP Gateway
Add one secure layer between your agents and this server.