Skip to main content
Glama
nielsvbrecht

MeteoControl MCP Server

by nielsvbrecht

MeteoControl MCP 서버

MeteoControl VCOM API v2를 위한 모델 컨텍스트 프로토콜(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에게 태양광 시스템에 대해 물어볼 수 있습니다:

  • "내 태양광 시스템 목록을 보여줘."

  • "지난 24시간 동안 [systemKey] 시스템의 에너지 생산량은 얼마야?"

  • "[systemKey] 시스템의 INV1에 대한 기술적 세부 정보를 보여줘."

멀티 테넌트 사용 (BYOC)

공유 MCP 서버를 사용하는 경우, 프롬프트에 직접 자격 증명을 제공하거나 로컬에서 구성할 수 있습니다. 도구는 선택적 apiKey, user, password 인수를 허용합니다.

사전 구성된 명령어

  • /health [systemKey]: 포괄적인 현장 상태 점검을 수행합니다.

  • /yield [systemKey]: 에너지 생산 데이터를 조회하고 요약합니다.

배포 및 호스팅

이 서버는 여러 작동 모드를 지원합니다:

1. 로컬 모드 (Stdio)

Gemini CLI에서 사용하는 기본 모드입니다.

  • 명령어: node dist/index.js

  • 설정: commandargs를 사용하여 gemini-extension.json에 정의됩니다.

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.json 파일에 urlAuthorization 헤더를 추가하세요:

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