pvwatts-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@pvwatts-mcpestimate solar potential for 30 acres at 35.1, -106.6"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
pvwatts-mcp
MCP server wrapping NREL PVWatts v8 for the Watts for Water project. Turns a parcel centroid + acreage into annual / monthly generation estimates suitable for revenue modeling and infographic headline numbers.
See spec.md for the design doc.
Tools
Tool | Purpose |
| Faithful wrapper around PVWatts v8. All parameters exposed; project defaults applied when omitted. |
| Convenience: acreage + centroid → MW DC → annual MWh, capacity factor, indicative revenue. |
Setup
npm installGet a free NREL API key at developer.nrel.gov/signup, then store it as a Worker secret:
npx wrangler secret put NREL_API_KEYFor local development with wrangler dev, put the same key in a .dev.vars file at the repo root (gitignored):
NREL_API_KEY=your-key-hereRunning locally
npm run devWorker listens at http://localhost:8787. Test endpoints:
GET /— plain-text usage hintPOST /mcp— streamable HTTP transport (recommended)GET /sse— legacy SSE transport
Inspect with the MCP Inspector:
npx @modelcontextprotocol/inspector@latest
# Then open the URL it prints and connect to http://localhost:8787/mcpDeploying
npx wrangler deployThen connect from Claude Desktop via mcp-remote:
{
"mcpServers": {
"pvwatts": {
"command": "npx",
"args": ["mcp-remote", "https://pvwatts-mcp.<your-account>.workers.dev/mcp"]
}
}
}Acceptance test
The MCP is ready to ship when this call returns sane numbers:
// Tool: solar_potential_for_acres
{
"lat": 41.72,
"lon": -111.83, // Cache Valley, Utah
"acres": 80,
"tracker": false
}Expected (per spec.md § Acceptance test, within ~10%):
system_capacity_mw_dc: 10.0annual.generation_mwh: 21,000 – 24,000annual.capacity_factor_pct: 24 – 26annual.indicative_revenue_usd: ~$735K – $840K at $35/MWhMonthly trough in Dec/Jan (~1,000 MWh), peak in Jun/Jul (~2,400 MWh)
Re-running with tracker=true should bump annual generation to 25,000–28,000 MWh and capacity factor to ~28–30%, validating the array-type plumbing.
Layout
src/
index.ts Worker entrypoint — routes /mcp and /sse
mcp.ts McpAgent subclass; tool registrations
pvwatts.ts NREL adapter — fetch, retry, cache, error mapping
defaults.ts Utah utility-scale assumption set + caveat stringsThis server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/cwoodcox/pvwatts-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server