Skip to main content
Glama
nielsvbrecht

MeteoControl MCP Server

by nielsvbrecht

MeteoControl MCPサーバー

MeteoControl VCOM API v2用のModel Context Protocol (MCP) サーバーです。この拡張機能を使用すると、Gemini CLIを介して自然言語で太陽光発電アレイの監視、エネルギー生産データの取得、システム健全性チェックを行うことができます。

機能

  • システム検出: アカウントに関連付けられたすべての太陽光発電システムを一覧表示します。

  • エネルギー監視: 過去のエネルギー生産データ (Wh/kWh/MWh) を取得します。

  • 資産情報: パネル、インバーター、サイト容量に関する技術的な詳細を取得します。

  • リアルタイム電力: 現在のAC出力電力を確認します。

  • マルチトランスポートサポート: Stdio経由でローカル実行、またはSSE経由でリモートホストが可能です。

  • マルチテナント (BYOC): 共有環境での「Bring Your Own Credentials (独自の認証情報を使用)」をサポートします。

Related MCP server: Tigo Energy MCP Server

インストール

Gemini CLI経由 (推奨)

GitHubから直接拡張機能をインストールするには:

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

手動インストール

  1. リポジトリをクローンします:

    git clone https://github.com/your-org/meteocontrol-mcp.git
    cd meteocontrol-mcp
  2. 依存関係をインストールしてビルドします:

    npm install
    npm run build

使用方法

インストール後、Geminiに太陽光発電システムについて質問できます:

  • 「私の太陽光発電システムを一覧表示して。」

  • 「システム [systemKey] の過去24時間のエネルギー生産量は?」

  • 「システム [systemKey] の INV1 の技術詳細を表示して。」

マルチテナントでの使用 (BYOC)

共有MCPサーバーを使用している場合、プロンプト内で直接独自の認証情報を提供するか、ローカルで設定できます。ツールはオプションの apiKeyuserpassword 引数を受け付けます。

事前設定済みコマンド

  • /health [systemKey]: 包括的なサイト健全性チェックを実行します。

  • /yield [systemKey]: エネルギー生産データを取得して要約します。

デプロイとホスティング

このサーバーは複数の動作モードをサポートしています:

1. ローカルモード (Stdio)

Gemini CLIで使用されるデフォルトのモードです。

  • コマンド: node dist/index.js

  • 設定: gemini-extension.json 内で commandargs を使用して定義します。

2. リモートモード (SSE)

複数のユーザー向けに中央サーバーでMCPサーバーをホストする場合にこのモードを使用します。

セキュリティ: アクセストークンの生成

リモートモードでは、セキュリティのために MCP_SERVER_TOKEN が必須です。以下のコマンドで安全なトークンを生成できます:

openssl rand -base64 32

サーバー設定

  • 環境変数:

    • MCP_TRANSPORT=sse

    • MCP_SERVER_TOKEN=生成したトークン (必須)

    • PORT=3000 (オプション、デフォルトは3000)

  • 実行コマンド:

    MCP_TRANSPORT=sse MCP_SERVER_TOKEN=your_token node dist/index.js

3. Dockerモード

コンテナとして実行することで簡単にデプロイできます。

Stdioモード (CLI使用時):

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

SSEモード (ホスト使用時):

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

クライアント設定 (SSE用)

ローカルの .gemini/settings.jsonurlAuthorization ヘッダーを追加します:

{
  "mcpServers": {
    "meteocontrol": {
      "url": "https://your-mcp-server.com/sse",
      "headers": {
        "Authorization": "Bearer your_generated_token"
      }
    }
  }
}

設定

サーバーがMeteoControlと通信するには、以下の環境変数が必要です (リクエストごとに認証情報が提供される場合を除く):

  • METEOCONTROL_API_KEY: VCOM APIキー。

  • METEOCONTROL_USER: VCOMユーザー名 (メールアドレス)。

  • METEOCONTROL_PASSWORD: VCOMパスワード。

ライセンス

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