Skip to content
Squatch MCP

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

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

by io.github.cyanheads· v0.5.1Source: Official MCP Registry

All versions

VersionRegistry status
0.5.1latestActive
0.5.0Active
0.4.6Active
0.4.5Active
0.4.4Active
0.4.3Active
0.4.2Active
0.4.1Active
0.4.0Active
0.3.8Active
0.3.7Active
0.3.6Active
0.3.5Active
0.3.4Active
0.3.3Active
0.3.2Active
0.3.1Active
0.3.0Active
0.2.8Active
0.2.7Active
0.2.6Active
0.2.5Active
0.2.4Active
0.2.3Active
0.2.2Active
0.2.1Active
0.2.0Active

Version details

Version
0.5.1
Source
Source: Official MCP Registry
Published
Registry last updated
First observed by Squatch
Content fingerprint
586fe5c2ae6211e9478bb1c2b62531b20ae0dbb8bf0995d6194198773e8e39cd

Transports in this version

  • remotestreamable-httphttps://eia-energy.caseyjhand.com/mcpNo authentication
  • packagestdionpm @cyanheads/eia-energy-mcp-serverUnknown
  • packagestreamable-httpnpm @cyanheads/eia-energy-mcp-serverUnknown
Registry metadata (server.json, sanitized)
{
  "_meta": {
    "io.modelcontextprotocol.registry/official": {
      "status": "active",
      "isLatest": true,
      "updatedAt": "2026-11-04T05:45:11.879273Z",
      "publishedAt": "2026-11-04T05:45:11.879273Z",
      "statusChangedAt": "2026-11-04T05:45:11.879273Z"
    }
  },
  "server": {
    "name": "io.github.cyanheads/eia-energy-mcp-server",
    "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
    "remotes": [
      {
        "url": "https://eia-energy.caseyjhand.com/mcp",
        "type": "streamable-http"
      }
    ],
    "version": "0.5.1",
    "packages": [
      {
        "version": "0.5.1",
        "transport": {
          "type": "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')."
          }
        ]
      },
      {
        "version": "0.5.1",
        "transport": {
          "url": "http://localhost:3010/mcp",
          "type": "streamable-http"
        },
        "identifier": "@cyanheads/eia-energy-mcp-server",
        "runtimeHint": "npx",
        "registryType": "npm",
        "registryBaseUrl": "https://registry.npmjs.org",
        "environmentVariables": [
          {
            "name": "MCP_TRANSPORT_TYPE",
            "value": "http",
            "format": "string",
            "description": "Selects the HTTP transport."
          },
          {
            "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_HTTP_HOST",
            "format": "string",
            "default": "127.0.0.1",
            "description": "The hostname for the HTTP server."
          },
          {
            "name": "MCP_HTTP_PORT",
            "format": "string",
            "default": "3010",
            "description": "The port to run the HTTP server on."
          },
          {
            "name": "MCP_HTTP_ENDPOINT_PATH",
            "format": "string",
            "default": "/mcp",
            "description": "The endpoint path for the MCP server."
          },
          {
            "name": "MCP_PUBLIC_URL",
            "format": "string",
            "description": "Public origin override for deployments behind a TLS-terminating reverse proxy (e.g. https://mcp.example.com)."
          },
          {
            "name": "MCP_AUTH_MODE",
            "format": "string",
            "default": "none",
            "description": "Authentication mode to use: 'none', 'jwt', or 'oauth'."
          },
          {
            "name": "MCP_LOG_LEVEL",
            "format": "string",
            "default": "info",
            "description": "Sets the minimum log level for output (e.g., 'debug', 'info', 'warn')."
          }
        ]
      }
    ],
    "repository": {
      "url": "https://github.com/cyanheads/eia-energy-mcp-server",
      "source": "github"
    },
    "description": "Browse and query the EIA API v2 — electricity, petroleum, natural gas, coal, forecasts via MCP."
  }
}