solar-data-mcp
All US open solar data in one MCP server: NREL PVWatts production modeling, tariffs & ROI economics, market intelligence, and generation forecasts — 18 tools, every result carrying data + units + source + assumptions + warnings. Part of solar-data-mcp, which also ships each domain as a standalone server.
Add it to your agent
{
"mcpServers": {
"solar-data": {
"command": "uvx",
"args": ["solar-data-mcp"],
"env": {
"NREL_API_KEY": "YOUR_KEY",
"OPENEI_API_KEY": "YOUR_KEY",
"EIA_API_KEY": "YOUR_KEY"
}
}
}
}
Snippets for Claude Code, Codex, OpenCode, and Hermes live in the repo README.
Keys (all free; every one optional to start)
| Env var | Unlocks | Get one |
|---|---|---|
NREL_API_KEY |
estimate_production, get_solar_resource, compare_orientations, size_system_for_target, estimate_roi, compare_forecast_to_model | https://developer.nlr.gov/signup/ (DEMO_KEY works for ~10 req/hr) |
OPENEI_API_KEY |
lookup_tariffs | https://openei.org/services/api/signup/ |
EIA_API_KEY |
get_electricity_prices | https://www.eia.gov/opendata/register.php |
AHJ_REGISTRY_TOKEN (optional) |
identify_ahj | email support@sunspec.org |
Market tools (USPVDB, Tracking the Sun, SolarTRACE) and forecasts need no key. The server starts with zero keys set — tools missing a key return setup instructions instead of failing silently. Check your setup any time:
$ uvx solar-data-mcp doctor
Skills
The server also ships eleven skills — procedural instructions that teach an agent
how to chain the tools for common question shapes (site assessment, quote review,
market briefs, …), including sync prerequisites and reporting rules. They are served
as MCP resources: skill://solar/index is the routing table (match the question
against it, load the referenced skill://solar/<name>), and the server instructions
point agents there automatically. Catalog and design rationale:
docs/skills.md.
Four of the skills produce reports with a fixed document shape, and each is also
exposed as an MCP prompt your host surfaces natively — market_brief(state),
site_assessment(location, usage), quote_review(quote_details), and
proposal_builder(customer_details) — e.g. /mcp__solar-data__market_brief in
Claude Code.
Forecast model note
forecast_generation uses the open Quartz model, whose package pins an old
pydantic and cannot live in an ephemeral uvx environment. Forecast tools
degrade to an actionable install message without it; for real forecasts use a
persistent install (uv tool install solar-data-mcp) plus the steps in the
solar-data-mcp-forecast README.
Metadata
Release files for solar-data-mcp 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| solar_data_mcp-0.1.1.tar.gz | 22.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| solar_data_mcp-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 49.4 kB
Release files / solar_data_mcp-0.1.1.tar.gz
| Download URL | solar_data_mcp-0.1.1.tar.gz |
|---|---|
| Size | 22.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e0a3ada65f2c949d8cb9aeb4cc30ac5e78b7b62e3af7442c1b4761b6f9b6c2e8
|
|
BLAKE2b-256 checksum How to use checksums |
fd1e50d1ee7e1c006d527c944e55abcf26383100f1a833ec27067bfb218baa8a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 6, 2026.
Transparency logRelease files / solar_data_mcp-0.1.1-py3-none-any.whl
| Download URL | solar_data_mcp-0.1.1-py3-none-any.whl |
|---|---|
| Size | 26.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fd2614133364518fbf723d5f13826c603bf8891785d03f48e743b5eb6e43ced1
|
|
BLAKE2b-256 checksum How to use checksums |
2ba935edde07cb4f6913da2b10991ed733a73bed294038e72e0b68fdd7d27fcc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 6, 2026.
Transparency log