Emission Factors

io.github.rozetypv1.1.0更新於 Oct 7, 2026

Keyless US grid carbon + power cost by ZIP: eGRID Scope 2, Scope 1 fuels, site ranking, clean hours

已驗證Streamable HTTP可網頁執行Location & LifestyleData & AnalyticsFinance

概覽

AI 產生的概覽

讓助理依美國郵遞區號查詢電網碳排放因子、電價、逐小時碳強度、電廠排放與公用事業費率。

功能
提供十一個以郵遞區號為鍵的美國電力資料工具:EPA eGRID 排放因子與發電結構、依指定用電量計算範疇二排放、範疇一燃料燃燒因子、逐小時電網碳強度、電廠層級排放、公用事業費率以及州平均零售電價。還可依碳強度與成本排序候選地點,並找出執行彈性負載最乾淨的時段。所有工具回傳 JSON,資料來自包裝 EPA、EIA、OpenEI 與人口普查資料的託管 API。
適用情境
適合碳排放盤查與報告工作,例如範疇一與範疇二估算;也適合比較不同地點的電網碳強度與電價,以及回答負載移轉或需量反應中何時執行最乾淨的問題。適合需要權威政府來源因子而非憑空猜測值的助理。
執行需求
使用 emission-factors.com 上的遠端 Streamable HTTP 端點;不需要 API 金鑰、註冊或環境變數。另提供本機 stdio 版本,可透過 npx 從 GitHub 執行,需要 Node 18+,自架 API 時可選用 EMISSION_FACTORS_API_BASE 變數。需要網路連線。
安裝前請注意
請求為匿名,依 IP 限制每小時 2,000 次,超過時回傳 HTTP 429 與 retryAfter 提示。查詢會把郵遞區號、座標、設施編號與能耗資料傳送給第三方服務 emission-factors.com。這些工具僅做查詢與計算,不會寫入或刪除資料。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Emission Factors,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "emission-factors": {
      "type": "http",
      "url": "https://emission-factors.com/mcp"
    }
  }
}

README

emission-factors MCP server

[License: MIT] [MCP] [No key required]

Give Claude, Cursor, Cline, or any MCP client live access to US electricity data by ZIP code - grid-carbon emission factors, retail rates, hourly grid carbon intensity, power-plant emissions, and utility tariffs.

Backed by emission-factors.com, which wraps EPA eGRID, EIA-861, EIA-930, EPA CAMD, and OpenEI URDB into one ZIP-keyed API.

Free. No API key, no signup. The API is rate-limited per IP (2,000 requests/hour).


What you can ask

Once connected, your agent can answer things like:

  • "My HQ in ZIP 94105 uses 1.2M kWh/year. What's our Scope 2 carbon footprint and annual electricity cost?"
  • "Compare Denver, Austin, and Columbus for a new data center on grid carbon intensity and electricity price."
  • "What hour of the day is cleanest to run a 500 kW batch job in California this week?"
  • "Enrich this list of 40 store ZIP codes with each site's emission factor and carbon-free percentage."
  • "Which are the dirtiest power plants in Texas by CO2 over the last week?"
  • "Rank Ashburn VA, Abilene TX and The Dalles OR for a 10 MW data center on carbon and power cost."
  • "Our plant burns 40,000 therms of gas and 3,000 gallons of diesel a year - what's our Scope 1?"
  • "What's the actual PG&E residential tariff for 94105, not the state average?"

Why use it

  • Scope 2 carbon accounting - GHG Protocol location-based emission factors for all 33,616 US ZIP codes (CDP, CSRD, California SB 253 inputs).
  • Site selection - compare candidate locations on both carbon intensity and electricity cost in one conversation.
  • Time-weighted / demand-response analysis - hourly grid carbon from EIA-930 for load-shifting and post-hoc Scope 2.
  • Plant-level emissions - EPA CAMD hourly data for ~1,300 fossil units, a paywall-free alternative to commercial datasets.
  • Agents and automation - a clean tool surface so an LLM can fetch authoritative government data instead of hallucinating factors.

Quick start

There are two ways to run this. Most people want Option A.

Option A - Remote server (recommended, zero install)

Point your client at the hosted MCP endpoint. Nothing to install, always up to date.

Claude Desktop - edit claude_desktop_config.json (~/Library/Application Support/Claude/ on macOS, %APPDATA%\Claude\ on Windows), then restart Claude:

json
{  "mcpServers": {    "emission-factors": {      "url": "https://emission-factors.com/mcp"    }  }}

