Back to the catalog

meteocontrol

Seamlessly interact with your solar arrays via the MeteoControl VCOM API v2.

Open source Open in the app JSON README (API)

About

Seamlessly interact with your solar arrays via the MeteoControl VCOM API v2.

Details

Kind
Plugins
Topic
No topic detected
Publisher
nielsvbrecht
Origin
gemini
Category
ferramentas
Version
1.0.0
Open pull requests
8
Last push
2026-06-22T01:06:01Z
Repository state
ativo
Language
TypeScript
License
Apache-2.0
Added
2026-08-30 14:13:39
Updated
2026-08-30 14:13:39
Origin id
nielsvbrecht/meteocontrol-mcp

README

# MeteoControl MCP Server

A Model Context Protocol (MCP) server for the MeteoControl VCOM API v2. This extension allows you to monitor solar arrays, retrieve energy production data, and perform system health checks using natural language via the Gemini CLI.

## Features

- **System Discovery:** List all solar systems associated with your account.
- **Energy Monitoring:** Retrieve historical energy production data (Wh/kWh/MWh).
- **Asset Information:** Get technical details about panels, inverters, and site capacity.
- **Real-time Power:** Check instantaneous AC power output.
- **Multi-Transport Support:** Run locally via Stdio or host remotely via SSE.
- **Multi-Tenant (BYOC):** Support for "Bring Your Own Credentials" in a shared environment.

## Installation

### Via Gemini CLI (Recommended)

To install the extension directly from GitHub:

```bash
gemini extensions add https://github.com/your-org/meteocontrol-mcp
```

### Manual Installation

1.  Clone the repository:
    ```bash
    git clone https://github.com/your-org/meteocontrol-mcp.git
    cd meteocontrol-mcp
    ```
2.  Install dependencies and build:
    ```bash
    npm install
    npm run build
    ```

## Usage

Once installed, you can ask Gemini about your solar systems:

- "List my solar systems."
- "What is the energy production for system [systemKey] for the last 24 hours?"
- "Show me the technical details for INV1 in system [systemKey]."

### Multi-Tenant Usage (BYOC)
If you are using a shared MCP server, you can provide your own credentials directly in your prompts or configure them locally. The tools accept optional `apiKey`, `user`, and `password` arguments.

### Pre-configured Commands

- `/health [systemKey]`: Perform a comprehensive site health check.
- `/yield [systemKey]`: Retrieve and summarize energy production data.

## Deployment & Hosting

The server supports multiple modes of operation:

### 1. Local Mode (Stdio)
This is the default mode used by the Gemini CLI.
- **Command:** `node dist/index.js`
- **Setup:** Defined in `gemini-extension.json` using `command` and `args`.

### 2. Remote Mode (SSE)
Use this mode to host the MCP server on a central server for multiple users.

#### Security: Generating an Access Token
Remote mode requires a mandatory `MCP_SERVER_TOKEN` for security. You can generate a secure token using:
```bash
openssl rand -base64 32
```

#### Server Configuration
- **Environment Variables:**
  - `MCP_TRANSPORT=sse`
  - `MCP_SERVER_TOKEN=your_generated_token` (Required)
  - `PORT=3000` (optional, defaults to 3000)
- **Run Command:**
  ```bash
  MCP_TRANSPORT=sse MCP_SERVER_TOKEN=your_token node dist/index.js
  ```

### 3. Docker Mode
You can run the server as a container for easy deployment.

#### For Stdio Mode (CLI use):
```bash
docker run -i --rm \
  -e METEOCONTROL_API_KEY=your_key \
  -e METEOCONTROL_USER=your_user \
  -e METEOCONTROL_PASSWORD=your_password \
  ghcr.io/your-org/meteocontrol-mcp:latest
```

#### For SSE Mode (Hosted use):
```bash
docker run -d \
  -p 3000:3000 \
  -e MCP_TRANSPORT=sse \
  -e MCP_SERVER_TOKEN=your_token \
  -e METEOCONTROL_API_KEY=your_key \
  -e METEOCONTROL_USER=your_user \
  -e METEOCONTROL_PASSWORD=your_password \
  ghcr.io/your-org/meteocontrol-mcp:latest
```

#### Client Configuration (for SSE)
In your local `.gemini/settings.json`, add the `url` and the `Authorization` header:
```json
{
  "mcpServers": {
    "meteocontrol": {
      "url": "https://your-mcp-server.com/sse",
      "headers": {
        "Authorization": "Bearer your_generated_token"
      }
    }
  }
}
```

## Configuration

The following environment variables are required for the server to talk to MeteoControl (unless credentials are provided per request):

- `METEOCONTROL_API_KEY`: Your VCOM API key.
- `METEOCONTROL_USER`: Your VCOM username (email).
- `METEOCONTROL_PASSWORD`: Your VCOM password.

## License

Apache License 2.0

More