Skip to main content
Glama

Emission Factors

utility_tariff

Get the actual utility-specific electricity rate (not state average) for a US ZIP code or named utility. Returns the current default tariff with effective rate ($/kWh), fixed monthly charge, tier count, TOU indicator, and effective date. Data source: OpenEI URDB (NREL-hosted). Covers ~85% of US utilities. With a ZIP, matches the ZIP's utility by EIA ID. Returns currently-effective tariffs; when URDB has none flagged as default (common for Commercial/Industrial) it returns the most recent ones and says so in warnings, including when the newest available tariff has expired. Does not cover Texas retail electric providers (deregulated market) - use electricity_rate there.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
zipNo5-digit US ZIP code
eiaidNoEIA utility ID (joins with EIA Form 861)
limitNoMax tariffs to return (1-20, default 5)
sectorNoDefault "Residential" (case-insensitive)
utilityNoUtility name (e.g. "Pacific Gas & Electric Co", "Consolidated Edison Co-NY Inc")

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

No annotations exist, so the description carries the full burden and does so: data source (OpenEI URDB, NREL-hosted), ~85% utility coverage, fallback behavior when no tariff is flagged default (returns most recent and flags it in warnings), and expired-tariff warnings. It also enumerates the return fields, which substitutes for the missing output schema.

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?

Front-loaded with the purpose and result shape before the caveats, and every sentence carries distinct information (coverage, source, fallback, exclusion). It is dense and somewhat long, but given the absence of annotations and an output schema the length is largely earned.

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 annotations and no output schema, the description must explain both behavior and returns, and it does: return fields, data provenance, coverage limits, non-default fallback with warnings, and the deregulated-market exclusion. Nothing an agent needs to invoke it correctly appears 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?

Schema coverage is 100%, so baseline is 3. The description adds non-obvious semantics beyond the schema: a ZIP resolves to the ZIP's utility by EIA ID, tying the zip and eiaid parameters together, and clarifying that matches are by utility rather than geography. It leaves sector/limit/utility to the schema, which is acceptable given full coverage.

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 and resource ('Get the actual utility-specific electricity rate') and immediately scopes it ('not state average', 'for a US ZIP code or named utility'). It names the sibling it is not (electricity_rate for Texas deregulated retail) so the agent can route without opening a 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?

Gives an explicit when-not condition ('Does not cover Texas retail electric providers') plus the alternative to use instead (electricity_rate). It also describes the ZIP resolution path (ZIP matched to utility via EIA ID), so the agent knows which input form to prefer.

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.