Skip to content
Eden Engine

Grid-Connected Solar PV Yield Estimate (PVGIS)

pvgis/pv-estimate

Estimated energy from a grid-connected photovoltaic system at a latitude and longitude, from PVGIS: yearly and monthly energy output (kWh), in-plane irradiation, year-to-year variability and system loss breakdown. Give the peak power in kWp and the system loss in percent; give tilt (angle) and orientation (aspect) for a fixed array or leave both out and the panel is horizontal. Mounting (stand-alone or building integrated) and cell technology are selectable. Covers Europe, Africa, most of Asia and the Americas; open sea is refused. Estimates calculated by PVGIS (European Commission Joint Research Centre), served by Eden Engine; not an official European Commission product.

activeper callv1

Price

$0.0026 per call

You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $0.50.

Data source

European Commission Joint Research Centre (PVGIS)

PVGIS (c) European Union, Joint Research Centre. Reused under Commission Decision 2011/833/EU. Served by Eden Engine; not an official European Commission product.

Use it

Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.

Connect once and your AI can find and run this tool, and any other it needs.

agent
// 1. search: find the tool
omnial_search({ query: "what you need" })

// 2. inspect: price and input schema
omnial_inspect({ tool: "pvgis/pv-estimate" })

// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "pvgis/pv-estimate" })

// 4. run: price the exact call first, then run it
omnial_execute({ tool: "pvgis/pv-estimate", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "pvgis/pv-estimate", input: { /* ... */ } })

// 5. settle: the call is charged when it finishes, nothing to do

Not connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.

Pricing

Every charge this tool can incur.

ChargePrice
Per call
$0.0026
Updated
Oct 25, 2026

Input and output schemas

Input schema
input_schema.json
{
  "type": "object",
  "required": [
    "lat",
    "lon"
  ],
  "properties": {
    "lat": {
      "type": "number",
      "maximum": 90,
      "minimum": -90,
      "description": "Latitude in decimal degrees, -90 to 90 (north positive)."
    },
    "lon": {
      "type": "number",
      "maximum": 180,
      "minimum": -180,
      "description": "Longitude in decimal degrees, -180 to 180 (east positive)."
    },
    "loss": {
      "type": "number",
      "default": 14,
      "maximum": 100,
      "minimum": 0,
      "description": "System losses in percent, 0 to 100 (default 14)."
    },
    "angle": {
      "type": "number",
      "maximum": 90,
      "minimum": 0,
      "description": "Panel tilt from horizontal in degrees, 0 to 90. Leave out for 0 (flat)."
    },
    "aspect": {
      "type": "number",
      "maximum": 180,
      "minimum": -180,
      "description": "Panel orientation in degrees: 0 is south, 90 west, -90 east, 180 north. Leave out for 0 (south)."
    },
    "peakpower": {
      "type": "number",
      "default": 1,
      "maximum": 100000000,
      "minimum": 0.001,
      "description": "Installed peak power in kWp, 0.001 to 100000000 (default 1)."
    },
    "pvtechchoice": {
      "enum": [
        "crystSi",
        "CIS",
        "CdTe",
        "Unknown"
      ],
      "type": "string",
      "default": "crystSi",
      "description": "Cell technology: crystSi, CIS, CdTe or Unknown (default crystSi)."
    },
    "mountingplace": {
      "enum": [
        "free",
        "building"
      ],
      "type": "string",
      "default": "free",
      "description": "Array mounting: stand-alone (the default) or building for a building-integrated array."
    }
  },
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "required": [
    "inputs",
    "outputs"
  ],
  "properties": {
    "meta": {
      "type": "object",
      "description": "Field descriptions and units from PVGIS.",
      "additionalProperties": true
    },
    "inputs": {
      "type": "object",
      "required": [
        "location"
      ],
      "properties": {
        "location": {
          "type": "object",
          "required": [
            "latitude",
            "longitude"
          ],
          "properties": {
            "latitude": {
              "type": "number"
            },
            "elevation": {
              "type": "number",
              "description": "Ground elevation in metres."
            },
            "longitude": {
              "type": "number"
            }
          },
          "additionalProperties": true
        },
        "meteo_data": {
          "type": "object",
          "description": "Radiation and weather databases and years used.",
          "additionalProperties": true
        }
      },
      "description": "Echo of the inputs PVGIS used.",
      "additionalProperties": true
    },
    "outputs": {
      "type": "object",
      "required": [
        "monthly",
        "totals"
      ],
      "properties": {
        "totals": {
          "type": "object",
          "required": [
            "fixed"
          ],
          "properties": {
            "fixed": {
              "type": "object",
              "required": [
                "E_y"
              ],
              "properties": {
                "E_d": {
                  "type": "number"
                },
                "E_m": {
                  "type": "number"
                },
                "E_y": {
                  "type": "number",
                  "description": "Average yearly energy, kWh."
                },
                "SD_y": {
                  "type": "number"
                },
                "H(i)_y": {
                  "type": "number",
                  "description": "Yearly in-plane irradiation, kWh/m2."
                }
              },
              "additionalProperties": true
            }
          },
          "additionalProperties": true
        },
        "monthly": {
          "type": "object",
          "required": [
            "fixed"
          ],
          "properties": {
            "fixed": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "month"
                ],
                "properties": {
                  "E_d": {
                    "type": "number",
                    "description": "Average daily energy, kWh."
                  },
                  "E_m": {
                    "type": "number",
                    "description": "Average monthly energy, kWh."
                  },
                  "SD_m": {
                    "type": "number",
                    "description": "Year-to-year standard deviation of monthly energy, kWh."
                  },
                  "month": {
                    "type": "integer"
                  },
                  "H(i)_d": {
                    "type": "number",
                    "description": "Average daily in-plane irradiation, kWh/m2."
                  },
                  "H(i)_m": {
                    "type": "number",
                    "description": "Average monthly in-plane irradiation, kWh/m2."
                  }
                },
                "additionalProperties": true
              }
            }
          },
          "additionalProperties": true
        }
      },
      "additionalProperties": true
    }
  },
  "additionalProperties": true
}