Cursor - Settings -> MCP -> Add new MCP server, using the same URL.

Cline / Continue / Zed / other clients - add a remote (Streamable HTTP) MCP server with URL https://emission-factors.com/mcp. No key needed.

Option B - Local stdio server (this package)

Runs the server as a local process that proxies the same public API. Useful for clients that only support stdio transport, or if you want to self-host.

Run straight from GitHub (builds on install, requires Node 18+):

json
{  "mcpServers": {    "emission-factors": {      "command": "npx",      "args": ["-y", "github:rozetyp/emission-factors-mcp"]    }  }}

Or clone and run from source:

bash
git clone https://github.com/rozetyp/emission-factors-mcp.gitcd emission-factors-mcpnpm install        # builds dist/ via the prepare script
json
{  "mcpServers": {    "emission-factors": {      "command": "node",      "args": ["/absolute/path/to/emission-factors-mcp/dist/index.js"]    }  }}

Optional environment variable: EMISSION_FACTORS_API_BASE (defaults to https://emission-factors.com) if you run your own instance of the API.


Tools

Eleven tools, keyed by US ZIP code (or a direct code where noted). The remote server and this stdio build expose the same set.

ToolPurposeKey inputs
lookup_emission_factorEPA eGRID CO2e + full generation mix for a ZIPzip
lookup_by_coordinatesSame, resolved from lat/lon via Census geocoderlat, lon
lookup_batchEmission factors for up to 100 ZIPs at oncezips[]
calculate_emissionsScope 2 CO2e for a ZIP + kWh, location-based and market-based (Green-e residual mix)zip, kwh, renewable_kwh
hourly_intensityHourly grid carbon intensity (EIA-930, ~24h lag)zip or ba, hours
plant_emissionsHourly unit-level plant emissions (EPA CAMD)facility_id or state, days
utility_tariffUtility-specific tariff, not state average (OpenEI URDB)zip, utility, or eiaid
electricity_rateState-average retail rate by sector (EIA-861)zip
compare_sitesRank 2-25 candidate sites on grid carbon, $/kWh and cleanest daily windowzips[], annual_kwh, sector
cleanest_hoursCleanest N-hour window of the day to run a flexible load, in local timezip or ba, duration
calculate_fuel_emissionsScope 1 CO2e for fuels burned on site (EPA GHG Emission Factors Hub)items[]: fuel, quantity, unit

All tools return JSON. See full API docs for exact response shapes.


Data sources

DataSourceNotes
Grid emission factorsEPA eGRID2023 Rev2 (+2024 preliminary)Annual, location-based, 27 subregions
Residual mix (market-based Scope 2)Green-e Residual Mix 2025 (2023 data)Per eGRID subregion
Fuel combustion factors (Scope 1)EPA GHG Emission Factors Hub 202563 fuels, AR5 GWPs
Retail electricity ratesEIA Form 861State-level monthly average by sector
Hourly grid carbon intensityEIA-930Derived from hourly fuel mix, ~24h lag
Plant-level emissionsEPA CAMD~1,300 fossil units >25 MW, ~21 day lag
Utility-specific tariffsOpenEI URDB (NREL)~85% of US utilities
ZIP / lat-lon resolutionUS Census (ZCTA + Geocoder)ZIP -> eGRID subregion mapping

Rate limits and auth

  • No API key, no signup. Every request is anonymous.
  • 2,000 requests/hour per IP. Generous for interactive use; if you hit it you get an HTTP 429 with a retryAfter hint.
  • The external-data endpoints are cached server-side (24h rates, 1h hourly intensity, 7d tariffs, 24h plant emissions), so repeated calls are fast and don't burn upstream quotas.

Also available


Development

bash
npm install        # install deps and build (prepare -> tsc)npm run build      # compile TypeScript to dist/npm run dev        # watch modenpm start          # run the built server over stdio

Quick smoke test with the MCP Inspector:

bash
npx @modelcontextprotocol/inspector node dist/index.js

The server is a thin proxy: each tool maps to one /api/* endpoint on emission-factors.com, validates inputs, and returns the JSON response. There is no local state and no key handling.

License

MIT - see LICENSE. Data belongs to its respective US government sources (EPA, EIA, Census) and NREL/OpenEI; this project and the API are an unofficial wrapper, not affiliated with those agencies.

來源:README.md,提交 649dae3

工具

0
工具後設資料尚未被收錄。

版本歷史

1
  1. v1.1.0最新Oct 7, 2026