プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

Eia Energy MCP Server

作者:cyanheadsバージョン 0.5.1i★ –iパソコンでもクラウドでも
レジストリ名io.github.cyanheads/eia-energy-mcp-server

インストール

概要

作者による説明(英語の原文)

Browse and query the EIA API v2 — electricity, petroleum, natural gas, coal, forecasts via MCP.

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: パソコンでもクラウドでも
  • トランスポート: stdio, Streamable HTTP
  • カテゴリ: その他
  • 入力が必要なもの:EIA_API_KEY

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

  • 基本チェック:3項目中3項目に合格
  • 作者のサーバーで動きます。あなたが頼んだ内容は、作者のサーバーを通ります。
  • できること:6件(ツール) eia_browse_routes, eia_describe_route, eia_search_routes, eia_query_route …
  • 自分で入力するもの: EIA_API_KEY, EIA_DATASET_TTL_SECONDS, EIA_DATAFRAME_DROP_ENABLED, EIA_CANVAS_MAX_ROWS, EIA_FACET_VALUE_CAP, EIA_CLAMP_LIMITS, CANVAS_PROVIDER_TYPE, MCP_LOG_LEVEL

必要なもの

  • クラウドで動くインストール不要。インターネット経由でつながります
  • npmNode.jsのインストール(npxコマンドに必要)

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

ウェブ、デスクトップ、モバイルのClaudeで使えます:

  1. Settings → Connectors を開く
  2. Add custom connector を押す
  3. 下のアドレスを貼り付けて Add を押す
  4. サインインを求められたら、作者のサービスにサインインする
SettingsConnectors1+ Add2https://…3
https://eia-energy.caseyjhand.com/mcp

または、パソコンで動かす

Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます

{
  "mcpServers": {
    "eia-energy": {
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/eia-energy-mcp-server"
      ],
      "env": {
        "EIA_API_KEY": "your-value",
        "EIA_DATASET_TTL_SECONDS": "your-value",
        "EIA_DATAFRAME_DROP_ENABLED": "your-value",
        "EIA_CANVAS_MAX_ROWS": "your-value",
        "EIA_FACET_VALUE_CAP": "your-value",
        "EIA_CLAMP_LIMITS": "your-value",
        "CANVAS_PROVIDER_TYPE": "your-value",
        "MCP_LOG_LEVEL": "your-value"
      }
    }
  }
}

ターミナルでこれを実行します

claude mcp add --transport http eia-energy https://eia-energy.caseyjhand.com/mcp

または、パソコンで動かす

claude mcp add eia-energy --env EIA_API_KEY=your-value --env EIA_DATASET_TTL_SECONDS=your-value --env EIA_DATAFRAME_DROP_ENABLED=your-value --env EIA_CANVAS_MAX_ROWS=your-value --env EIA_FACET_VALUE_CAP=your-value --env EIA_CLAMP_LIMITS=your-value --env CANVAS_PROVIDER_TYPE=your-value --env MCP_LOG_LEVEL=your-value -- npx -y @cyanheads/eia-energy-mcp-server

動かす前に、空欄の値を入力してください。

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

{
  "mcpServers": {
    "eia-energy": {
      "url": "https://eia-energy.caseyjhand.com/mcp"
    }
  }
}

または、パソコンで動かす

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

