pvperfsolar performance modeling

pvperf in Cursor

Cursor runs pvperf through its MCP server at https://pvperf.com/mcp. The connection sends your API key in the Authorization header.

You need a pvperf API key. Sign in to the workbench with your email, open the Account page and create a key. The key starts with pvp_live_.

The configuration file

  1. Set the environment variable PVPERF_API_KEY to your key and restart Cursor. On Windows, run setx PVPERF_API_KEY pvp_live_… in a terminal. On macOS and Linux, add export PVPERF_API_KEY=pvp_live_… to your shell profile.
  2. Add the pvperf entry below under mcpServers in ~/.cursor/mcp.json for every project, or in .cursor/mcp.json for one project.
{
  "mcpServers": {
    "pvperf": {
      "url": "https://pvperf.com/mcp",
      "headers": { "Authorization": "Bearer ${env:PVPERF_API_KEY}" }
    }
  }
}

Cursor replaces ${env:PVPERF_API_KEY} with the variable's value. You can write the key in its place instead, as Bearer pvp_live_…. A key written in .cursor/mcp.json is shared with everyone who has the project.

pvperf then shows in the MCP servers under Customize, with its 14 tools. If it shows an error, open the Output panel and select MCP Logs.

A first prompt

In the Agent chat, enter:

Use pvperf to simulate 5 MWp of single-axis trackers near Phoenix, Arizona (latitude 33.45, longitude −112.07). Then rerun the same field at a ground cover ratio of 0.33 and compare the energy to the grid of the two runs.

Cursor asks your approval before each tool call. It calls simulate_simple, then simulate with the first answer's request at array.gcr 0.33. The answer contains:

Both runs are stored with your account. get_run reads them again by their run_id.

The AI assistants page lists every tool. The Python example makes the same two tracker runs from code.