Next free-source huntWe check for new free data every weekday.
EnergyWeatherMCP serverFirst audited Nov 13, 2026

io.github.cyanheads/eia-energy-mcp-server

Browse and query the EIA API v2 — electricity, petroleum, natural gas, coal, forecasts via MCP.The vendor's description, from its MCP Registry listing.

Passed public checksAudited Nov 13, 2026

Every public check ran and passed. Public audit: we connect as an AI client would, list the tools and check what they say. We do not run them. How we audit

Does it work?
YesConnected in 368 ms.
Sign-up?
None neededIt answered without any account or key.
Can it change things?
No, read-onlyAll 6 tools say they only read.
Endpointhttps://eia-energy.caseyjhand.com/mcp

Source code Streamable HTTP · protocol 2025-11-25 · server version 0.5.1

What we checked, the evidence, and the tools it offers.

What we checked

Security

  • Passed: Connections are encrypted (HTTPS).

  • Passed: No hidden instructions found in tool text.

Safety labels

  • Passed: Every tool says whether it only reads or can change things.

Tools

  • Passed: 6 tools listed.

  • Passed: Every tool describes its inputs with a valid schema.

Protocol

  • Passed: The MCP handshake works (Streamable HTTP).

  • Passed: Protocol version 2025-11-25 (latest).

  • Passed: Unknown requests are refused.

Connection

  • Passed: The server responds.

Tools (6)

As the server describes them. The labels are the server's own: it says whether each tool only reads or can change things.

  • eia_browse_routesLists child routes under a given path in the EIA dataset taxonomy. Start with no path to get the 14 top-level categories (electricity, petroleum, natural-gas, steo, aeo, ieo, seds, etc.), then drill…Read-only
  • eia_describe_routeReturns metadata for a leaf route: available facets with their valid values, data column names and units, frequency options, and date range. Call this before eia_query_route to discover valid facet I…Read-only
  • eia_search_routesFuzzy text search across route names, descriptions, category labels, and the names of the data columns a route publishes. Resolves natural-language queries like "electricity retail sales by state" or…Read-only
  • eia_query_routeFetches data from a leaf route with optional facet filters, date range, frequency, and column selection. Use eia_describe_route first to discover valid facet IDs, facet values, column IDs, and freque…Read-only
  • eia_dataframe_describeList canvas dataframes (df_<id>) materialized by eia_query_route calls that passed stage: true, with provenance, expiry, row count, and column schema. Nothing is staged until such a call runs, so an…Read-only
  • eia_dataframe_queryRun a single-statement SELECT against canvas dataframes registered by eia_query_route calls that passed stage: true — a query that staged nothing leaves no table to select from. Standard DuckDB SQL —…Read-only

Audit history

  1. Nov 13Passed

What we sent

Every request in this audit, with the answer and how long it took. We never send credentials and never call a tool.

RequestAnswerTime
initializeHTTP 200368 ms
initializedHTTP 202266 ms
tools/listHTTP 200126 ms
resources/listHTTP 200109 ms
prompts/listHTTP 200114 ms
unknown-methodHTTP 20097 ms

Run this server, or disagree with the result?

Fix the issue and it shows in the next weekly audit, or email us to ask for a re-audit or to dispute a finding. Read how we audit for what each check means.