tigo-mcp-server


Nametigo-mcp-server JSON
Version 0.2.0 PyPI version JSON
download
home_pageNone
SummaryModel Context Protocol server for Tigo Energy solar system monitoring and analytics
upload_time2025-07-16 03:19:54
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseMIT License Copyright (c) 2025 Matt Dreyer Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords ai-tools claude energy llm mcp model-context-protocol monitoring photovoltaic renewable-energy solar tigo
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Tigo Energy MCP Server

A Model Context Protocol (MCP) server that provides comprehensive access to Tigo Energy solar system data and analytics. This server enables AI assistants to interact with your Tigo solar monitoring system to retrieve production data, performance metrics, system health information, and maintenance insights.

## Features

### Core Functionality
- **System Configuration**: Access user account and system information
- **Real-time Production**: Get current solar production data and system summary
- **Performance Analysis**: Comprehensive efficiency metrics and panel performance evaluation
- **Historical Data**: Retrieve production data with configurable time ranges and granularity
- **System Health**: Monitor alerts and overall system status
- **Maintenance Insights**: AI-powered recommendations based on performance analysis

### Key Capabilities
- Monitor multiple solar systems (automatically uses primary system if not specified)
- Identify underperforming panels with customizable thresholds
- Calculate system efficiency metrics over configurable time periods
- Track and analyze system alerts and their types
- Generate maintenance recommendations with priority scoring
- Support for minute, hour, and day-level historical data analysis

## Installation

### Prerequisites
- Python 3.8 or higher
- A Tigo Energy account with API access
- Required Python packages (install via pip):

```bash
pip install python-dotenv mcp tigo-python fastmcp
```

### Setup

1. **Clone or download the server files**
   ```bash
   # Save the server.py file to your desired location
   ```

2. **Configure environment variables**
   ```bash
   # Copy the example environment file
   cp .env.example .env
   
   # Edit .env with your Tigo credentials
   TIGO_USERNAME=your_tigo_username
   TIGO_PASSWORD=your_tigo_password
   ```

3. **Test the server**
   ```bash
   python server.py
   ```

## Configuration

### Environment Variables

Create a `.env` file in the same directory as `server.py`:

```env
TIGO_USERNAME=your_tigo_username
TIGO_PASSWORD=your_tigo_password
```

**Security Note**: Keep your `.env` file secure and never commit it to version control. The `.env.example` file is provided as a template.

## Available Tools

### System Information Tools

#### `Fetch_Configuration`
Retrieves user account information and lists all available solar systems.

**Returns**: User details and system list with IDs and basic information.

#### `Get_System_Details`
Get comprehensive information about a specific solar system including layout, sources, and detailed specifications.

**Parameters**:
- `system_id` (optional): Specific system ID, uses first available system if not provided

### Production & Performance Tools

#### `Get_Current_Production`
Retrieve today's production data and real-time system summary.

**Parameters**:
- `system_id` (optional): Target system ID

**Returns**: Current production metrics, today's generation data, and system status.

#### `Get_Performance_Analysis`
Comprehensive performance analysis including efficiency metrics and panel-by-panel performance.

**Parameters**:
- `system_id` (optional): Target system ID
- `days_back` (default: 7): Number of days to analyze

**Returns**: Efficiency metrics, top/bottom performing panels, and performance summary.

#### `Get_Historical_Data`
Retrieve historical production data with configurable granularity.

**Parameters**:
- `system_id` (optional): Target system ID
- `days_back` (default: 30): Number of days of historical data
- `level` (default: "day"): Data granularity - "minute", "hour", or "day"

**Returns**: Historical production data with statistical summary.

### System Health Tools

#### `Get_System_Alerts`
Retrieve recent system alerts and health information.

**Parameters**:
- `system_id` (optional): Target system ID
- `days_back` (default: 30): Number of days to look back for alerts

**Returns**: Active and recent alerts with categorization and status.

#### `Get_System_Health`
Comprehensive system health status combining multiple data sources.

**Parameters**:
- `system_id` (optional): Target system ID

**Returns**: Overall health rating (Excellent/Good/Fair/Needs Attention) with supporting metrics and recommendations.

### Maintenance Tools

#### `Get_Maintenance_Insights`
AI-powered maintenance recommendations based on performance analysis.

**Parameters**:
- `system_id` (optional): Target system ID
- `threshold_percent` (default: 85.0): Performance threshold for identifying underperforming panels

**Returns**: Prioritized maintenance recommendations with affected components and next actions.

## Usage Examples

### Basic System Status Check
```python
# Get overall system health
health_status = await get_system_health()

# Check for any alerts
alerts = await get_system_alerts(days_back=7)

# Get current production
production = await get_current_production()
```

