Skip to main content
Glama
rfdez

PVPC MCP Server

by rfdez

Voluntary Price for the Small Consumer (PVPC) MCP Server

License: MIT NPM Version

Fetch the Voluntary Price for the Small Consumer (PVPC) published daily by Red Eléctrica at 8:15 p.m. This includes the hourly electricity tariffs that will apply the following day for consumers billed under the 2.0 TD tariff.

🧩 Components

Tools

  • fetch_prices: Fetches the Voluntary Price for the Small Consumer (PVPC) prices for a given date range and geographical area.

    • Inputs:

      • locale: Get translations for sources. Accepted values: es, en. Defaults to es.

      • startDate: Beginning of the date range to filter indicator values in iso8601 format. E.g. 2025-06-29T00:00:00.000+02:00. Defaults to the start of today.

      • endDate: End of the date range to filter indicator values in iso8601 format. E.g. 2025-06-29T23:59:59.999+02:00. Defaults to the end of today.

      • timeAggregation: How to aggregate indicator values when grouping them by time. Accepted values: sum, average. Defaults to sum.

      • timeTruncation: Tells how to truncate data time series. Accepted values: hour, day, month, year. Optional parameter.

      • geographicalAggregation: How to aggregate indicator values when grouping them by geographical ID. Accepted values: sum, average. Defaults to sum.

      • geographicalIds: Tells the geographical IDs to filter indicator values. Accepted values: 3 (España), 8741 (Península), 8742 (Canarias), 8743 (Baleares), 8744 (Ceuta), 8745 (Melilla). Defaults to 8741, 8742, 8743, 8744, 8745.

      • geographicalTruncation: Tells how to group data at geographical level when the geographical aggregation is informed. Accepted values: country, electric_system. Optional parameter.

    • Returns: Text content with the PVPC prices in JSON format.

Related MCP server: Datadis MCP Server

🔧 Configuration

Requirements

You need to register an API key from Esios Red Eléctrica de España to access the Esios Red Eléctrica de España API.

You will find the API documentation at API e·sios Documentation.

Claude Desktop

Remote Server Connection

Open Claude Desktop and navigate to Settings > Connectors > Add Custom Connector. Enter the name as PVPC and the remote MCP server URL like https://mcp.example.com/mcp.

Local Server Connection

Add this to your Claude Desktop claude_desktop_config.json file. See Claude Desktop MCP docs for more info.

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

💻 Development

Clone this repository and install the dependencies:

npm install

Build the project:

npm run build

Run the server:

node dist/index.js

CLI Arguments

pvpc-mcp-server accepts the following CLI flags:

  • --transport <stdio|http>: Transport to use (stdio by default).

  • --port <number>: Port to listen on when using http transport (default 8080).

  • --api-key <key>: Your e·sios API key for authentication.

Example with http transport and port 8080:

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

Example with stdio transport:

node dist/index.js --transport stdio --api-key YOUR_ESIOS_API_KEY

Local Configuration Example

{
  "mcpServers": {
    "pvpc": {
      "command": "npx",
      "args": ["-y", "tsx", "/path/to/folder/pvpc-mcp-server/src/index.ts", "--api-key", "YOUR_ESIOS_API_KEY"]
    }
  }
}

Testing with MCP Inspector

npx -y @modelcontextprotocol/inspector npx -y @rfdez/pvpc-mcp-server

License

This project is licensed under the MIT License - see the LICENSE file for details.

Available Tools

1 tool
fetch_pricesFetch PVPC PricesAInspect

Fetches the Voluntary Price for the Small Consumer (PVPC) prices for a given date range and geographical area.

ParametersJSON Schema
NameRequiredDescriptionDefault
localeNoGet translations for sources. Accepted values: `es`, `en`. Defaults to `es`.es
startDateNoBeginning of the date range to filter indicator values in iso8601 format. E.g. 2025-06-29T00:00:00.000+02:00. Defaults to the start of today.2026-04-29T00:00:00.000Z
endDateNoEnd of the date range to filter indicator values in iso8601 format. E.g. 2025-06-29T23:59:59.999+02:00. Defaults to the end of today.2026-04-29T23:59:59.999Z
timeAggregationNoHow to aggregate indicator values when grouping them by time. Accepted values: `sum`, `average`. Defaults to `sum`.sum
timeTruncationNoTells how to truncate data time series. Accepted values: `hour`, `day`, `month`, `year`.
geographicalAggregationNoHow to aggregate indicator values when grouping them by geographical ID. Accepted values: `sum`, `average`. Defaults to `sum`.sum
geographicalIdsNoTells the geographical IDs to filter indicator values. Accepted values: `3` (España), `8741` (Península), `8742` (Canarias), `8743` (Baleares), `8744` (Ceuta), `8745` (Melilla). Defaults to `8741`, `8742`, `8743`, `8744`, `8745`.
geographicalTruncationNoTells how to group data at geographical level when the geographical aggregation is informed. Accepted values: `country`, `electric_system`.

Output Schema

ParametersJSON Schema
NameRequiredDescription
pricesYes

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided and description does not disclose behavioral traits like read-only, rate limits, or side effects. Relies entirely on schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with no superfluous information, directly to the point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Description is minimal given the 8 parameters and no siblings. Output schema exists, so return details are covered, but more context on usage patterns would help.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the description adds no extra meaning beyond the already detailed parameter descriptions. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool fetches PVPC prices for a date range and geographical area, using specific verb and resource.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use, but with no sibling tools, the context is implied. No when-not-to-use or alternatives mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 1 tool updatev3.2.3
    • Changedfetch_prices2 fields changed
      • changedInput schema / properties / endDate / default
        Previous value: -"2026-01-03T23:59:59.999Z"New value: +"2026-04-29T23:59:59.999Z"
      • changedInput schema / properties / startDate / default
        Previous value: -"2026-01-03T00:00:00.000Z"New value: +"2026-04-29T00:00:00.000Z"
  2. 1 tool updatev1.0.0
    • Changedfetch_prices2 fields changed
      • changedInput schema / properties / endDate / default
        Previous value: -"2025-12-31T23:59:59.999Z"New value: +"2026-01-03T23:59:59.999Z"
      • changedInput schema / properties / startDate / default
        Previous value: -"2025-12-31T00:00:00.000Z"New value: +"2026-01-03T00:00:00.000Z"
  3. 1 tool update
    • First observedfetch_prices

TDQS

A3.7/5.0
Disambiguation5/5

With only one tool, there is no ambiguity; the tool's purpose is clear and distinct.

Naming Consistency5/5

A single tool follows the verb_noun pattern, which is consistent and descriptive.

Tool Count3/5

The server has only one tool, which is minimal for a domain that could potentially include more operations (e.g., listing areas or historical data). However, for a focused PVPC price fetcher, it is borderline acceptable.

Completeness4/5

The tool covers the primary use case of fetching prices for a date range and area. Minor gaps like additional filtering options or bulk data retrieval are not critical, but the surface is quite narrow.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables natural language conversations with Spain's electrical grid data through Claude, providing real-time access to electricity demand, generation, prices, and emissions data from Red Eléctrica de España (REE).
    2
    18
    11
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to access and analyze Spanish electricity consumption data via the Datadis API, providing tools for supply management, consumption analysis, anomaly detection, and executive reporting.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Access Great Britain electricity grid open data from the NESO API, enabling queries about generation, demand, and market data.
    4
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables access to European electricity data including day-ahead prices, probabilistic forecasts, carbon intensity, and cheapest-window optimization for 43 bidding zones.
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rfdez/pvpc-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server