MCPVault

eia_browse_routes

MCP tool from Eia Energy MCP Server by cyanheads

Lists child routes under a given path in the EIA dataset taxonomy. Start at root to see top-level categories, then drill into subcategories and leaf routes.

How to use it

eia_browse_routes is exposed by the Eia Energy MCP Server MCP server. Add the server to your MCP client (Claude Desktop, Cursor, Windsurf and others), and the eia_browse_routes tool becomes available to the model automatically. See the full listing for setup details and every tool this server provides.

FULL EIA ENERGY MCP SERVER LISTING

Other tools in Eia Energy MCP Server (9)

eia_dataframe_describe

Lists active DataCanvas dataframes created by prior eiaqueryroute calls that passed stage: true. Only exposed when a canvas is configured. Shows table name, column names and types, row count, expiry, and the query that produced it. A handle that is not staged comes back as a miss alongside the handl

eia_dataframe_drop

Drops a DataCanvas dataframe, freeing its memory. Only exposed when a canvas is configured and EIADATAFRAMEDROPENABLED=true.

eia_dataframe_query

Runs a read-only SQL SELECT across DataCanvas dataframes, referenced by their df<id> table names. Only exposed when a canvas is configured.

eia_describe_route

Returns metadata for a leaf route: available facets with valid values, data column names, frequency options, units, and date range. Call before eiaqueryroute to understand filter options. Facet values come back capped, with facet and valuesoffset to page one facet.

eia_query_route

Fetches data from a leaf route with optional facet filters, date range, frequency, and column selection. Returns a preview; pass stage: true to also page past it and stage the matching rows as a DataCanvas table for SQL analysis.

eia_search_routes

Fuzzy text search across route names, descriptions, category labels, STEO series names, and facet values. Resolves natural-language queries like "electricity retail sales by state" or a fuel type like "wind" to matching route paths.

indexComplete

reports whether the answer was ranked against the whole corpus; when it is false, indexGaps names the routes and index passes that are missing, so a short result set is never mistaken for a settled one

score

runs 0 (exact) to 1 (no match), lower is better; above 0.72 the match is unreliable and the query is worth narrowing. bun run eval:search scores a labelled query battery against a live corpus, which is where that number comes from

values_offset

applies to every facet in the response. One past a facet's last value empties that facet's window and returns a notice naming the facet and its valuecount, so an overshoot never reads like a fully enumerated facet