pvpc-mcp-server について
2.0 TD 契約者向けに、Red Eléctrica が毎日公開する PVPC の時間別電気料金を取得する MCP サーバーです。日付や地域での絞り込み、集計に対応します。
主な機能
- 01期間を指定した料金取得
- 02地域による絞り込み
- 03時間と地域ごとの集計
- 04時間または地理単位でのグループ化
活用シーン
- 01翌日の時間別料金の確認
- 02スペイン各地域の料金比較
MCP 対応
MCP クライアントに `fetch_prices` ツールを提供します。PVPC データを JSON テキストで返し、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です。省略可能なパラメーターです。
- 戻り値:PVPC 料金を JSON 形式で含むテキストコンテンツです。
- 入力:
🔧 設定
要件
Esios Red Eléctrica de España API にアクセスするには、Esios Red Eléctrica de España で API キーを登録する必要があります。
API ドキュメントは API e·sios Documentation で確認できます。
Claude Desktop
リモートサーバーへの接続
Claude Desktop を開き、Settings > Connectors > Add Custom Connector に移動します。名前に PVPC を入力し、https://mcp.example.com/mcp のようなリモート MCP サーバーの URL を入力します。
ローカルサーバーへの接続
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 サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。