Skip to main content
Glama
nielsvbrecht

MeteoControl MCP Server

by nielsvbrecht

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.

Related MCP server: Tigo Energy MCP Server

Installation

To install the extension directly from GitHub:

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

Manual Installation

  1. Clone the repository:

    git clone https://github.com/your-org/meteocontrol-mcp.git
    cd meteocontrol-mcp
  2. Install dependencies and build:

    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:

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:

    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):

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):

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:

{
  "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

Available Tools

4 tools
get_alertsD
ParametersJSON Schema
NameRequiredDescriptionDefault
systemKeyYesThe unique key/ID of the solar system.
apiKeyNoOptional: MeteoControl API Key (if not set on server)
userNoOptional: MeteoControl Username (if not set on server)
passwordNoOptional: MeteoControl Password (if not set on server)

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_asset_infoD
ParametersJSON Schema
NameRequiredDescriptionDefault
systemKeyYesThe unique key/ID of the solar system.
apiKeyNoOptional: MeteoControl API Key (if not set on server)
userNoOptional: MeteoControl Username (if not set on server)
passwordNoOptional: MeteoControl Password (if not set on server)

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_energy_dataD
ParametersJSON Schema
NameRequiredDescriptionDefault
systemKeyYesThe unique key/ID of the solar system.
fromYesThe start date and time (ISO 8601).
toYesThe end date and time (ISO 8601).
apiKeyNoOptional: MeteoControl API Key (if not set on server)
userNoOptional: MeteoControl Username (if not set on server)
passwordNoOptional: MeteoControl Password (if not set on server)

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_systemsD
ParametersJSON Schema
NameRequiredDescriptionDefault
apiKeyNoOptional: MeteoControl API Key (if not set on server)
userNoOptional: MeteoControl Username (if not set on server)
passwordNoOptional: MeteoControl Password (if not set on server)

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 4 tool updatesv1.0.0
    • First observedget_alerts
    • First observedget_asset_info
    • First observedget_energy_data
    • First observedlist_systems

TDQS

C2/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: get_alerts retrieves alerts, get_asset_info provides asset details, get_energy_data handles energy data, and list_systems lists systems. There is no overlap or ambiguity between these functions, making it easy for an agent to select the correct tool.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with 'get_' or 'list_' prefixes, using snake_case uniformly. This predictable naming scheme enhances readability and reduces confusion for agents.

Tool Count4/5

With 4 tools, the count is reasonable for a server focused on meteorological control, but it feels slightly thin for comprehensive coverage. It includes core functions like alerts, assets, energy data, and systems, but might benefit from additional tools for broader operations.

Completeness3/5

The tools cover key read operations (get and list), but there are notable gaps in CRUD coverage, such as missing create, update, or delete functions for alerts, assets, energy data, or systems. This could limit agents in performing full lifecycle management tasks.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that enables AI assistants to look up solar permitting authorities, estimate solar production via PVWatts, and retrieve irradiance data. It streamlines the creation of solar-aware workflows by integrating industry-standard APIs like NREL.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol (MCP) server that provides comprehensive access to Tigo Energy solar system data and analytics. It enables AI assistants to interact with your Tigo solar monitoring system to retrieve production data, performance metrics, system health information, and maintenance insights.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for EG4 solar inverters, enabling real-time monitoring, performance analysis, battery health, alerts, maintenance insights, and historical data via natural language.
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    A lean Model Context Protocol (MCP) server that gives AI assistants like Claude structured access to a SolarEdge PV installation via the official SolarEdge Monitoring API.
    4
    MIT

Latest Blog Posts

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/nielsvbrecht/meteocontrol-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server