mcpField
E
Elexon

Elexon

远程服务
pipeworx.io金融数据04 天前更新

关于 Elexon

Elexon 是无需密钥的 MCP 服务,提供英国电力系统与批发市场数据,适用于分析人员。它支持查询发电、需求、价格及 84 个 BMRS 数据集,并按数据集处理日期窗口参数。

主要功能

  1. 01按燃料类型查看半小时发电量
  2. 02查询输电系统需求
  3. 03搜索并查询 84 个 BMRS 数据集
  4. 04查询系统买入价与卖出价
  5. 05按数据集处理查询时间窗口

适用场景

  1. 01分析一段时间内各燃料的发电量
  2. 02查看系统需求和不平衡价格
  3. 03查找并读取 BMRS 数据集记录

MCP 相关

通过 Pipeworx 托管端点或本地 stdio 服务,向 MCP 客户端提供 Elexon BMRS 数据工具。托管端点还会列出 Pipeworx 共享元工具;独立服务仅提供此数据包的工具。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://gateway.pipeworx.io/elexon/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

@pipeworx/elexon

Elexon BMRS Insights MCP — 英国电网与批发市场数据。无需密钥。

属于 Pipeworx — 一个将 AI Agent 连接到 1878+ 个实时数据源的 MCP 网关。这是独立的非官方集成,与上游提供方无关联,未获其认可,也非其发布。

工具

  • generation_by_fuel(from, to) — 按燃料类型划分的英国半小时发电量(MW)(FUELHH),以及该时间段内各燃料的 byFuel 总量。
  • system_demand(from, to) — 英国输电系统半小时需求实测值(MW)(ITSDO)。
  • elexon_list_datasets(search?) — 所有 84 个 BMRS 数据集的目录:代码、标题,以及对应路由所采用的时间窗口参数。按关键词(“wind”、“price”、“forecast”)搜索,在调用 query_dataset 前找到代码。
  • query_dataset(dataset, from, to, settlement_period?, date_param?) — 按代码查询任意一个 84 个数据集中的记录。系统会自动为每个数据集选择正确的时间窗口参数。
  • elexon_system_prices(settlement_date, settlement_period?) — 按结算时段提供英国不平衡价格(系统买入/系统卖出,GBP/MWh),以及净不平衡量和价格推导代码(DISEBSP)。Elexon 通过 /datasets 之外的接口提供此数据,因此 query_dataset 无法访问。

英国的一个结算日包含 48 个半小时结算时段。

身份验证

无。无需密钥、注册,也没有我们遇到过的配额限制。

一种 404 错误,两种含义

对于未知数据集代码以及使用错误时间窗口参数查询已知代码,Elexon 都会返回 404 {"statusCode":404,"message":"Resource not found"},因为时间窗口参数属于路由解析的一部分。即使 MID 已存在,且是此工具包中最常用的数据集之一,/datasets/MID?publishDateTimeFrom=... 仍会返回 404 — MID 路由采用 from/to。

因此,此工具包包含一个 DATASETS 表,而不是直接传入代码。它将 84 个代码映射到五种时间窗口类型之一:

类型查询参数数据集
publishDateTimepublishDateTimeFrom / publishDateTimeTo53 个,包括 FUELHH、ITSDO、WINDFOR、REMIT、TEMP
fromfrom / to22 个,包括 MID、BOD、BOALF、QAS、MELS
settlementDatesettlementDate + settlementPeriod6 个:B1610、MDB、MDO、PN、QPN、TUDM
measurementDateTimemeasurementDateTimeFrom / To1 个:FREQ
submissionDateTimesubmissionDateTimeFrom / To2 个:RZDF、RZDR

