GridPulse: U.S. Energy Data

io.github.noah-silver由 GitHub 账号 noah-silver 发布v1.0.1更新于 Oct 24, 2026

U.S. grid mix, retail electricity prices and Henry Hub gas prices (EIA), paid per call via x402.

已验证STDIO仅桌面金融数据与分析

概览

AI 生成的概览

一个本地 MCP 服务器,让助手获取美国能源市场数据——电网发电结构、零售电价和 Henry Hub 天然气价格——按次以 USDC 付费。

可以做什么
查询美国各电网区域最新逐小时发电结构,含燃料构成与可再生能源占比。按州和部门查询零售电价,含同比变化与 12 个月历史。获取 Henry Hub 天然气现货价格及 30 天统计与历史。每次工具调用都从用户自己的钱包结算一笔小额费用。
适用场景
当助手需要最新的美国电力行业或天然气数据——电网构成、各州电价或 Henry Hub 价格——且用户愿意按次支付几美分 USDC 而不愿注册 API 密钥时适用。
运行要求
以本地进程(stdio)运行,可通过 MCP 安装包或 npx 启动,需要 Node.js。需要一个在 Base 或 Algorand 上持有少量 USDC 的钱包,通过 EVM_PRIVATE_KEY 或 ALGORAND_MNEMONIC 提供,并需能访问托管端点。买方无需注册或 API 密钥。
安装前请注意
服务器要求提供钱包私钥或 25 词助记词,可控制真实资金;README 建议使用专门的小额消费钱包,切勿使用主钱包。每次工具调用都会花费 USDC,费用随使用累积。查询会发送至第三方托管端点。请将这些密钥视为高度敏感信息。

安装

在 SourceWeft 中

  1. 打开 控制台中的 GridPulse: U.S. Energy Data,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

⚡ GridPulse

Pay-per-call U.S. energy market data for AI agents. Agents pay per call in USDC on Algorand or Base using the x402 protocol. No signup and no API keys for buyers.

EndpointPriceReturns
GET /v1/grid-mix?region=ERCO$0.02Latest hourly generation mix for a grid region (MWh by fuel, renewable and carbon-free share)
GET /v1/retail-price?state=CT&sector=RES$0.01Retail electricity price by state and sector, year-over-year change, 12-month history
GET /v1/henry-hub$0.01Henry Hub natural gas spot price, 30-day stats and history
GET /v1/seller-check?url=…$0.01x402 Seller Check: 0–100 reliability score for any x402 seller (uptime probes, settlement history, age, buyer diversity)
GET /v1/sellers/search?q=weather&maxPrice=0.05$0.02Find reliable x402 sellers for a task, ranked by Seller Check score
GET /v1/algorand/network-health$0.008Algorand block time, TPS, online stake share, health (Algorand USDC only)
GET /v1/algorand/account?address=…$0.01Spendable ALGO, can it pay fees, can it receive USDC, staking and rekey status (Algorand USDC only)
GET /v1/algorand/asset?id=31566704$0.015ASA supply, Pera verification tier, clawback/freeze risk flags (Algorand USDC only)
GET /v1/algorand/tx?id=…$0.01Plain-English transaction explainer with decoded note (Algorand USDC only)
GET /v1/crypto/market-pulse$0.015ALGO/BTC/ETH/SOL/USDC prices cross-checked on Coinbase + Kraken (Algorand USDC only)

Live on Algorand MainNet: https://noahs-mac-mini.tail571e99.ts.net

Free: / (landing page), /llms.txt (docs for agents), /health. Data source: U.S. Energy Information Administration (public domain).

Use it from your agent

Any x402 client works: call the endpoint, get 402 Payment Required, pay, retry. The @x402/fetch wrapper does all of this automatically.

Pay with USDC on Base (npm i @x402/fetch @x402/evm viem):

ts
import { x402Client, wrapFetchWithPayment } from "@x402/fetch";import { ExactEvmScheme } from "@x402/evm/exact/client";import { toClientEvmSigner } from "@x402/evm";import { createPublicClient, http } from "viem";import { base } from "viem/chains";import { privateKeyToAccount } from "viem/accounts";
const account = privateKeyToAccount(process.env.EVM_PRIVATE_KEY as `0x${string}`);const signer = toClientEvmSigner(account, createPublicClient({ chain: base, transport: http() }));const client = new x402Client().register("eip155:8453", new ExactEvmScheme(signer));const fetchWithPay = wrapFetchWithPayment(fetch, client);
const res = await fetchWithPay("https://noahs-mac-mini.tail571e99.ts.net/v1/grid-mix?region=CISO");console.log(await res.json());

