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
- Set the environment variable
PVPERF_API_KEYto your key and restart Cursor. On Windows, runsetx PVPERF_API_KEY pvp_live_…in a terminal. On macOS and Linux, addexport PVPERF_API_KEY=pvp_live_…to your shell profile. - Add the
pvperfentry below undermcpServersin~/.cursor/mcp.jsonfor every project, or in.cursor/mcp.jsonfor 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:
- the energy to the grid of each run for a typical year, in kWh
- the specific yield of each run in kWh/kWp and the performance ratio
- the loss rows that change between the runs, such as the near-shading loss in kWh/m²
billingfor each run, its units and price
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.