Metadata-Version: 2.4
Name: solar-data-mcp
Version: 0.1.0
Summary: All US open solar data in one MCP server: PVWatts production, tariffs & ROI, market intelligence, forecasts
Project-URL: Homepage, https://github.com/hoodsy/solar-data-mcp
Author: Logan Bernard
License-Expression: MIT
Keywords: eia,forecast,mcp,nrel,open-data,pvwatts,solar,solartrace,urdb,uspvdb
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering
Requires-Python: >=3.11
Requires-Dist: duckdb<2,>=1.1
Requires-Dist: httpx<1,>=0.27
Requires-Dist: mcp<2,>=1.26
Requires-Dist: pydantic<3,>=2.7
Requires-Dist: solar-data-mcp-core<0.2,>=0.1
Requires-Dist: solar-data-mcp-economics<0.2,>=0.1
Requires-Dist: solar-data-mcp-forecast<0.2,>=0.1
Requires-Dist: solar-data-mcp-market<0.2,>=0.1
Requires-Dist: solar-data-mcp-nrel<0.2,>=0.1
Description-Content-Type: text/markdown

# 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](https://github.com/hoodsy/solar-data-mcp), which also ships
each domain as a standalone server.

## Add it to your agent

```json
{
  "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](https://github.com/hoodsy/solar-data-mcp#add-it-to-your-agent).

## 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:

```console
$ 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`](https://github.com/hoodsy/solar-data-mcp/blob/main/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](https://github.com/hoodsy/solar-data-mcp/tree/main/packages/solar-forecast).