Pay with USDC on Algorand: see src/pay.ts (uses @x402/avm).

MCP server (Claude Desktop, Claude Code, Cursor, …)

One-click (Claude Desktop): download gridpulse-mcp.mcpb, open it, and optionally enter a small spending wallet. Also listed in the official MCP Registry as io.github.noah-silver/gridpulse.

Or configure it manually:

Add GridPulse as tools (grid_mix, retail_electricity_price, henry_hub_gas_price). Each tool call pays from your own wallet via x402. Use a small, dedicated spending wallet, never your main one.

json
{  "mcpServers": {    "gridpulse": {      "command": "npx",      "args": ["-y", "github:noah-silver/gridpulse"],      "env": { "EVM_PRIVATE_KEY": "0x… (Base wallet holding a little USDC)" }    }  }}

Use ALGORAND_MNEMONIC instead of (or as well as) EVM_PRIVATE_KEY to pay with USDC on Algorand.


Setup guide (Mac mini)

Run each command in Terminal on the Mac mini, one at a time.

1. Install Node.js

bash
brew install node

If brew isn't found, install Homebrew first from https://brew.sh.

2. Get the code and install

Copy this gridpulse folder onto the Mac mini (AirDrop works), then:

bash
cd ~/gridpulsenpm installcp .env.template .envopen -e .env

3. Fill in .env

  • PAY_TO_ADDRESS: create a new account in Pera for receiving payments. Fund it with about 1 ALGO and opt it in to USDC (in Pera: Add Asset, then search USDC, asset ID 31566704). Paste its address here.
  • EIA_API_KEY: free, instant, at https://www.eia.gov/opendata/register.php
  • Leave NETWORK=testnet for now.

4. Run it

bash
npm start

Open http://localhost:4021 to see the landing page. http://localhost:4021/v1/henry-hub should return 402 Payment Required, which means the paywall is working. Press Ctrl+C to stop.

5. Give it a public HTTPS address

Pick one:

Option A: Tailscale Funnel (free, easiest). You get a permanent URL like https://mac-mini.tail1234.ts.net.

bash
brew install tailscale

Sign in, then run:

bash
tailscale funnel --bg 4021

Option B: Cloudflare Tunnel with your own domain (about $10/yr, looks more professional). Buy a domain such as gridpulse.xyz in Cloudflare, then:

bash
brew install cloudflaredcloudflared tunnel logincloudflared tunnel create gridpulsecloudflared tunnel route dns gridpulse api.YOURDOMAIN.comcloudflared tunnel run --url http://localhost:4021 gridpulse

Put the resulting URL in .env as PUBLIC_URL.

6. Switch to MainNet and keep it running 24/7

In .env, set NETWORK=mainnet. Then:

bash
npm install -g pm2pm2 start npm --name gridpulse -- startpm2 savepm2 startup

(pm2 startup prints one more command to copy and run.) In System Settings → Energy, turn on "Prevent automatic sleeping" and "Start up automatically after a power failure."

7. Make the first real payment (required by the contest)

Create another new Pera account as the "buyer." Put about $1 of USDC and 0.3 ALGO in it. Add its 25-word phrase to .env as BUYER_MNEMONIC. Never use the phrase of your main wallet.

bash
npm run pay -- "/v1/grid-mix?region=ISNE"npm run pay -- "/v1/retail-price?state=CT"npm run pay -- /v1/henry-hub

Each settled payment lists that endpoint in the Bazaar and on the leaderboard.

8. Submit (by September 30)

  1. Push this folder to a public GitHub repo. .env is git-ignored, so your secrets stay local.
  2. Add the repo to Electric Capital open-dev-data.
  3. Fill in the submission form.

Technical notes

  • @x402/* packages are pinned to 2.17.0, and network IDs are hardcoded in the legacy format that the hosted GoPlausible facilitator currently expects (x402-foundation/x402#3528). Don't upgrade until the facilitator is updated.
  • The facilitator pays Algorand network fees. Buyers need only USDC.
  • EIA responses are cached for 10 minutes.
  • Invalid inputs return 400 and upstream failures return 502. Neither response is settled, so buyers aren't charged.

来源:README.md,提交 49285bf

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

2
  1. v1.0.1最新Sep 27, 2026
  2. v1.0.0Sep 27, 2026

评分

已满足适用检查项的 40%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。