### Performance Analysis
```python
# Analyze performance over the last 30 days
performance = await get_performance_analysis(days_back=30)

# Get historical data at hourly granularity
historical = await get_historical_data(days_back=7, level="hour")

# Find maintenance issues
maintenance = await get_maintenance_insights(threshold_percent=80.0)
```

### Multi-System Management
```python
# Get all systems first
config = await fetch_configuration()

# Analyze specific system
system_details = await get_system_details(system_id=12345)
performance = await get_performance_analysis(system_id=12345, days_back=14)
```

## Integration with AI Assistants

This MCP server is designed to work seamlessly with AI assistants like Claude. The server provides structured JSON responses that enable natural language interactions about your solar system:

- "How is my solar system performing today?"
- "Show me any underperforming panels"
- "What maintenance does my system need?"
- "Compare this month's production to last month"
- "Are there any active alerts I should know about?"

## Error Handling

The server includes comprehensive error handling:
- Safe JSON serialization with fallback for complex data types
- Graceful handling of API connection issues
- Automatic fallback to primary system when system_id is not specified
- Detailed error messages for troubleshooting

## Security Considerations

- Credentials are loaded from environment variables, never hardcoded
- The server uses the official Tigo Python client with proper authentication
- All API responses are properly sanitized before returning
- No sensitive information is logged or exposed

## Troubleshooting

### Common Issues

1. **Authentication Errors**
   - Verify your Tigo username and password in the `.env` file
   - Ensure your Tigo account has API access enabled

2. **No Systems Found**
   - Check that your Tigo account has associated solar systems
   - Verify the systems are properly configured in your Tigo dashboard

3. **Connection Issues**
   - Check your internet connection
   - Verify Tigo API service status

### Debug Mode
Set debug logging by modifying the server startup:
```python
if __name__ == "__main__":
    import logging
    logging.basicConfig(level=logging.DEBUG)
    mcp.run(transport="stdio")
```

## Contributing

Contributions are welcome! Please ensure:
- Code follows existing patterns and error handling
- New tools include proper documentation
- Environment variables are used for configuration
- JSON responses are properly structured and safe

## License

This project uses the Tigo Python API client and follows its licensing terms. Please refer to the Tigo Energy API documentation for usage guidelines and restrictions.

## Support

For issues related to:
- **MCP Server**: Create an issue in this repository
- **Tigo API**: Contact Tigo Energy support
- **Tigo Python Client**: Refer to the tigo-python package documentation

---

