Skip to main content

Model Context Protocol server for EG4 solar inverter monitoring and control

Project description

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
```bash
pip install eg4-mcp-server

Install from Source

  1. Clone the repository:
git clone https://github.com/yourusername/eg4-mcp-server.git
cd eg4-mcp-server
  1. Install dependencies:
pip install -e .

Configuration

  1. Copy the environment template:
cp .env.example .env
  1. 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

  1. Check current system status:

    What's my solar system producing right now?
    
  2. Get performance analysis:

    How is my solar system performing this week?
    
  3. Check for alerts:

    Are there any issues with my solar system?
    
  4. 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": ["-m", "eg4_mcp_server"],
      "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 timestamp
  • data: Tool-specific data structure
  • error: 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 Contributing Guidelines for details.

Development Setup

  1. Fork the repository
  2. Create a virtual environment:
    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    
  3. Install development dependencies:
    pip install -e ".[dev]"
    
  4. Make your changes and run tests:
    pytest
    

Troubleshooting

Common Issues

  1. Authentication Failed

    • Verify your EG4 credentials in .env
    • Check if your account has API access
  2. SSL Certificate Errors

    • Set EG4_DISABLE_VERIFY_SSL=1 in your .env file
    • This disables SSL verification (use with caution)
  3. No Inverters Found

    • Ensure your account has associated inverters
    • Check if inverters are online in the EG4 portal
  4. 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 LICENSE file for details.

Acknowledgments

Changelog

See CHANGELOG.md for version history and changes.

Support


Note: This project is not officially affiliated with EG4 Electronics. It's a community-driven project for interfacing with EG4 monitoring systems.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

eg4_mcp_server-0.1.5.tar.gz (15.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

eg4_mcp_server-0.1.5-py3-none-any.whl (15.8 kB view details)

Uploaded Python 3

File details

Details for the file eg4_mcp_server-0.1.5.tar.gz.

File metadata

  • Download URL: eg4_mcp_server-0.1.5.tar.gz
  • Upload date:
  • Size: 15.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for eg4_mcp_server-0.1.5.tar.gz
Algorithm Hash digest
SHA256 09fd2ee81a78670c0bc36b4e9b2624d9b1db5801cc887f7b47d9b618371f45d5
MD5 cb6ed4eee3b39f38e1c954b5d2a3ae86
BLAKE2b-256 81c948807203e4e22fca322fde79dfe1e0e55750e5a54ee4c9d16994cafadde8

See more details on using hashes here.

File details

Details for the file eg4_mcp_server-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: eg4_mcp_server-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 15.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for eg4_mcp_server-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 0bb4d561a3f6c4b2a5049fdebce0a22238cf0ae50b52c2be5409b596b1f8863f
MD5 cf66b3e9cdc4beefe2655bd8a35c5bca
BLAKE2b-256 53fcf855026d3625d396c1c39df373363c18d2086bb3f5b6bdb9050701786283

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page