PVGIS

live EnergyClimateEurope

EU JRC Photovoltaic Geographical Information System — models PV system output, monthly irradiation, typical meteorological year. Global, keyless.

3 tools
0ms auth
free tier 50 calls/day

Tools

pv_performance required: latitude, longitude

Model annual + monthly PV output.

Parameters
Name Type Description
latitude req number
longitude req number
peakpower opt number
loss opt number
mountingplace opt string
angle opt number
aspect opt number
pvtechchoice opt string
Try it
monthly_radiation required: latitude, longitude

Long-term monthly average irradiation.

Parameters
Name Type Description
latitude req number
longitude req number
horirrad opt boolean
optrad opt boolean
startyear opt number
endyear opt number
angle opt number
Try it
tmy required: latitude, longitude

Typical Meteorological Year (hourly).

Parameters
Name Type Description
latitude req number
longitude req number
startyear opt number
endyear opt number
Try it

Test with curl

The gateway speaks JSON-RPC 2.0 over HTTP POST. You can test any pack directly from the terminal.

List available tools
bash
curl -X POST https://gateway.pipeworx.io/pvgis/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Call a tool
bash
curl -X POST https://gateway.pipeworx.io/pvgis/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"pv_performance","arguments":{"latitude": 37.7749, "longitude": -122.4194}}}'

Use with the SDK

Install @pipeworx/sdk to call tools from any TypeScript/Node project.

TypeScript
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("pv_performance", {"latitude":"example","longitude":"example"});
ask_pipeworx
// Or ask in plain English:
const answer = await px.ask("eu jrc photovoltaic geographical information system — models pv system output, monthly irradiation, typical meteorological year");