Koskamo

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.

EIA Energy MCP Server logo, by cyanheadsCommunity listingLocal stdioSource reviewed; not executedPublished by cyanheads
Vendor documentation

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

Community listingRegistry 0.5.0
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

npmnpx
@cyanheads/eia-energy-mcp-server package definition
{
  "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.

No tool definitions available.

Connect from your client

Each snippet configures the same source-provided package; replace placeholders before use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Cursor

Merge this local stdio configuration, replace every placeholder environment value, and restart Cursor. Koskamo has not executed this package.
Cursor configuration
{
  "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

Merge this local stdio configuration, replace every placeholder environment value, and restart Cline. Koskamo has not executed this package.
Cline configuration
{
  "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

Merge this local stdio configuration, replace every placeholder environment value, and restart VS Code. Koskamo has not executed this package.
VS Code configuration
{
  "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

Merge this local stdio configuration, replace every placeholder environment value, and restart Claude Desktop. Koskamo has not executed this package.
Claude Desktop configuration
{
  "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.