关于 pvpc-mcp-server
这是一个 MCP 服务,为采用 2.0 TD 电价的用户获取 Red Eléctrica 每日发布的 PVPC 分时电价,支持按日期和地区筛选及聚合。
主要功能
- 01按日期范围获取电价
- 02按地理区域筛选
- 03按时间和区域聚合
- 04按时间或地理位置分组
适用场景
- 01查询次日分时电价
- 02比较西班牙不同地区的电价
MCP 相关
向 MCP 客户端提供 `fetch_prices` 工具,返回 JSON 文本格式的 PVPC 数据,并需要 Esios Red Eléctrica API 密钥。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
1收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| locale | enum | 否 | 获取来源的翻译。可接受的值:`es`、`en`。默认值为 `es`。es | en |
| endDate | string | 否 | 筛选指标值的日期范围结束时间,格式为 iso8601。例如:2025-06-29T23:59:59.999+02:00。默认值为今天结束时。 |
| startDate | string | 否 | 筛选指标值的日期范围开始时间,格式为 iso8601。例如:2025-06-29T00:00:00.000+02:00。默认值为今天开始时。 |
| timeTruncation | enum | 否 | 指定数据时间序列的截断方式。可接受的值:`hour`、`day`、`month`、`year`。hour | day | month | year |
| geographicalIds | array | 否 | 指定用于筛选指标值的地理 ID。可接受的值:`3` (España)、`8741` (Península)、`8742` (Canarias)、`8743` (Baleares)、`8744` (Ceuta)、`8745` (Melilla)。默认值为 `8741`、`8742`、`8743`、`8744`、`8745`。 |
| timeAggregation | enum | 否 | 按时间分组时,指定指标值的聚合方式。可接受的值:`sum`、`average`。默认值为 `sum`。sum | average |
| geographicalTruncation | enum | 否 | 指定已提供地理聚合时,按地理级别对数据进行分组的方式。可接受的值:`country`、`electric_system`。country | electric_system |
| geographicalAggregation | enum | 否 | 按地理 ID 分组时,指定指标值的聚合方式。可接受的值:`sum`、`average`。默认值为 `sum`。sum | average |
详细介绍
小型消费者自愿价格(PVPC)MCP 服务
获取 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 文件。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。