Skip to main content
Glama
Paszymaja

elicznik-mcp

by Paszymaja

elicznik-tauron

Неофициальный CLI и MCP-сервер для портала Tauron eLicznik (https://elicznik.tauron-dystrybucja.pl). Получайте данные о потреблении, генерации и показаниях счётчиков из командной строки или предоставляйте их ИИ-агентам через Model Context Protocol.

Не связан с Tauron. Использует тот же внутренний веб-API, что и портал.

Возможности

  • Вход через отправку формы Keycloak методом POST (браузер не нужен); файлы cookie сеанса кэшируются на диске и автоматически обновляются.

  • CLI (elicznik) для просмотра списка счётчиков, получения данных об энерии и регистрации показаний.

  • MCP-сервер (elicznik-mcp, stdio) предостявляющий те же данные в виде инструментов для MCP-клиентов, таких как OpenCode или Claude.

Доступные данные:

Данные

Детализация

Потребление / генерация / нетто

час, ден, месяц, год

Тарифная зона по часам (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

Файлы cookie сеанса кэшируются в elicznik_session.json (в gitignore), так что вход выполняется только один раз; клиент автоматчески повторно аутентифицируется по истечении сеанса.

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) — накопительные показания регистров

OpenCode

Добавте в ~/.config/opencode/opencode.json:

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

Claude for Desktop

Добавте в claude_desktop_config.json:

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

Сервер читает учётные данные из .env в каталоге проекта (или из переменных окружения ELICZNIK_USERNAME / ELICZNIK_PASSWORD).

Docker

Образ контейнера публикуется в GitHub Container Registry (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-сервер портала согласовывает шифры, которые отклоняются политикой OpenSSL по умолчанию в Python; клиент подключает адаптер 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
    -