关于 Pjm
Pjm MCP 服务通过 Data Miner 2 提供 PJM 电力市场数据,面向分析电价、负荷和发电构成的用户。它还可按精确名称查询未单独封装的其他数据源 Feed。
主要功能
- 01查询实时五分钟 LMP 及拥塞、损耗
- 02获取七天逐小时负荷预测
- 03查看按燃料类型划分的发电量
- 04按名称查询 Data Miner 2 Feed
适用场景
- 01跟踪特定节点的实时电价
- 02比较各燃料类型的发电构成
- 03查看输电区域的负荷预测
MCP 相关
向 MCP 客户端提供 PJM 数据查询工具,可通过 Pipeworx 网关连接或作为本地 stdio MCP 服务运行。访问上游数据需要已注册并订阅 Data Miner 2 的 API 密钥。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://gateway.pipeworx.io/pjm/mcpclaude mcp add --transport http pipeworx-io-pjm https://gateway.pipeworx.io/pjm/mcp{"mcpServers":{"pipeworx-io-pjm":{"type":"http","url":"https://gateway.pipeworx.io/pjm/mcp"}}}在 Cursor 中打开{"servers":{"pipeworx-io-pjm":{"type":"http","url":"https://gateway.pipeworx.io/pjm/mcp"}}}在 VS Code 中打开{"mcpServers":{"pipeworx-io-pjm":{"type":"http","url":"https://gateway.pipeworx.io/pjm/mcp"}}}{"mcpServers":{"pipeworx-io-pjm":{"serverUrl":"https://gateway.pipeworx.io/pjm/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
@pipeworx/pjm
通过 Data Miner 2 获取 PJM Interconnection 市场数据——实时 LMP、按燃料类型划分的发电量,以及美国最大电网运营商的七天负荷预测(覆盖 13 个州和华盛顿特区,约 6,500 万人口,从 Illinois 到 New Jersey)。
属于 Pipeworx——连接 AI Agent 与 1683+ 个实时数据源的 MCP 网关。
工具
pjm_feeds(feed?, row_count?, start_row?)— 列出 Data Miner 2 数据源目录,或按准确名称获取任意数据源(da_hrl_lmps、inst_load等)。用于访问此处没有专用工具的数百个 PJM 数据源。pjm_lmp_realtime(pnode_id?, pnode_name?, datetime_beginning_ept?, row_count?)— 五分钟粒度的实时 LMP,包含拥塞和损耗分项。pjm_load_forecast(forecast_area?, row_count?)— 按输电区和 RTO 总量划分的七天逐小时负荷预测。pjm_generation_fuel_mix(fuel_type?, datetime_beginning_ept?, row_count?)— 按燃料类型划分的发电量(MW)及其占总量的百分比。
身份验证
目前仅支持自带密钥。 使用 Ocp-Apim-Subscription-Key 标头(Azure API Management)。
平台备用环境变量——尚未配置:PLATFORM_PJM_KEY。
密钥免费,但需要在 https://apiportal.pjm.com/ 注册账号,并且为该账号订阅 Data Miner 2 产品。这是两个步骤:已注册但未订阅数据源的密钥会与完全没有密钥一样被拒绝,因此工具包的 401 消息会明确提及订阅,而不只是说“密钥错误”。
在密钥配置完成之前,所有工具都会返回包含 requires an API key 的消息;工具包在 workers/gateway/src/pack-manifest.json 中标记为 byoExpected: true,避免供应商密钥检查阻止部署。配置好 PLATFORM_PJM_KEY 后,应立即移除 byoExpected。
数据源
- https://dataminer2.pjm.com/ — 展示相同数据源的浏览器界面。
- https://api.pjm.com/api/v1/ — API。文档中说明的响应封装格式:
{ "totalRows": N, "items": [...], "links": [...] }。
注意事项
- 此处的响应格式尚未验证。 由于没有密钥,我们尚未在实际环境中观察到此工具包收到的 PJM 响应正文。工具包会规范化文档所述的
{totalRows, items, links}封装格式,并按原样返回items,不重命名或重塑其中的字段。这是有意为之:根据无法实际验证的文档凭空编造字段映射,可能导致结果悄无声息地出错;而原样返回上游数据,则如实反映了我们实际掌握的信息。待密钥配置完成并能读取真实数据后,再完善此处。 - 这里的 401 几乎无法提供有用信息。 已于 2026-09-17 验证:无论未提供密钥,还是提供语法有效但未注册的密钥,
api.pjm.com都会返回空正文,且不包含WWW-Authenticate标头。因此,401 无法区分“没有密钥”“密钥错误”或“密钥未订阅此数据源”。工具包会在错误消息中说明这一点,而不会猜测原因。 format=json不是默认格式——Data Miner 2 默认使用其他格式。此工具包始终会设置该参数。- 时间使用 Eastern Prevailing Time(EPT,会随夏令时变化),范围筛选器采用 Data Miner 自身的
"M/D/YYYY HH:MM to M/D/YYYY HH:MM"语法,而非 ISO-8601。 - 200 响应但返回 0 行会被视为错误,而非空结果:这几乎总是意味着日期筛选范围超出了数据源已发布的数据范围。
快速开始
添加到你的 MCP 客户端(Claude Desktop、Cursor、Windsurf 等):
{
"mcpServers": {
"pjm": {
"url": "https://gateway.pipeworx.io/pjm/mcp"
}
}
}
此端点实际提供的内容
https://gateway.pipeworx.io/pjm/mcp 上的 tools/list 会返回上表中的工具,以及 Pipeworx 共享元工具——ask_pipeworx、discover_tools、search_within、remember/recall 和网关范围内的其他工具。因此,你看到的工具数量会多于表格中的数量:目前,单个工具包端点除了列出工具包自身的工具外,还会列出约 30 个共享工具。连接的 initialize 响应会说明其确切范围,是当天情况的权威依据。
这是有意为之,并非意外的多路复用。元工具让受限连接也能回答本工具包未涵盖的问题——通过 ask_pipeworx 路由到整个目录——无需再添加第二个 MCP 服务。目前无法挂载不含这些工具的工具包端点;如果额外的模式所占上下文超过了路由功能的价值,不如只连接一次完整网关,而不是连接多个工具包端点。
或者,连接完整的 Pipeworx 网关,直接列出每个工具包的所有工具,而不只是当前工具包的工具:
{
"mcpServers": {
"pipeworx": {
"url": "https://gateway.pipeworx.io/mcp"
}
}
}
两个 URL 都连接到同一个网关和相同的 1683+ 个数据源。唯一的区别是直接列出哪个工具包的工具;无论连接哪个,ask_pipeworx 都能访问所有工具。
没有 MCP 客户端?通过 HTTP 调用
curl -X POST https://gateway.pipeworx.io/v1/tools/pjm_feeds \
-H 'Content-Type: application/json' \
-d '{"row_count":50}'
首次调用无需账户。检查任意工具:GET https://gateway.pipeworx.io/v1/tools/pjm_feeds。查找工具:使用 {"query":"..."} 向 https://gateway.pipeworx.io/v1/tools/search_packs 发送 POST 请求。
独立运行(无需网关账户)
此软件包也可以作为本地 stdio MCP 服务运行——无需 Pipeworx 账户,也无需经由网关往返:
{
"mcpServers": {
"pjm": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-pjm"]
}
}
}
或者直接运行以确认它能启动:
npx -y @pipeworx/mcp-pjm
它通过 stdin/stdout 使用 MCP,并仅对此工具包的工具响应 initialize/tools/list/tools/call——不包含上文网关连接额外提供的任何共享元工具。来源相同,工具相同,但没有 ask_pipeworx 路由。
使用 ask_pipeworx
你可以用通俗英语提问,而不是直接调用工具——这既适用于上文的工具包端点,也适用于完整网关:
ask_pipeworx({ question: "your question about Pjm data" })
网关会自动选择合适的工具并填入参数。
更多信息
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。