需要了解的后果:

  • 六个 settlementDate 数据集每次仅提供一个结算时段,因此 query_dataset 对这些数据集需要 settlement_period(1–48)。遇到此情况时,工具会明确提示,而不是返回 404。
  • 对于无法识别的代码,工具包会在发起上游调用前拒绝请求,并在消息中提供相近代码及完整代码列表。此类问题不会被记作 Pipeworx 缺陷(集群记录 #584:三小时内出现 49 个相同的 404,每个都是调用者猜测代码所致,却全部被登记为我们的缺陷)。
  • 确实存在的代码在时间窗口内没有数据时,会返回零条记录,而非 404。如果对已存在的代码收到 404,说明被拒绝的是时间窗口参数。
  • date_param 会覆盖查找结果,极少需要使用。旧值 "settlement" 表示 settlementDateFrom/To,仅 FUELHH 和 FUELINST 接受;"settlementDate" 则表示上述按时段查询的类型。

调用方实际会猜什么

根据一天的实时流量测量结果,两类猜测占据了大多数无效调用,这个工具包现在可以同时处理这两类情况:

  • ENTSO-E B 流代码。 B1620、B1430 和 B1440 都有人尝试过。Elexon 的规范在其摘要中记录了映射关系(“Actual Aggregated Generation Per Type (AGPT / B1620)”),因此这个工具包会将 16 个 B 代码映射到取代它们的数据集,并在响应中报告 resolved_from。
  • 不平衡价格。 SYSTEMPRICE、SYSTEMPRICES、CASH、IMBALPR、B1770 和 B1780 总共被尝试了 14 次。它们都不是数据集代码——GB 系统买入/卖出价格位于 /balancing/settlement/system-prices,elexon_system_prices 封装的正是这个接口。现在遇到这些猜测时,会直接指出该接口名称,而不是列出 84 个代码——其中没有一个是调用方需要的代码。

重新生成数据集表

Elexon 会新增数据集。src/index.ts 中的表格来自上游 OpenAPI 规范——请注意,规范位于站点根目录,不在 API 基础路径下:

curl -s https://data.elexon.co.uk/swagger/v1/swagger.json

读取 /datasets/{CODE} 路径;数据集的时间窗口类型由其 parameters 声明的 publishDateTimeFrom / from / settlementDate / measurementDateTimeFrom / submissionDateTimeFrom 决定。

数据来源

  • API 基础路径:https://data.elexon.co.uk/bmrs/api/v1
  • OpenAPI 规范:https://data.elexon.co.uk/swagger/v1/swagger.json
  • 文档:https://bmrs.elexon.co.uk/api-documentation

快速开始

添加到你的 MCP 客户端(Claude Desktop、Cursor、Windsurf 等):

{
  "mcpServers": {
    "elexon": {
      "url": "https://gateway.pipeworx.io/elexon/mcp"
    }
  }
}
此端点实际提供的内容

https://gateway.pipeworx.io/elexon/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 都连接到同一个网关和同一组 1878+ 个数据源。唯一的区别是直接列出哪个工具包的工具;无论连接哪一个,ask_pipeworx 都能访问所有工具。

没有 MCP 客户端?通过 HTTP 调用

curl -X POST https://gateway.pipeworx.io/v1/tools/generation_by_fuel \
  -H 'Content-Type: application/json' \
  -d '{"from":"2024-06-01T00:00Z","to":"2024-06-01T01:00Z"}'

首次调用无需账户。查看任意工具:GET https://gateway.pipeworx.io/v1/tools/generation_by_fuel。查找工具:使用 {"query":"..."} 向 POST https://gateway.pipeworx.io/v1/tools/search_packs 发送请求。

独立运行(无需网关账户)

此软件包也可作为本地 stdio MCP 服务运行——无需 Pipeworx 账户,也无需经过网关往返:

{
  "mcpServers": {
    "elexon": {
      "command": "npx",
      "args": ["-y", "@pipeworx/mcp-elexon"]
    }
  }
}

或者直接运行,以确认服务可以启动:

npx -y @pipeworx/mcp-elexon

它通过 stdin/stdout 使用 MCP 通信,并针对仅此工具包的工具响应 initialize/tools/list/tools/call——不包含上述网关连接额外提供的任何共享元工具。源代码相同,工具相同,但没有 ask_pipeworx 路由。

与 ask_pipeworx 配合使用

你也可以用自然语言提问,而不是直接调用工具——这既适用于上面的工具包端点,也适用于完整网关:

ask_pipeworx({ question: "your question about Elexon data" })

网关会选择合适的工具并自动填入参数。

更多信息

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。