matt-dreyer/EG4_MCP_server
If you are the rightful owner of EG4_MCP_server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
An MCP Server for the EG4 Solar Inverter Monitoring API, providing comprehensive solar system monitoring and analysis capabilities.
Fetch_Configuration
Get complete system configuration and status
Get_System_Details
Detailed system information and inverter specs
Get_Current_Production
Real-time production and consumption data
Get_Performance_Analysis
Performance metrics and efficiency analysis
Get_Historical_Data
Historical energy data and trends
Get_System_Alerts
System health alerts and warnings
Get_System_Health
Comprehensive health scoring
Get_Maintenance_Insights
Maintenance recommendations and scheduling
EG4 MCP Server
An MCP (Model Context Protocol) Server for the EG4 Solar Inverter Monitoring API, providing comprehensive solar system monitoring and analysis capabilities.
Features
- 🔌 Real-time monitoring - Current production, consumption, and system status
- 📊 Performance analysis - Efficiency metrics and grid independence calculations
- 🔋 Battery health monitoring - SOH, SOC, and cycle count tracking
- ⚠️ Smart alerts - Proactive issue detection and notifications
- 🛠️ Maintenance insights - Automated recommendations and scheduling
- 📈 Historical data - Energy production and consumption trends
- 🏥 System health scoring - Component-level health assessment
Installation
Quick start (dev mode)
# 1. create & activate venv
cd eg4_mcp_server
python -m venv .venv
.venv\Scripts\activate # PowerShell: .venv\Scripts\Activate.ps1
# 2. install requirements
pip install -r requirements.txt
# 3. run the server
python server.py
### Prerequisites
- Python 3.10 or higher
- EG4 inverter with online monitoring account
- Access to EG4 monitoring portal credentials
### Install from PyPI (Coming Soon)
```bash
pip install eg4-mcp-server
Install from Source
- Clone the repository:
git clone https://github.com/yourusername/eg4-mcp-server.git
cd eg4-mcp-server
- Install dependencies:
pip install -e .
Configuration
- Copy the environment template:
cp .env.example .env
- Edit
.env
with your EG4 credentials:
EG4_USERNAME=your_eg4_username
EG4_PASSWORD=your_eg4_password
EG4_BASE_URL=https://monitor.eg4electronics.com
EG4_DISABLE_VERIFY_SSL=0
Usage
Running the MCP Server
Start the server directly:
python server.py
Or use the MCP CLI:
mcp run server.py
Available Tools
Tool | Description |
---|---|
Fetch_Configuration | Get complete system configuration and status |
Get_System_Details | Detailed system information and inverter specs |
Get_Current_Production | Real-time production and consumption data |
Get_Performance_Analysis | Performance metrics and efficiency analysis |
Get_Historical_Data | Historical energy data and trends |
Get_System_Alerts | System health alerts and warnings |
Get_System_Health | Comprehensive health scoring |
Get_Maintenance_Insights | Maintenance recommendations and scheduling |
Example Usage with Claude
-
Check current system status:
What's my solar system producing right now?
-
Get performance analysis:
How is my solar system performing this week?
-
Check for alerts:
Are there any issues with my solar system?
-
Get maintenance recommendations:
What maintenance does my solar system need?
Integration with AI Assistants
This MCP server is designed to work with AI assistants that support the Model Context Protocol, such as:
- Claude Desktop - Add to your MCP configuration
- Other MCP-compatible clients
Claude Desktop Configuration
Add to your claude_desktop_config.json
:
{
"mcpServers": {
"eg4": {
"command": "python",
"args": ["/path/to/eg4-mcp-server/server.py"],
"env": {
"EG4_USERNAME": "your_username",
"EG4_PASSWORD": "your_password"
}
}
}
}
API Reference
Tool Parameters
Most tools accept optional parameters:
system_id
(int, optional): Specific system ID (defaults to first system)days_back
(int): Number of days for historical data (default varies by tool)threshold_percent
(float): Performance threshold for maintenance insights
Response Format
All tools return JSON responses with:
timestamp
: ISO format timestampdata
: Tool-specific data structureerror
: Error message if applicable
Example response:
{
"timestamp": "2025-06-24T10:30:00",
"system_status": "Normal",
"current_production": {
"solar_power": "2.5 kW",
"battery_discharge": "0.0 W",
"home_consumption": "1.8 kW"
}
}
Contributing
We welcome contributions! Please see our for details.
Development Setup
- Fork the repository
- Create a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
- Install development dependencies:
pip install -e ".[dev]"
- Make your changes and run tests:
pytest
Troubleshooting
Common Issues
-
Authentication Failed
- Verify your EG4 credentials in
.env
- Check if your account has API access
- Verify your EG4 credentials in
-
SSL Certificate Errors
- Set
EG4_DISABLE_VERIFY_SSL=1
in your.env
file - This disables SSL verification (use with caution)
- Set
-
No Inverters Found
- Ensure your account has associated inverters
- Check if inverters are online in the EG4 portal
-
Connection Timeouts
- Check your internet connection
- Verify the
EG4_BASE_URL
is correct
Debug Mode
Enable verbose logging by setting the environment variable:
export EG4_DEBUG=1
python server.py
License
This project is licensed under the MIT License - see the file for details.
Acknowledgments
- Built on top of the excellent eg4_inverter_api library
- Powered by the Model Context Protocol
- Special thanks to the EG4 community for reverse-engineering efforts
Changelog
See for version history and changes.
Support
- 📖 Documentation: Check this README and inline tool documentation
- 🐛 Bug Reports: Open an issue
- 💡 Feature Requests: Open an issue
- 💬 Discussions: GitHub Discussions
Note: This project is not officially affiliated with EG4 Electronics. It's a community-driven project for interfacing with EG4 monitoring systems.