{
  "mcpServers": {
    "eia-energy": {
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/eia-energy-mcp-server"
      ],
      "env": {
        "EIA_API_KEY": "your-value",
        "EIA_DATASET_TTL_SECONDS": "your-value",
        "EIA_DATAFRAME_DROP_ENABLED": "your-value",
        "EIA_CANVAS_MAX_ROWS": "your-value",
        "EIA_FACET_VALUE_CAP": "your-value",
        "EIA_CLAMP_LIMITS": "your-value",
        "CANVAS_PROVIDER_TYPE": "your-value",
        "MCP_LOG_LEVEL": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "eia-energy": {
      "type": "http",
      "url": "https://eia-energy.caseyjhand.com/mcp"
    }
  }
}

または、パソコンで動かす

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "eia-energy": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/eia-energy-mcp-server"
      ],
      "env": {
        "EIA_API_KEY": "your-value",
        "EIA_DATASET_TTL_SECONDS": "your-value",
        "EIA_DATAFRAME_DROP_ENABLED": "your-value",
        "EIA_CANVAS_MAX_ROWS": "your-value",
        "EIA_FACET_VALUE_CAP": "your-value",
        "EIA_CLAMP_LIMITS": "your-value",
        "CANVAS_PROVIDER_TYPE": "your-value",
        "MCP_LOG_LEVEL": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

ChatGPTがつなげるのは、インターネット上のサーバーだけです:

  1. ウェブ版のChatGPTを開き → Settings → Connectors (Apps)
  2. Create または Add を押す(プランによっては、先に Advanced で Developer mode をオンにする必要があります)
  3. 下のアドレスを貼り付け、名前を付けて保存する
  4. サインインを求められたら、作者のサービスにサインインする
SettingsConnectors1+ Create2https://…3
https://eia-energy.caseyjhand.com/mcp

メニューの名前は、プランや時期によって少し違うことがあります。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

自分で入力する値

  • EIA_API_KEY 必須 env
    Free API key from api.eia.gov. Required — all requests use this as the api_key query parameter.
  • EIA_DATASET_TTL_SECONDS env
    Sliding per-dataframe TTL in seconds, extended by every query that references the dataframe. At most 31536000 (365 days).
  • EIA_DATAFRAME_DROP_ENABLED env
    Set to 'true' to expose eia_dataframe_drop for manual canvas cleanup. Has no effect with CANVAS_PROVIDER_TYPE=none.
  • EIA_CANVAS_MAX_ROWS env
    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.
  • EIA_FACET_VALUE_CAP env
    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.
  • EIA_CLAMP_LIMITS env
    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 i…
  • CANVAS_PROVIDER_TYPE env
    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…
  • MCP_LOG_LEVEL env
    Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

ツールの名前と説明は、サーバーが2026年11月6日に返したそのままの内容です。書いたのは作者で、私たちではありません。プレーンテキストとして表示しています。

  • eia_browse_routes

    Lists 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 into subcategories. Each result includes an isLeaf flag — leaf routes are queryab

  • eia_describe_route

    Returns 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 IDs, facet values, column IDs, and frequency codes. Each facet returns a capped wi

  • eia_search_routes

    Fuzzy 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 "natural gas imports" to matching route paths, and a measure named only by its c

  • eia_query_route

    Fetches 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 frequency codes. Data values are strings in the response (EIA API returns all numeric v

  • eia_dataframe_describe

    List canvas dataframes (df_ ) 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 empty list on a fresh session means no query has staged yet, not that staging failed

  • eia_dataframe_query

    Run 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 — joins, aggregates, window functions, CTEs all supported. Reference dataframes by

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月8日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント cyanheads で確認済みです

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • ✓ 合格

    エンドポイントが応答する

    188ミリ秒で応答(HTTP 200)

  • – 対象外

    OAuthでサインイン

    サインイン不要

  • ✓ 合格

    ツールの説明に隠れた指示がない

    6件のツールの説明を読み、AIへの隠れた指示は見つかりませんでした

その他のほかのサーバーとの比較i

  • このカテゴリのほかの18365件のうち0%よりスターが多い
  • このカテゴリのほかの18365件のうち92%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの18365件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

Eia Energy MCP Serverは安全ですか?

当てはまる基本チェック3項目のうち3項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

入力が必要なもの:EIA_API_KEY

パソコンで動きますか、それともクラウドですか?

どちらでも使えます。パソコンにインストールしても、クラウド版につないでもかまいません。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(0.5.1)がレジストリに届いたのは3 日前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。URLでつながるので、リモートMCPサーバーに対応したアプリ(開発者モードのChatGPTなど)でも使えます。

代わりに使えるものは?

同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Funooy Krillion Reference

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Remote Desktop Commander

作者:desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

クラウドで動く★ 211一昨日更新
インストール

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

@cyanheads/eia-energy-mcp-server Browse and query the U.S. Energy Information Administration API v2 — electricity, petroleum, natural gas, coal, forecasts, and more via MCP. STDIO or Streamable HTTP. 4 core tools + 3 DataCanvas tools

Public Hosted Server: https://eia-energy.caseyjhand.com/mcp


Overview

US energy data from the Energy Information Administration (EIA): electricity, petroleum, natural gas, coal, and forecasts. Find datasets in plain language, query time series with facet filters, and run SQL over large results.

Tools
ToolDescription
eia_browse_routesLists child routes under a path in the EIA dataset taxonomy; omit path for the 14 top-level categories.
eia_describe_routeReturns a leaf route's facets, valid values, data columns, frequencies, and date range.
eia_search_routesFuzzy text search across route names, descriptions, data-column names, STEO, SEDS, and Monthly Energy Review series names, and facet values — including benchmark series such as Henry Hub, WTI, and Cushing. Resolves legacy APIv1 series IDs (PET.RWTC.W) to their route and filters.
eia_query_routeFetches data from a leaf route with facet filters, date range, and column selection; optionally stages results for SQL.
eia_dataframe_describeLists active DataCanvas dataframes staged by eia_query_route, with schema and provenance.
eia_dataframe_queryRuns a read-only SQL SELECT against staged DataCanvas dataframes.
eia_dataframe_dropDrops a DataCanvas dataframe, freeing its memory.

The three eia_dataframe_* tools need DataCanvas, which is on by default; eia_dataframe_drop additionally requires EIA_DATAFRAME_DROP_ENABLED=true. With CANVAS_PROVIDER_TYPE=none, which the Claude Desktop bundle sets, they are neither callable nor listed by MCP. Disabled definitions remain in the server manifest with their enable hints. A default deployment lists the first six tools.

Capability reference

Browse accepts route as an alias for path; describe and query accept path as an alias for route. Supplying both spellings is rejected. Whitespace and slashes are normalized, then exactly one complete leading v2 segment is removed: /v2/electricity/retail-sales/ resolves to electricity/retail-sales, and /v2/ browses root. Full URLs, /data suffixes, interior v2, and case remain unchanged.

All four route tools distinguish retryable upstream failures: rate_limited for HTTP 429 or OVER_RATE_LIMIT, upstream_unreachable for transport failures, upstream_unavailable for HTTP service outages, upstream_invalid_response for unusable bodies or missing envelopes, and upstream_timeout when EIA does not answer in time — each attempt is cut at 45 s, and a call's attempts, backoffs, and chained requests share one 56 s deadline, inside the 60 s timeout MCP clients apply. Recovery hints reach both response surfaces. HTTP 501 remains definitive, 504 remains a timeout, and caller cancellation stays cancellation.

eia_browse_routes tool
  • Omit path for the 14 top-level categories; pass a path to browse its children.
  • Each child carries isLeaf: describe and query leaves, or browse categories further.
  • A missing path returns route_not_found; EIA rate-limiting, being unreachable, or not answering in time returns retryable rate_limited, upstream_unreachable, or upstream_timeout.

eia_describe_route tool
  • Pass a leaf route for facets, data columns, frequencies, and date range. Each facet window is capped at EIA_FACET_VALUE_CAP (default 50); page with facet and values_offset.
  • To find a value by name in a large facet (plant, entity, and mine IDs run to thousands), pass values_query: each facet keeps the values whose id, name, or alias contains it, ignoring case, and values_offset pages the matches. values_query: "palo verde" on electricity/facility-fuel's plantCode returns 6008 and 57773 in one call. On the balancing-authority facets of electricity routes (respondent, fromba, toba, parent, balancing_authority_code), a value also matches by its ISO/RTO acronym: ERCOT returns ERCO, SPP returns SWPP and SWPW, and CAISO on stateid matches nothing.
  • date_range is metadata for the default frequency; another frequency may extend outside it. Both response surfaces carry this caveat beside the unchanged start/end values.
  • value_count, values_truncated, and, with values_query, values_matched describe each window. A facet whose values EIA did not return is listed in unavailable_facets; the next call retries it.
  • A data column with units: "" has no unit in the route metadata. The notice names the eia_query_route row field its unit is in when a row has one ({col}-units, or units or unit on routes whose only column is value), since the unit can differ by row; a column whose rows have no such field, like county or latitude on electricity/operating-generator-capacity, has no unit. The notice also names facet lists EIA publishes partial: international's productId, activityId, and unit cover only its monthly and quarterly series.
  • Errors: route_not_found, route_not_queryable, facet_not_found, and retryable facet_unavailable, rate_limited, upstream_unreachable, upstream_timeout.

eia_search_routes tool
  • Search route names, descriptions, the data columns a route publishes (nameplate capacity → electricity/operating-generator-capacity), STEO's 1,469, SEDS's 968, and the Monthly Energy Review's 984 series names (primary energy consumption total or its ID TETCBUS → total-energy, msn: TETCBUS), and facet values. Before any describe, the facet values cover fuel, sector, technology, and coal-rank vocabularies, RTO balancing authorities by name, EIA code, or ISO/RTO acronym (Electric Reliability Council of Texas, ERCO, or ERCOT → respondent: ERCO), and the series and product names of the daily and weekly petroleum and natural-gas routes (Henry Hub → natural-gas/pri/fut, series: RNGWHHD); describing a route adds its own. limit defaults to 10; a larger value returns at most 30 and says so, even on short or empty results. truncated is true when more matches exist. Only the first 256 characters of query are searched, with a notice when it is cut.
  • Matches carry score (0 exact, 1 no match; above 0.72 is weak) and may carry a filter_hint for eia_query_route. Check indexComplete and indexGaps before trusting a short result set.
  • A legacy APIv1 series ID, as EIA's website and Excel add-in write them, is resolved through EIA's /v2/seriesid lookup before any text search, in any case: ELEC.PRICE.TX-RES.M returns one result, electricity/retail-sales with filter_hint {sectorid: "RES", stateid: "TX"}, frequency: "monthly", and columns: ["price"], ready for eia_query_route. A hit needs no index, so it answers in under a second even on a cold server. When EIA's own lookup reports no rows for the mapping it returns (some AEO IDs), the notice says the query will come back empty. An ID EIA does not recognize (PET.ZZZZZZ.W, or U.S.A, which only looks like one) returns the text search with a notice saying so; a lookup that times out, is rate-limited, or hits an outage does the same with a retry notice, never an error.
  • The first search builds the index and normally takes 20–40 s (at most 45 s); later searches answer from the built index. If EIA rate-limits, cannot be reached, or does not answer in time, the call fails with retryable rate_limited, upstream_unreachable, or upstream_timeout.

eia_query_route tool
  • Pass a leaf route, with optional facet-ID filters, columns, frequency, start/end, and sort. Page with offset and length (default 25; a larger value returns at most 5,000 and says so).
  • Returns length rows per page; continue at next_offset (= offset + returned count).
  • After describe has cached a complete facet vocabulary, and for 24 hours after that list was fetched, query notices name unmatched filter values and suggest case-sensitive IDs when possible. A value a returned row carries is never named, and lists EIA publishes partial are never used. Filters and their echoes stay unchanged; diagnostics never fetch metadata or facet values.
  • With effective monthly YYYY-MM data, a year-only bound means January: end: "2021" stops at 2021-01; use 2021-12 for the full year. Query notices disclose this for either bound without expanding it.
  • EIA reads each bound as the period of the effective frequency containing its first day, so start: "2023-01", end: "2023" returns January at monthly. A range is reported as inverted (no_data) only when EIA returns no rows and start selects a later period than end; the message names both periods. At local-hourly each bound needs its hour and UTC offset (2024-02-01T02-06); one without fails as invalid_period before any request. So does a bound EIA would not read as written: a month outside 01–12 or an hour that is not two digits at any frequency, and a day its month lacks or an hour past 23 that rolls into another period at the effective frequency — 2024-02-30 at daily or monthly, 2024-01-31T24 at monthly. At weekly and four-week-average only the day is checked; an hour past 23 is sent, since whether it rolls into another week depends on the route's weekly calendar. A rollover that stays inside the period it names is sent, since EIA answers with that period (2024-02-30 at quarterly is 2024-Q1).
  • total reports the full match count; values remain strings and units appear per row as {col}-units, or as `un

冒頭だけを表示しています。続きはリポジトリで読めます

PopNxに聞く