loading…
Search for a command to run...
loading…
An MCP server that enables AI assistants to look up solar permitting authorities, estimate solar production via PVWatts, and retrieve irradiance data. It stream
An MCP server that enables AI assistants to look up solar permitting authorities, estimate solar production via PVWatts, and retrieve irradiance data. It streamlines the creation of solar-aware workflows by integrating industry-standard APIs like NREL.
A community-sponsored open-source MCP server that wraps solar industry APIs as tools for AI assistants. Built with FastMCP and hosted as a public endpoint at api.ontologic.co/solar-mcp.
Solar MCP gives AI assistants the ability to look up permitting authorities, estimate solar production, and retrieve solar resource data — making it easy to build solar-aware AI workflows.
lookup_ahjLook up the Authority Having Jurisdiction (AHJ) for a solar installation site.
| Parameter | Type | Required | Description |
|---|---|---|---|
address |
string | One of address or lat/lon | Street address |
lat |
float | One of address or lat/lon | Latitude |
lon |
float | One of address or lat/lon | Longitude |
Returns: ahj_name, ahj_id, building_code, electrical_code, fire_code, permit_authority, inspection_body, contact_name, contact_email, contact_phone, website
lookup_ahj_requirementsLook up detailed permitting requirements for a specific AHJ.
| Parameter | Type | Required | Description |
|---|---|---|---|
ahj_id |
string | Yes | AHJ ID from lookup_ahj |
Returns: nec_version, ibc_version, irc_version, special_requirements (list), permit_process_notes, online_submission (bool), typical_turnaround_days
lookup_pvwattsGet a PVWatts v8 solar production estimate.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
address |
string | One of address or lat/lon | — | Street address |
lat |
float | One of address or lat/lon | — | Latitude |
lon |
float | One of address or lat/lon | — | Longitude |
system_capacity_kw |
float | Yes | — | System size in kW |
tilt |
float | No | 20 | Panel tilt angle |
azimuth |
float | No | 180 | Panel azimuth (180 = south) |
array_type |
int | No | 1 | 0=fixed ground, 1=fixed open rack, 2=1-axis, 3=1-axis backtrack, 4=2-axis |
module_type |
int | No | 0 | 0=standard, 1=premium, 2=thin film |
losses |
float | No | 14 | System losses (%) |
Returns: ac_annual_kwh, ac_monthly_kwh (12 values), solrad_annual, capacity_factor, station_info
lookup_solar_resourceGet solar resource data (irradiance) for a location.
| Parameter | Type | Required | Description |
|---|---|---|---|
address |
string | One of address or lat/lon | Street address |
lat |
float | One of address or lat/lon | Latitude |
lon |
float | One of address or lat/lon | Longitude |
Returns: avg_dni, avg_ghi, avg_lat_tilt, nearest_station_name, station_distance_miles
Add this to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"solar-mcp": {
"url": "https://api.ontologic.co/solar-mcp/mcp"
}
}
}
Or to run locally:
{
"mcpServers": {
"solar-mcp": {
"url": "http://localhost:8000/solar-mcp/mcp"
}
}
}
docker build -t solar-mcp .
docker run -p 8000:8000 \
-e NREL_API_KEY=your_key_here \
-e SUNSPEC_API_TOKEN=your_token_here \
solar-mcp
pip install -e ".[dev]"
cp .env.example .env
# Edit .env with your API keys
python server.py
| Variable | Required | Description |
|---|---|---|
NREL_API_KEY |
Yes | NREL API key (get one free) |
SUNSPEC_API_TOKEN |
No | SunSpec AHJ Registry token (mock data used until available) |
PORT |
No | Server port (default: 8000) |
pip install -e ".[dev]"
pytest tests/ -v
Contributions are welcome! To add a new tool:
models/schemas.pyclients/ (keep API interaction separate from tool logic)tools/server.pytests/Please open an issue first to discuss new tools or significant changes.
MIT
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"solar-mcp": {
"command": "npx",
"args": []
}
}
}