*This MCP server enables powerful AI-driven solar system monitoring and maintenance insights. Monitor your solar investment with confidence and get proactive maintenance recommendations to maximize your system's performance.*
            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "tigo-mcp-server",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": "Matt Dreyer <matt_dreyer@hotmail.com>",
    "keywords": "ai-tools, claude, energy, llm, mcp, model-context-protocol, monitoring, photovoltaic, renewable-energy, solar, tigo",
    "author": null,
    "author_email": "Matt Dreyer <matt_dreyer@hotmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/25/60/b4f5e490f4868167acf2ccbd837ddaa066d18c7abfece92c7d9866bca6e0/tigo_mcp_server-0.2.0.tar.gz",
    "platform": null,
    "description": "# Tigo Energy MCP Server\n\nA Model Context Protocol (MCP) server that provides comprehensive access to Tigo Energy solar system data and analytics. This server enables AI assistants to interact with your Tigo solar monitoring system to retrieve production data, performance metrics, system health information, and maintenance insights.\n\n## Features\n\n### Core Functionality\n- **System Configuration**: Access user account and system information\n- **Real-time Production**: Get current solar production data and system summary\n- **Performance Analysis**: Comprehensive efficiency metrics and panel performance evaluation\n- **Historical Data**: Retrieve production data with configurable time ranges and granularity\n- **System Health**: Monitor alerts and overall system status\n- **Maintenance Insights**: AI-powered recommendations based on performance analysis\n\n### Key Capabilities\n- Monitor multiple solar systems (automatically uses primary system if not specified)\n- Identify underperforming panels with customizable thresholds\n- Calculate system efficiency metrics over configurable time periods\n- Track and analyze system alerts and their types\n- Generate maintenance recommendations with priority scoring\n- Support for minute, hour, and day-level historical data analysis\n\n## Installation\n\n### Prerequisites\n- Python 3.8 or higher\n- A Tigo Energy account with API access\n- Required Python packages (install via pip):\n\n```bash\npip install python-dotenv mcp tigo-python fastmcp\n```\n\n### Setup\n\n1. **Clone or download the server files**\n   ```bash\n   # Save the server.py file to your desired location\n   ```\n\n2. **Configure environment variables**\n   ```bash\n   # Copy the example environment file\n   cp .env.example .env\n   \n   # Edit .env with your Tigo credentials\n   TIGO_USERNAME=your_tigo_username\n   TIGO_PASSWORD=your_tigo_password\n   ```\n\n3. **Test the server**\n   ```bash\n   python server.py\n   ```\n\n## Configuration\n\n### Environment Variables\n\nCreate a `.env` file in the same directory as `server.py`:\n\n```env\nTIGO_USERNAME=your_tigo_username\nTIGO_PASSWORD=your_tigo_password\n```\n\n**Security Note**: Keep your `.env` file secure and never commit it to version control. The `.env.example` file is provided as a template.\n\n## Available Tools\n\n### System Information Tools\n\n#### `Fetch_Configuration`\nRetrieves user account information and lists all available solar systems.\n\n**Returns**: User details and system list with IDs and basic information.\n\n#### `Get_System_Details`\nGet comprehensive information about a specific solar system including layout, sources, and detailed specifications.\n\n**Parameters**:\n- `system_id` (optional): Specific system ID, uses first available system if not provided\n\n### Production & Performance Tools\n\n#### `Get_Current_Production`\nRetrieve today's production data and real-time system summary.\n\n**Parameters**:\n- `system_id` (optional): Target system ID\n\n**Returns**: Current production metrics, today's generation data, and system status.\n\n#### `Get_Performance_Analysis`\nComprehensive performance analysis including efficiency metrics and panel-by-panel performance.\n\n**Parameters**:\n- `system_id` (optional): Target system ID\n- `days_back` (default: 7): Number of days to analyze\n\n**Returns**: Efficiency metrics, top/bottom performing panels, and performance summary.\n\n#### `Get_Historical_Data`\nRetrieve historical production data with configurable granularity.\n\n**Parameters**:\n- `system_id` (optional): Target system ID\n- `days_back` (default: 30): Number of days of historical data\n- `level` (default: \"day\"): Data granularity - \"minute\", \"hour\", or \"day\"\n\n**Returns**: Historical production data with statistical summary.\n\n### System Health Tools\n\n#### `Get_System_Alerts`\nRetrieve recent system alerts and health information.\n\n**Parameters**:\n- `system_id` (optional): Target system ID\n- `days_back` (default: 30): Number of days to look back for alerts\n\n**Returns**: Active and recent alerts with categorization and status.\n\n#### `Get_System_Health`\nComprehensive system health status combining multiple data sources.\n\n**Parameters**:\n- `system_id` (optional): Target system ID\n\n**Returns**: Overall health rating (Excellent/Good/Fair/Needs Attention) with supporting metrics and recommendations.\n\n### Maintenance Tools\n\n#### `Get_Maintenance_Insights`\nAI-powered maintenance recommendations based on performance analysis.\n\n**Parameters**:\n- `system_id` (optional): Target system ID\n- `threshold_percent` (default: 85.0): Performance threshold for identifying underperforming panels\n\n**Returns**: Prioritized maintenance recommendations with affected components and next actions.\n\n## Usage Examples\n\n### Basic System Status Check\n```python\n# Get overall system health\nhealth_status = await get_system_health()\n\n# Check for any alerts\nalerts = await get_system_alerts(days_back=7)\n\n# Get current production\nproduction = await get_current_production()\n```\n\n### Performance Analysis\n```python\n# Analyze performance over the last 30 days\nperformance = await get_performance_analysis(days_back=30)\n\n# Get historical data at hourly granularity\nhistorical = await get_historical_data(days_back=7, level=\"hour\")\n\n# Find maintenance issues\nmaintenance = await get_maintenance_insights(threshold_percent=80.0)\n```\n\n### Multi-System Management\n```python\n# Get all systems first\nconfig = await fetch_configuration()\n\n# Analyze specific system\nsystem_details = await get_system_details(system_id=12345)\nperformance = await get_performance_analysis(system_id=12345, days_back=14)\n```\n\n## Integration with AI Assistants\n\nThis MCP server is designed to work seamlessly with AI assistants like Claude. The server provides structured JSON responses that enable natural language interactions about your solar system:\n\n- \"How is my solar system performing today?\"\n- \"Show me any underperforming panels\"\n- \"What maintenance does my system need?\"\n- \"Compare this month's production to last month\"\n- \"Are there any active alerts I should know about?\"\n\n## Error Handling\n\nThe server includes comprehensive error handling:\n- Safe JSON serialization with fallback for complex data types\n- Graceful handling of API connection issues\n- Automatic fallback to primary system when system_id is not specified\n- Detailed error messages for troubleshooting\n\n## Security Considerations\n\n- Credentials are loaded from environment variables, never hardcoded\n- The server uses the official Tigo Python client with proper authentication\n- All API responses are properly sanitized before returning\n- No sensitive information is logged or exposed\n\n## Troubleshooting\n\n### Common Issues\n\n1. **Authentication Errors**\n   - Verify your Tigo username and password in the `.env` file\n   - Ensure your Tigo account has API access enabled\n\n2. **No Systems Found**\n   - Check that your Tigo account has associated solar systems\n   - Verify the systems are properly configured in your Tigo dashboard\n\n3. **Connection Issues**\n   - Check your internet connection\n   - Verify Tigo API service status\n\n### Debug Mode\nSet debug logging by modifying the server startup:\n```python\nif __name__ == \"__main__\":\n    import logging\n    logging.basicConfig(level=logging.DEBUG)\n    mcp.run(transport=\"stdio\")\n```\n\n## Contributing\n\nContributions are welcome! Please ensure:\n- Code follows existing patterns and error handling\n- New tools include proper documentation\n- Environment variables are used for configuration\n- JSON responses are properly structured and safe\n\n## License\n\nThis project uses the Tigo Python API client and follows its licensing terms. Please refer to the Tigo Energy API documentation for usage guidelines and restrictions.\n\n## Support\n\nFor issues related to:\n- **MCP Server**: Create an issue in this repository\n- **Tigo API**: Contact Tigo Energy support\n- **Tigo Python Client**: Refer to the tigo-python package documentation\n\n---\n\n*This MCP server enables powerful AI-driven solar system monitoring and maintenance insights. Monitor your solar investment with confidence and get proactive maintenance recommendations to maximize your system's performance.*",
    "bugtrack_url": null,
    "license": "MIT License\n        \n        Copyright (c) 2025 Matt Dreyer\n        \n        Permission is hereby granted, free of charge, to any person obtaining a copy\n        of this software and associated documentation files (the \"Software\"), to deal\n        in the Software without restriction, including without limitation the rights\n        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n        copies of the Software, and to permit persons to whom the Software is\n        furnished to do so, subject to the following conditions:\n        \n        The above copyright notice and this permission notice shall be included in all\n        copies or substantial portions of the Software.\n        \n        THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n        SOFTWARE.",
    "summary": "Model Context Protocol server for Tigo Energy solar system monitoring and analytics",
    "version": "0.2.0",
    "project_urls": {
        "Changelog": "https://github.com/matt-dreyer/Tigo_MCP_server/blob/main/CHANGELOG.md",
        "Documentation": "https://github.com/matt-dreyer/Tigo_MCP_server#readme",
        "Homepage": "https://github.com/matt-dreyer/Tigo_MCP_server",
        "Issues": "https://github.com/matt-dreyer/Tigo_MCP_server/issues",
        "Repository": "https://github.com/matt-dreyer/Tigo_MCP_server"
    },
    "split_keywords": [
        "ai-tools",
        " claude",
        " energy",
        " llm",
        " mcp",
        " model-context-protocol",
        " monitoring",
        " photovoltaic",
        " renewable-energy",
        " solar",
        " tigo"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "70d5951d8767705edd2295bf8d9fa21870529d03b612d961626137624ca92d83",
                "md5": "ebefc550dd13ac684bf177ac2a3f337c",
                "sha256": "89f73b912aaee153f865f8910f185c52d409b7633256070d3699974ed2e00321"
            },
            "downloads": -1,
            "filename": "tigo_mcp_server-0.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ebefc550dd13ac684bf177ac2a3f337c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 14034,
            "upload_time": "2025-07-16T03:19:53",
            "upload_time_iso_8601": "2025-07-16T03:19:53.103805Z",
            "url": "https://files.pythonhosted.org/packages/70/d5/951d8767705edd2295bf8d9fa21870529d03b612d961626137624ca92d83/tigo_mcp_server-0.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2560b4f5e490f4868167acf2ccbd837ddaa066d18c7abfece92c7d9866bca6e0",
                "md5": "a23fede6ce139faf518de28581136cc1",
                "sha256": "f1a78ec8659117845fee10def8361b9b69d7a950a6f8594ee4d6af5abfffe2c8"
            },
            "downloads": -1,
            "filename": "tigo_mcp_server-0.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "a23fede6ce139faf518de28581136cc1",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 12786,
            "upload_time": "2025-07-16T03:19:54",
            "upload_time_iso_8601": "2025-07-16T03:19:54.296392Z",
            "url": "https://files.pythonhosted.org/packages/25/60/b4f5e490f4868167acf2ccbd837ddaa066d18c7abfece92c7d9866bca6e0/tigo_mcp_server-0.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-16 03:19:54",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "matt-dreyer",
    "github_project": "Tigo_MCP_server",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "tigo-mcp-server"
}
        
Elapsed time: 0.64638s