Enphase Solar MCP Server
Enphase Solar MCP Server
MCP-сервер, подключающий Claude Desktop к официальному Enphase Developer API v4. По умолчанию работает в режиме только чтения; запись для аккумуляторов и зарядных устройств для электромобилей доступна при включении соответствующего флага. Никакого сбора паролей — чистый доступ через OAuth 2.0 к данным вашей собственной системы.
Что вы получаете
30 инструментов для чтения (всегда включены), сгруппированных по назначению:
Группа | Инструменты |
Обзор |
|
Итоговые показатели |
|
Телеметрия (интервалы) |
|
События / состояние |
|
Конфигурация (только чтение) |
|
Зарядное устройство для ЭМ |
|
3 инструмента для записи (включаются через ENPHASE_ENABLE_WRITES=1):
Инструмент | Что он изменяет |
| Изменяет режим/резерв/расписание аккумулятора |
| Запускает зарядное устройство Enphase IQ EV |
| Останавливает зарядное устройство Enphase IQ EV |
Эти инструменты изменяют поведение физического оборудования без возможности отмены. Оставляйте их выключенными, если вам не требуется управление оборудованием с помощью LLM.
Ограничения плана и оборудования
План подписки. Бесплатный план Watt покрывает детали системы + производство/потребление на уровне объекта — этого достаточно для большинства инструментов чтения. Телеметрия по отдельным устройствам, защита от шторма (storm guard) и некоторые конечные точки аккумуляторов могут требовать план Kilowatt или выше. Ошибка 401 при использовании конкретного инструмента обычно означает «обновите ваш план».
Необходимое оборудование. Инструменты для аккумуляторов требуют наличия Enphase IQ Battery / Encharge. Инструменты для зарядных устройств для ЭМ требуют наличия Enphase IQ EV charger (Tesla Wall Connectors и сторонние зарядные устройства не видны для Enphase). Ошибка 404 от одного из них обычно означает «у вас нет этого устройства».
Ошибки API передаются как есть, чтобы вы могли понять, с какой ситуацией столкнулись.
Related MCP server: WHOOP MCP Server
Предварительные требования
Python 3.11+
Учетная запись Enphase Enlighten с вашей системой
Учетная запись разработчика Enphase на https://developer-v4.enphase.com (бесплатного плана Watt достаточно — 1000 вызовов в месяц)
Настройка
1. Регистрация приложения разработчика
Зарегистрируйтесь на https://developer-v4.enphase.com
Подпишитесь на план Watt (бесплатно)
Создайте новое приложение
Установите Redirect URI на
https://api.enphaseenergy.com/oauth/redirect_uri(по умолчанию)Запишите ваши API Key, Client ID и Client Secret
2. Поиск ID вашей системы
Войдите на https://enlighten.enphaseenergy.com — ID вашей системы находится в URL:
https://enlighten.enphaseenergy.com/web/{SYSTEM_ID}/today
(Если вы его еще не знаете, оставьте поле пустым в .env и используйте get_systems после запуска сервера, чтобы найти его.)
3. Установка
cd enphase-mcp
python3 -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt4. Настройка учетных данных
cp .env.example .env
# Edit .env and fill in API key, client ID, client secret, system ID
# (Optional) uncomment ENPHASE_ENABLE_WRITES=1 to expose write tools.5. Запуск однократного процесса авторизации
python auth_setup.pyСкрипт выведет URL для авторизации. Убедитесь, что вы уже вошли в Enlighten в том же браузере, затем откройте URL и подтвердите доступ к вашей системе. Вы будете перенаправлены на страницу с кодом авторизации. Скопируйте его и вставьте в терминал.
Это создаст файл tokens.json с вашими токенами доступа и обновления. После этого клиент будет автоматически обновлять их при каждом вызове API.
6. Подключение к Claude Desktop
Отредактируйте claude_desktop_config.json:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"enphase": {
"command": "/absolute/path/to/enphase-mcp/.venv/bin/python",
"args": ["/absolute/path/to/enphase-mcp/server.py"]
}
}
}Полностью перезапустите Claude Desktop (⌘Q на macOS, а не просто закрытие окна). Вы должны увидеть индикатор инструментов в поле ввода чата. Задавайте вопросы вроде «сколько мы произвели сегодня по сравнению со вчерашним днем?» или «каким был пик производства в этом месяце?».
Поведение при обновлении токенов
Токены доступа действуют 1 час
Токены обновления действуют около 1 недели бездействия — любой вызов API сбрасывает таймер
Если обновление не удалось, снова запустите
python auth_setup.py
Дополнительно: автоматическое поддержание активности
Если вы не делаете запросы к Enphase еженедельно, вы можете запускать keepalive.py по расписанию, чтобы поддерживать токен обновления в активном состоянии. Он вызывает /systems один раз и записывает результат в keepalive.log. На macOS добавьте LaunchAgent в ~/Library/LaunchAgents/com.enphase-mcp.keepalive.plist, указывающий на Python из виртуального окружения и keepalive.py, с параметром StartInterval, установленным на 259200 (3 дня) — это дает около 4 дней запаса внутри 7-дневного окна неактивности. Загрузите его с помощью launchctl bootstrap gui/$(id -u) <plist>.
Добавление новых конечных точек
Интерфейс Enphase v4 API задокументирован на https://developer-v4.enphase.com/docs, а полная спецификация Swagger находится по адресу https://developer-v4.enphase.com/swagger/spec/System_API.json (47 конечных точек; этот сервер оборачивает большинство из них, но пропускает телеметрию отдельных микроинверторов, конечные точки тепловых насосов, поиск по нескольким системам и несколько специализированных конечных точек для считывания показаний счетчиков).
Чтобы добавить новую, добавьте метод в server.py, следуя существующему шаблону:
@mcp.tool()
def my_new_tool(some_param: str) -> dict:
"""What this returns."""
sid = client.require_system_id()
return client.get(f"/systems/{sid}/some_endpoint", params={"x": some_param})Устранение неполадок
401 на определенных конечных точках: Проблема с уровнем плана. Большинство операций чтения работают на Watt; некоторые требуют Kilowatt+.
404 на конечных точках аккумулятора / зарядного устройства для ЭМ: У вас нет этого оборудования в системе.
406 на URL авторизации: Вы не вошли в Enlighten в браузере. Сначала войдите, затем снова откройте URL авторизации.
"No tokens found": Запустите python auth_setup.py.
Claude не видит инструменты: Проверьте логи Claude Desktop в ~/Library/Logs/Claude/ (macOS) или %APPDATA%\Claude\logs\ (Windows). Большинство проблем связано с неправильными абсолютными путями в claude_desktop_config.json.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityAmaintenanceEnables Claude Desktop to access Tesla vehicle data through the Tessie API. Users can query their car's location, battery level, mileage, driving history, and charging status using natural language.56MIT
- AlicenseNot gradedqualityDmaintenanceConnects WHOOP fitness data to Claude Desktop, enabling natural language queries about workouts, recovery, sleep patterns, and physiological cycles with secure OAuth authentication and local data storage.10027MIT
- AlicenseBqualityAmaintenanceConnects Claude Desktop to Garmin Connect, enabling natural language queries of fitness activity data, health metrics, sleep analysis, workout management, and device information with 94 available tools.1091MIT
- AlicenseCqualityDmaintenanceConnects Claude with the Tesla Owner API, enabling authentication and data retrieval for Tesla vehicles and solar systems.71MIT
Related MCP Connectors
WHOOP recovery, strain, sleep and workouts in Claude via official WHOOP OAuth. Free, open source.
Garmin data in Claude & ChatGPT via the Garmin Health API. OAuth sign-in, no password sharing.
Connect Claude to Fathom meeting recordings, transcripts, and summaries
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/xianman/enphase-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server