Skip to main content
Glama
Paszymaja

elicznik-mcp

by Paszymaja

elicznik-tauron

Tauron eLicznik 포털(https://elicznik.tauron-dystrybucja.pl)용 비공식 CLI 및 MCP 서버입니다. 명령줄에서 에너지 소비량, 생산량 및 계량기 검침 값을 가져오거나 Model Context Protocol을 통해 AI 에이전트에 노출할 수 있습니다.

Tauron과 관련이 없습니다. 포털이 사용하는 것과 동일한 내부 웹 API를 사용합니다.

기능

  • 로그인 — Keycloak 양식 POST 방식(브라우저 불필요). 세션 쿠키는 디스크에 캐시되고 자동으로 갱신됩니다.

  • CLI (elicznik) — 계량기 목록 표시, 에너지 데이터 가져오기, 검침 값 등록.

  • MCP 서버 (elicznik-mcp, stdio) — OpenCode 또는 Claude 같은 MCP 클라이언트를 위해 동일한 데이터를 도구로 노출합니다.

사용 가능한 데이터:

데이터

해상도

소비 / 생산 / 순(net)

시간, 일, 월, 년

시간별 요금 구역 (zone)

시간

누적 계량기 검침 값

일

Related MCP server: Enapter MCP Server

요구 사항

Python 3.10+ 및 uv.

설정

uv sync --extra mcp
cp .env.example .env   # then fill in your credentials

.env:

ELICZNIK_USERNAME=your-login-or-email
ELICZNIK_PASSWORD=your-password
# Optional: pick a specific metering point if you have more than one
# ELICZNIK_SITE=5842033_61898031_5842033

세션 키는 elicznik_session.json(giitignore 대상)에 캐시되므로 한 번만 로그인하면 됩니다. 세션이 만료되면 클라이언트가 자동으로 다시 인증합니다.

CLI

# List metering points
uv run elicznik meters

# Hourly consumption for a day (defaults: today, metric=consumption, resolution=hour)
uv run elicznik energy --metric consumption --from 2026-08-24 --to 2026-08-24

# Daily / monthly / yearly totals
uv run elicznik energy --metric consumption --resolution day   --from 2026-08-01 --to 2026-08-26
uv run elicznik energy --metric consumption --resolution month --from 2026-01-01 --to 2026-08-26
uv run elicznik energy --metric generation  --resolution year  --from 2026-01-01 --to 2026-08-26

# Output formats: table (default), csv, json
uv run elicznik energy --metric consumption --resolution day --from 2026-08-01 --to 2026-08-26 --format json

# Cumulative meter register readings (billing readings)
uv run elicznik readings --from 2026-08-01 --to 2026-08-26
uv run elicznik readings --from 2026-08-01 --to 2026-08-26 --generation   # returned energy

지표: consumption, generation, net_consumption, net_generation.

MCP 서버

서버는 네 가지 도구를 제공합니다:

  • list_meters — 계량 지점 목록

  • get_energy(metric, start_date, end_date, resolution) — 단일 지표(합산 총계 및 지점별 값 포함)

  • get_readings(start_date, end_date, resolution) — 지점별 전체 네 가지 지표

  • get_meter_readings(start_date, end_date, generation) — 누적 검침 값

OpeCode

~/.config/opencode/opencode.json에 추가:

{
  "mcp": {
    "elicznik": {
      "type": "local",
      "command": ["uv", "run", "--directory", "/home/paszymaja/github_projects/elicznik-tauron", "elicznik-mcp"],
      "enabled": true
    }
  }
}

Claude for Deskop

claude_desktop_config.json에 추가:

{
  "mcpServers": {
    "elicznik": {
      "command": "uv",
      "args": ["--directory", "/ABSOLUTE/PATH/TO/elicznik-tauron", "run", "elicznik-mcp"]
    }
  }
}

서버는 프로젝트 디렉터리의 .env(또는 ELICZNIK_USERNAME / ELICZNIK_PASSWORD 환경 변수)에서 자격 증명을 읽습니다.

Doker

컨테이너 이미지는 GitHun Container Registory(ghcr.io/paszymaja/elicznik-tauron)에 게시됩니다. 자격 증명은 ELICZNIK_USERNAME / ELICZNIK_PASSWORD 환경 변수에서 읽습니다(.env 불필요). 세션 캐시는 /tmp에 기록됩니다(휘발성).

# CLI
docker run --rm \
  -e ELICZNIK_USERNAME -e ELICZNIK_PASSWORD \
  ghcr.io/paszymaja/elicznik-tauron:latest meters

docker run --rm \
  -e ELICZNIK_USERNAME -e ELICZNIK_PASSWORD \
  ghcr.io/paszymaja/elicznik-tauron:latest \
  energy --metric consumption --resolution day --from 2026-08-01 --to 2026-08-26

# MCP server over stdio (note the -i flag for stdin)
docker run -i --rm \
  -e ELICZNIK_USERNAME -e ELICZNIK_PASSWORD \
  ghcr.io/paszymaja/elicznik-tauron:latest mcp

이미지를 로컬에서 빌드하려면:

docker build -t elicznik-tauron .

개발

uv sync --extra mcp
uv run pytest

참고 사항

  • 포털의 TLS 서버는 Python 기본 OpenSSL 정책이 거부하는 암호화 스위트를 협상합니다. 클라이언트는 해결 방법으로 DEFAULT@SECLEVEL=1 어댑터를 마운트합니다(session.py 참조).

  • 시간별 CSV 타임스탬프는 종료 시각을 나타냅니다. 클라이언트는 이를 차트 API 규칙에 맞게 시간의 시작 시각을 나타내는 타임스탬프로 정규화합니다.

  • 타임스탬프는 시간대 오프셋 없이 현지 시간(Europe/Warsaw) 기준입니다.

라이선스

MIT

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides AI agents and LLMs access to the Nikola TEST MCP API through standardized MCP tools for seamless integration and interaction.
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    A read-only MCP server that exposes European day-ahead electricity prices for ~41 bidding zones via tools like hourly prices, cheapest hours, current price, and cross-zone summary, enabling AI agents to query energy market data.
    1
    -