EIA Energy MCP Server
An MCP server that allows agents to browse, search, and query the U.S. Energy Information Administration (EIA) API v2. It supports retrieving data on electricity, petroleum, natural gas, coal, and forecasts. The server provides tools to list routes, describe facets, search for series, and query time-series data with SQL capabilities via DataCanvas.
Package and access
Local package with source-attributed installation metadata. Koskamo does not execute packages during review.
What you can do with it
- Browse EIA dataset taxonomy routes
- Query time-series energy data with filters
- Search for specific energy series like Henry Hub
- Run SQL queries on staged energy dataframes
Source and maintenance
- Maintenance checked
Packages and installation
Source-provided package data. Koskamo has not executed or live-probed this package.
@cyanheads/eia-energy-mcp-server 0.5.0
{
"version": "0.5.0",
"transport": "stdio",
"identifier": "@cyanheads/eia-energy-mcp-server",
"runtimeHint": "npx",
"registryType": "npm",
"registryBaseUrl": "https://registry.npmjs.org",
"environmentVariables": [
{
"name": "EIA_API_KEY",
"format": "string",
"isRequired": true,
"description": "Free API key from api.eia.gov. Required — all requests use this as the api_key query parameter."
},
{
"name": "EIA_DATASET_TTL_SECONDS",
"format": "string",
"default": "86400",
"description": "Sliding per-dataframe TTL in seconds, extended by every query that references the dataframe. At most 31536000 (365 days)."
},
{
"name": "EIA_DATAFRAME_DROP_ENABLED",
"format": "string",
"default": "false",
"description": "Set to 'true' to expose eia_dataframe_drop for manual canvas cleanup. Has no effect with CANVAS_PROVIDER_TYPE=none."
},
{
"name": "EIA_CANVAS_MAX_ROWS",
"format": "string",
"default": "25000",
"description": "Cumulative row ceiling for eia_query_route DataCanvas staging on a stage: true call. Five requests at EIA's 5000-row-per-request ceiling. At most 250000."
},
{
"name": "EIA_FACET_VALUE_CAP",
"format": "string",
"default": "50",
"description": "Facet values eia_describe_route returns per facet before truncating. Page past it with the tool's facet and values_offset inputs, or narrow a facet with values_query. At most 1000."
},
{
"name": "EIA_CLAMP_LIMITS",
"format": "string",
"default": "true",
"description": "Lower an over-cap eia_query_route length, eia_dataframe_query row_limit or preview, or eia_search_routes limit to its cap with a notice. 'false' advertises and enforces each cap as a schema maximum instead."
},
{
"name": "CANVAS_PROVIDER_TYPE",
"format": "string",
"default": "duckdb",
"description": "DataCanvas provider. 'duckdb', the default, registers eia_dataframe_describe and eia_dataframe_query and lets eia_query_route stage rows when called with stage: true; eia_dataframe_drop also requires EIA_DATAFRAME_DROP_ENABLED=true. 'none' disables DataCanvas."
},
{
"name": "MCP_LOG_LEVEL",
"format": "string",
"default": "info",
"description": "Sets the minimum log level for output (e.g., 'debug', 'info', 'warn')."
}
]
}Tools
Reported by the attributed source; not independently observed by Koskamo.
Connect from your client
Each snippet configures the same source-provided package; replace placeholders before use.
Cursor
{
"mcpServers": {
"eia-energy-mcp-server": {
"command": "npx",
"args": [
"-y",
"@cyanheads/eia-energy-mcp-server@0.5.0"
],
"env": {
"EIA_API_KEY": "<YOUR_EIA_API_KEY>",
"EIA_DATASET_TTL_SECONDS": "<YOUR_EIA_DATASET_TTL_SECONDS>",
"EIA_DATAFRAME_DROP_ENABLED": "<YOUR_EIA_DATAFRAME_DROP_ENABLED>",
"EIA_CANVAS_MAX_ROWS": "<YOUR_EIA_CANVAS_MAX_ROWS>",
"EIA_FACET_VALUE_CAP": "<YOUR_EIA_FACET_VALUE_CAP>",
"EIA_CLAMP_LIMITS": "<YOUR_EIA_CLAMP_LIMITS>",
"CANVAS_PROVIDER_TYPE": "<YOUR_CANVAS_PROVIDER_TYPE>",
"MCP_LOG_LEVEL": "<YOUR_MCP_LOG_LEVEL>"
}
}
}
}Cline
{
"mcpServers": {
"eia-energy-mcp-server": {
"command": "npx",
"args": [
"-y",
"@cyanheads/eia-energy-mcp-server@0.5.0"
],
"env": {
"EIA_API_KEY": "<YOUR_EIA_API_KEY>",
"EIA_DATASET_TTL_SECONDS": "<YOUR_EIA_DATASET_TTL_SECONDS>",
"EIA_DATAFRAME_DROP_ENABLED": "<YOUR_EIA_DATAFRAME_DROP_ENABLED>",
"EIA_CANVAS_MAX_ROWS": "<YOUR_EIA_CANVAS_MAX_ROWS>",
"EIA_FACET_VALUE_CAP": "<YOUR_EIA_FACET_VALUE_CAP>",
"EIA_CLAMP_LIMITS": "<YOUR_EIA_CLAMP_LIMITS>",
"CANVAS_PROVIDER_TYPE": "<YOUR_CANVAS_PROVIDER_TYPE>",
"MCP_LOG_LEVEL": "<YOUR_MCP_LOG_LEVEL>"
}
}
}
}VS Code
{
"servers": {
"eia-energy-mcp-server": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@cyanheads/eia-energy-mcp-server@0.5.0"
],
"env": {
"EIA_API_KEY": "<YOUR_EIA_API_KEY>",
"EIA_DATASET_TTL_SECONDS": "<YOUR_EIA_DATASET_TTL_SECONDS>",
"EIA_DATAFRAME_DROP_ENABLED": "<YOUR_EIA_DATAFRAME_DROP_ENABLED>",
"EIA_CANVAS_MAX_ROWS": "<YOUR_EIA_CANVAS_MAX_ROWS>",
"EIA_FACET_VALUE_CAP": "<YOUR_EIA_FACET_VALUE_CAP>",
"EIA_CLAMP_LIMITS": "<YOUR_EIA_CLAMP_LIMITS>",
"CANVAS_PROVIDER_TYPE": "<YOUR_CANVAS_PROVIDER_TYPE>",
"MCP_LOG_LEVEL": "<YOUR_MCP_LOG_LEVEL>"
}
}
}
}Claude Desktop
{
"mcpServers": {
"eia-energy-mcp-server": {
"command": "npx",
"args": [
"-y",
"@cyanheads/eia-energy-mcp-server@0.5.0"
],
"env": {
"EIA_API_KEY": "<YOUR_EIA_API_KEY>",
"EIA_DATASET_TTL_SECONDS": "<YOUR_EIA_DATASET_TTL_SECONDS>",
"EIA_DATAFRAME_DROP_ENABLED": "<YOUR_EIA_DATAFRAME_DROP_ENABLED>",
"EIA_CANVAS_MAX_ROWS": "<YOUR_EIA_CANVAS_MAX_ROWS>",
"EIA_FACET_VALUE_CAP": "<YOUR_EIA_FACET_VALUE_CAP>",
"EIA_CLAMP_LIMITS": "<YOUR_EIA_CLAMP_LIMITS>",
"CANVAS_PROVIDER_TYPE": "<YOUR_CANVAS_PROVIDER_TYPE>",
"MCP_LOG_LEVEL": "<YOUR_MCP_LOG_LEVEL>"
}
}
}
}Let your agent find its tools
Find servers like EIA Energy MCP Server from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.