mcpField
P
pvpc-mcp-server

pvpc-mcp-server

本地服务
github.com/rfdez金融数据023 周前更新

关于 pvpc-mcp-server

这是一个 MCP 服务,为采用 2.0 TD 电价的用户获取 Red Eléctrica 每日发布的 PVPC 分时电价,支持按日期和地区筛选及聚合。

主要功能

  1. 01按日期范围获取电价
  2. 02按地理区域筛选
  3. 03按时间和区域聚合
  4. 04按时间或地理位置分组

适用场景

  1. 01查询次日分时电价
  2. 02比较西班牙不同地区的电价

MCP 相关

向 MCP 客户端提供 `fetch_prices` 工具,返回 JSON 文本格式的 PVPC 数据,并需要 Esios Red Eléctrica API 密钥。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"rfdez-pvpc": {
"command": "npx",
"args": [
"-y",
"@rfdez/pvpc-mcp-server"
]
}
}
}
启动命令npx -y @rfdez/pvpc-mcp-server

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@rfdez/pvpc-mcp-server3.2.3

工具

1

收录的工具列表 · 更新于 3 周前

参数类型必填说明
localeenum否获取来源的翻译。可接受的值:`es`、`en`。默认值为 `es`。es | en
endDatestring否筛选指标值的日期范围结束时间,格式为 iso8601。例如:2025-06-29T23:59:59.999+02:00。默认值为今天结束时。
startDatestring否筛选指标值的日期范围开始时间,格式为 iso8601。例如:2025-06-29T00:00:00.000+02:00。默认值为今天开始时。
timeTruncationenum否指定数据时间序列的截断方式。可接受的值:`hour`、`day`、`month`、`year`。hour | day | month | year
geographicalIdsarray否指定用于筛选指标值的地理 ID。可接受的值:`3` (España)、`8741` (Península)、`8742` (Canarias)、`8743` (Baleares)、`8744` (Ceuta)、`8745` (Melilla)。默认值为 `8741`、`8742`、`8743`、`8744`、`8745`。
timeAggregationenum否按时间分组时,指定指标值的聚合方式。可接受的值:`sum`、`average`。默认值为 `sum`。sum | average
geographicalTruncationenum否指定已提供地理聚合时,按地理级别对数据进行分组的方式。可接受的值:`country`、`electric_system`。country | electric_system
geographicalAggregationenum否按地理 ID 分组时,指定指标值的聚合方式。可接受的值:`sum`、`average`。默认值为 `sum`。sum | average

详细介绍

小型消费者自愿价格(PVPC)MCP 服务

License: MIT NPM Version

获取 Red Eléctrica 每天晚上 8:15 发布的小型消费者自愿价格(PVPC)。其中包含适用于次日、按 2.0 TD 电价计费的消费者的每小时电价。

🧩 组件

工具
  • fetch_prices:获取指定日期范围和地理区域的小型消费者自愿价格(PVPC)。
    • 输入:
      • locale:获取来源的翻译。可接受的值:es、en。默认为 es。
      • startDate:筛选指标值的日期范围起始时间,采用 iso8601 格式。例如:2025-06-29T00:00:00.000+02:00。默认为当天开始时间。
      • endDate:筛选指标值的日期范围结束时间,采用 iso8601 格式。例如:2025-06-29T23:59:59.999+02:00。默认为当天结束时间。
      • timeAggregation:按时间分组时如何汇总指标值。可接受的值:sum、average。默认为 sum。
      • timeTruncation:指定如何截断数据时间序列。可接受的值:hour、day、month、year。可选参数。
      • geographicalAggregation:按地理 ID 分组时如何汇总指标值。可接受的值:sum、average。默认为 sum。
      • geographicalIds:指定用于筛选指标值的地理 ID。可接受的值:3(西班牙)、8741(半岛地区)、8742(加那利群岛)、8743(巴利阿里群岛)、8744(休达)、8745(梅利利亚)。默认为 8741、8742、8743、8744、8745。
      • geographicalTruncation:指定提供地理汇总方式时,如何按地理层级对数据分组。可接受的值:country、electric_system。可选参数。
    • 返回:包含 JSON 格式 PVPC 价格的文本内容。

🔧 配置

要求

你需要从 Esios Red Eléctrica de España 注册 API 密钥,才能访问 Esios Red Eléctrica de España API。

你可以在 API e·sios Documentation 中找到 API 文档。

Claude Desktop
连接远程服务

打开 Claude Desktop,然后前往 Settings > Connectors > Add Custom Connector。将名称设为 PVPC,并输入远程 MCP 服务 URL,例如 https://mcp.example.com/mcp。

连接本地服务

将以下内容添加到 Claude Desktop 的 claude_desktop_config.json 文件中。更多信息请参阅 Claude Desktop MCP docs。

{
  "mcpServers": {
    "pvpc": {
      "command": "npx",
      "args": ["-y", "@rfdez/pvpc-mcp-server@latest", "--api-key", "your_esios_api_key"]
    }
  }
}

💻 开发

克隆此代码库并安装依赖项:

npm install

构建项目:

npm run build

运行服务:

node dist/index.js
CLI 参数

pvpc-mcp-server 接受以下 CLI 标志:

  • --transport <stdio|http>:要使用的传输方式(默认为 stdio)。
  • --port <number>:使用 http 传输方式时要监听的端口(默认为 8080)。
  • --api-key <key>:用于身份验证的 e·sios API 密钥。

使用 http 传输方式和端口 8080 的示例:

node dist/index.js --transport http --port 8080

使用 stdio 传输方式的示例:

node dist/index.js --transport stdio --api-key YOUR_ESIOS_API_KEY
本地配置示例
{
  "mcpServers": {
    "pvpc": {
      "command": "npx",
      "args": ["-y", "tsx", "/path/to/folder/pvpc-mcp-server/src/index.ts", "--api-key", "YOUR_ESIOS_API_KEY"]
    }
  }
}
使用 MCP Inspector 进行测试
npx -y @modelcontextprotocol/inspector npx -y @rfdez/pvpc-mcp-server

许可证

本项目采用 MIT 许可证授权,详情请参阅 LICENSE 文件。

评论

支持 Markdown

第一次接触 MCP?

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

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