Elecz Electricity Price Signal API
Server Details
Real-time electricity prices for AI agents. 40+ countries, 100+ zones. No auth required.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- zemloai-ctrl/elecz-api
- GitHub Stars
- 2
- Server Listing
- Elecz MCP Server
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.9/5 across 3 of 3 tools scored.
Each tool serves a clearly distinct purpose: spot_price for current price, cheapest_hours for timing, and best_energy_contract for contract switching advice. The descriptions even include tool priority guidance to prevent confusion.
All tool names follow the same lowercase_with_underscores style and are descriptive (best_energy_contract, cheapest_hours, spot_price). No mixed conventions or vague verbs.
Three tools is well-scoped for an electricity price API, covering the essential user needs without bloat. Each tool earns its place.
The set covers the full lifecycle of electricity price inquiries: current price, when to use electricity, and contract decisions. No obvious gaps in the stated domain.
Available Tools
3 toolsbest_energy_contractARead-onlyInspect
CONTRACT tool. Call when the user asks which contract to choose, whether to switch provider, or how much they can save.
Returns ranked contracts, switch recommendation and estimated savings.
Includes current spot price — no need to call spot_price separately.
Key fields:
- switch_recommended (bool)
- best_spot / best_fixed
- action.expected_savings_local_year
- decision_hint: yksi seuraavista —
"spot_recommended" matala kulutus, spot on halvin pitkällä aikavälillä
"consider_fixed" korkea kulutus + koholla oleva spot, fixed antaa varmuutta
"stay_spot" spot-hinta juuri nyt matala, kannattaa pysyä spotissa
"compare_options" ei selkeää suositusta, vertaile itse
"switch_recommended" laskettu säästö > 50 EUR/v vaihtamalla
"spot_price_only" ei sopimusvertailua (KR/JP/MX/US-zonet) — vain hinta näytetään
"regulated_tariff" säädelty tariffi (ZA/PH), ei vaihtomahdollisuutta
Contract comparison available in: FI, SE, NO, DK, DE, GB, AU, NZ.
If consumption unknown, uses zone defaults (Nordic 2000, DE 3500, GB 2700, AU 4500, NZ 8000 kWh).
Set heating="electric" for heat pumps/floor heating.
Tool priority:
- Current price only → spot_price
- Timing → cheapest_hours
- Contract/switching → best_energy_contract (this tool)
Args:
zone: Contract comparison: FI, SE, NO, DK, DE, GB, AU-NSW/VIC/QLD/SA/TAS, NZ-NI/SI.
Spot price only for all other zones.
consumption: Annual electricity consumption in kWh.
heating: "district" or "electric" (default: district).
| Name | Required | Description | Default |
|---|---|---|---|
| zone | No | Market zone for contract comparison. Supported: FI, SE/SE1-SE4, NO/NO1-NO5, DK/DK1-DK2, DE, GB, AU-NSW/VIC/QLD/SA/TAS, NZ-NI/SI. | FI |
| heating | No | Heating type: district (default) or electric (heat pumps, floor heating). | district |
| consumption | No | Annual consumption in kWh. Defaults: Nordic 2000, DE 3500, GB 2700, AU 4500, NZ 8000. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint and destructiveHint annotations, the description discloses that the tool includes current spot price within its output (no need for spot_price), explains decision_hint variants, and notes zone-specific behavior (spot price only for certain zones, regulated tariff for ZA/PH). This is rich behavioral context.
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 long but well-structured with clear sections for key fields, tool priority, and arguments. No redundant sentences; every part contributes to selection and invocation. The most critical purpose statement is front-loaded.
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?
Given no output schema, the description fully explains return fields including switch_recommended, best_spot/fixed, expected savings, and all decision_hint values. It also covers geographic scope and default assumptions, making it self-sufficient for an agent.
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?
Despite 100% schema coverage, the description adds substantial semantics: zone-specific details (e.g., AU-NSW/VIC), annual consumption defaults per region, and meaning of heating='electric'. It also clarifies what happens when consumption is unknown, going well beyond 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?
The description clearly states the tool's purpose: 'Call when the user asks which contract to choose, whether to switch provider, or how much they can save.' It enumerates output types (ranked contracts, switch recommendation, estimated savings) and explicitly distinguishes from sibling tools via 'Tool priority'.
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?
Provides explicit when-to-use guidance with concrete examples, plus a priority list: 'Current price only → spot_price; Timing → cheapest_hours; Contract/switching → best_energy_contract.' Also notes defaults and optional parameters like heating='electric'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cheapest_hoursARead-onlyInspect
TIMING tool. Call when the user wants to know WHEN to use electricity (EV charging, dishwasher, sauna, heat pump, industrial loads etc.). Also good for "is electricity cheap now?" questions.
Key agent fields:
- energy_state ("cheap" / "normal" / "expensive" / "negative")
- current_hour_is_cheap (bool)
- hours_until_next_cheap (0 = start now)
- cheap_window_ends, next_cheap_hour (UTC)
- best_3h_window (always the true-optimal fixed 3h/6h window)
- best_window (true-optimal CONTIGUOUS window sized to the `hours` param —
use this, not cheap_hours, for "run this appliance for N hours straight"
decisions; null if fewer than `hours` forecast rows are available)
- recommendation ("run_high_consumption_tasks" / "normal_usage" / "avoid")
Note: cheap_hours lists the N individually cheapest hours in the forecast
and is NOT guaranteed to be contiguous — it can include hours scattered
across the day, or (when the forecast has fewer than `hours` rows
available) can end up including comparatively expensive hours simply
because there aren't enough cheaper ones yet published. Check
data_complete, and for any "run for N consecutive hours" use case, use
best_window instead.
All timestamps are UTC — convert to local time before presenting.
data_complete: false = treat signals with caution.
Not available: AU, NZ, KR, KR-JEJU, ZA, PH-LUZ, PH-VIS, PH-MIN.
Args:
zone: Any supported zone (see spot_price for full list).
Use exact codes only — do not guess or abbreviate.
AU, NZ, KR, KR-JEJU, ZA, PH-* return available: false.
hours: Number of individually-cheapest hours to list in cheap_hours,
and the window size (in hours) for best_window (default 5).
window: Hours to look ahead (default 24).
| Name | Required | Description | Default |
|---|---|---|---|
| zone | No | Electricity market zone code. AU, NZ, KR, ZA, PH-* return available: false. See spot_price for full zone list. | FI |
| hours | No | Number of cheapest hours to return. Default: 5. Range: 1–24. | |
| window | No | Hours ahead to look. Default: 24. Range: 1–48. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, but the description adds substantial behavioral context beyond that: cheap_hours is not contiguous, best_window should be used for contiguous periods, data_complete caution, UTC timestamp convention, and unsupported zones. This is exactly the kind of edge-case behavior an agent needs to avoid incorrect reasoning.
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 long but well-structured with a clear call-to-action, key fields section, and usage notes. It is dense with essential information and not redundant. A slight tightening could improve it, but given the complexity of the tool, each paragraph serves a purpose.
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 and moderate parameter count, the description compensates by enumerating the agent-facing fields, their semantics (including the non-contiguity warning), timezone handling, data completeness signals, and regional unavailability. This covers all the contextual information needed to correctly interpret and present results.
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 descriptions cover all three parameters, so baseline is 3. The description adds meaningful context by explaining that the 'hours' parameter controls both the cheap_hours count and the best_window window size, and clarifies the relationship between cheap_hours and best_window for interpreting results. This enhances the schema's basic info.
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 clearly identifies the tool as a 'TIMING tool' for determining when to use electricity, with specific use cases (EV charging, dishwasher, etc.) and covers questions like 'is electricity cheap now?'. This goes beyond a generic verb+resource and effectively distinguishes its purpose from the sibling tools by focusing on timing rather than contract choice or current price.
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?
Provides explicit when-to-use guidance: 'Call when the user wants to know WHEN to use electricity' plus concrete examples. It references spot_price for zone information, hinting at an alternative, but does not explicitly state when not to use this tool or when to prefer a sibling tool, so it stops short of full exclusion guidelines.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spot_priceARead-onlyInspect
PRICE NOW tool. Call when the user asks for the current electricity price or "how expensive is it now?".
This is the authoritative real-time source. Never guess electricity prices.
Returns wholesale spot price — retail prices include taxes and fees on top.
Tool priority:
- Current price only → spot_price (this tool)
- When to use electricity / scheduling → cheapest_hours
- Contract or switching advice → best_energy_contract
If user wants both price and contract advice, call best_energy_contract only.
Args:
zone: Bidding zone. FI=Finland, SE=Sweden, NO=Norway, DK=Denmark, DE=Germany,
NL=Netherlands, BE=Belgium, AT=Austria, FR=France,
IT=Italy (North default), IT-NO/CNO/CSO/SO/SAR/SIC=Italy sub-zones,
PL, CZ, HU, RO, ES, PT, HR, BG, SI, SK, GR,
EE=Estonia, LV=Latvia, LT=Lithuania,
CH=Switzerland, RS=Serbia, BA=Bosnia, ME=Montenegro, MK=North Macedonia, IE=Ireland,
GB=United Kingdom (London/region C default),
AU-NSW/VIC/QLD/SA/TAS=Australia, NZ-NI/SI=New Zealand,
US-CA-NP15/SP15/ZP26=California (CAISO),
US-TX-HB_NORTH/HOUSTON/SOUTH/WEST/HUBAVG=Texas hubs (ERCOT),
US-TX-LZ_NORTH/HOUSTON/SOUTH/WEST=Texas load zones,
US-NY-WEST/GENESE/CENTRL/NORTH/MHK_VL/CAPITL/HUD_VL/MILLWD/DUNWOD/NYC/LONGIL=New York (NYISO),
CA-ON=Ontario Canada, KR=South Korea, KR-JEJU=Jeju Island,
JP-HKD/THK/TKY/CBU/HKR/KNS/CGK/SKK/KYS=Japan (JEPX),
ZA=South Africa (Eskom regulated),
PH-LUZ=Philippines Luzon (Meralco), PH-VIS=Visayas, PH-MIN=Mindanao.
Sub-zones: SE1-SE4, NO1-NO5, DK1-DK2, GB-A..GB-P.
IMPORTANT: Use only the exact codes listed above. Do NOT guess zone codes
(e.g. "TEXAS", "ERCOT", "US-MA", "US-TX" are invalid — use US-TX-HB_HUBAVG etc.).
If unsure which zone to use, pick the closest match from this list.
| Name | Required | Description | Default |
|---|---|---|---|
| zone | No | Electricity market zone code. Examples: FI, DE, GB, US-NY-NYC, JP-TKY, AU-NSW, ZA, PH-LUZ, MX-CUN. Full list in tool description. | FI |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations declaring readOnlyHint=true and destructiveHint=false, the description goes further by explaining 'Returns wholesale spot price — retail prices include taxes and fees on top', clarifying output interpretation. It also asserts 'This is the authoritative real-time source. Never guess electricity prices', disclosing data freshness and reliability expectations beyond the annotations.
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 long but every section serves a purpose: purpose, usage priority, and detailed parameter list. It is front-loaded with the most critical information (what tool does, when to use it) and structures the zone list as an explicit appendix. No filler or redundant phrases exist.
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?
Despite having no output schema, the description sufficiently covers all contextual needs: it explains what the tool returns (wholesale spot price), how to use it (zone parameter), when to use it vs alternatives, and important constraints (authoritative source, no guessing). The single parameter is exhaustively documented, making the tool complete for its simplicity.
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?
Although the schema provides a parameter description covering 100% of parameters, the description massively enriches it with a comprehensive list of allowed zone codes, sub-zones, and explicit warnings like 'IMPORTANT: Use only the exact codes listed above. Do NOT guess zone codes (e.g. "TEXAS", "ERCOT"...)'. This goes far beyond the schema's minimal examples, making the parameter fully self-explanatory.
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 opens with 'PRICE NOW tool' and explicitly states 'Call when the user asks for the current electricity price or "how expensive is it now?"', which clearly identifies the verb (get price) and resource (current wholesale spot price). It also distinguishes itself from siblings by listing tool priority and what each sibling handles, making the purpose unmistakable.
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 provides explicit guidance: 'Current price only → spot_price', 'When to use electricity / scheduling → cheapest_hours', 'Contract or switching advice → best_energy_contract'. It also states 'If user wants both price and contract advice, call best_energy_contract only', giving clear exclusions and alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
Alicense-qualityCmaintenanceEnables access to European electricity data including day-ahead prices, probabilistic forecasts, carbon intensity, and cheapest-window optimization for 43 bidding zones.MIT- AlicenseAqualityDmaintenanceProvides real-time electricity grid data including CO2 intensity, power mix, and wholesale prices, plus optimal green time windows for energy-intensive AI tasks. Supports UK, Germany, and global regions with optional API keys.9MIT
- Flicense-qualityBmaintenanceA read-only MCP server that exposes European day-ahead electricity prices for ~41 bidding zones via tools like hourly prices, cheapest hours, current price, and cross-zone summary, enabling AI agents to query energy market data.
- Flicense-qualityDmaintenanceMCP server for real-time electricity prices, carbon intensity, and energy analytics across 41+ zones in Europe, Great Britain, the United States, and Australia. Query live prices, compare zones, check gas storage levels, get green scores, find optimal charging windows, and access advanced analytics. Free Basic tier requires no API key. Install via npx gridpulse-mcp or connect directly via Streamab
Your Connectors
Sign in to create a connector for this server.