Solar 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., "@Solar MCPEstimate solar production for a 6kW system at 123 Maple St, Austin, TX"
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.
Solar MCP
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.
Available Tools
lookup_ahj
Look up the Authority Having Jurisdiction (AHJ) for a solar installation site.
Parameter | Type | Required | Description |
| string | One of address or lat/lon | Street address |
| float | One of address or lat/lon | Latitude |
| 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_requirements
Look up detailed permitting requirements for a specific AHJ.
Parameter | Type | Required | Description |
| string | Yes | AHJ ID from |
Returns: nec_version, ibc_version, irc_version, special_requirements (list), permit_process_notes, online_submission (bool), typical_turnaround_days
lookup_pvwatts
Get a PVWatts v8 solar production estimate.
Parameter | Type | Required | Default | Description |
| string | One of address or lat/lon | — | Street address |
| float | One of address or lat/lon | — | Latitude |
| float | One of address or lat/lon | — | Longitude |
| float | Yes | — | System size in kW |
| float | No | 20 | Panel tilt angle |
| float | No | 180 | Panel azimuth (180 = south) |
| int | No | 1 | 0=fixed ground, 1=fixed open rack, 2=1-axis, 3=1-axis backtrack, 4=2-axis |
| int | No | 0 | 0=standard, 1=premium, 2=thin film |
| float | No | 14 | System losses (%) |
Returns: ac_annual_kwh, ac_monthly_kwh (12 values), solrad_annual, capacity_factor, station_info
lookup_solar_resource
Get solar resource data (irradiance) for a location.
Parameter | Type | Required | Description |
| string | One of address or lat/lon | Street address |
| float | One of address or lat/lon | Latitude |
| float | One of address or lat/lon | Longitude |
Returns: avg_dni, avg_ghi, avg_lat_tilt, nearest_station_name, station_distance_miles
Connect in Claude Desktop
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"
}
}
}Run Locally
With Docker
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-mcpWithout Docker
pip install -e ".[dev]"
cp .env.example .env
# Edit .env with your API keys
python server.pyEnvironment Variables
Variable | Required | Description |
| Yes | NREL API key (get one free) |
| No | SunSpec AHJ Registry token (mock data used until available) |
| No | Server port (default: 8000) |
Running Tests
pip install -e ".[dev]"
pytest tests/ -vAttribution
NREL — PVWatts v8 API and Solar Resource Data API. This tool uses the NREL Developer Network API but is not endorsed or certified by NREL.
SunSpec Alliance — AHJ Registry API. AHJ data is currently mocked based on publicly available information; real API integration is pending token access.
Contributing
Contributions are welcome! To add a new tool:
Add Pydantic schemas in
models/schemas.pyAdd a client in
clients/(keep API interaction separate from tool logic)Add the tool function in
tools/Register the tool in
server.pyAdd tests in
tests/Update this README
Please open an issue first to discuss new tools or significant changes.
License
MIT
This 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/ianherzog/solar-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server