Skip to content

Releases: atomno-labs/mcp-egrul

v0.1.3 — argparse CLI, dependency MAJOR-lock, classifiers sync

Choose a tag to compare

@atomnos atomnos released this 26 Apr 19:59

v0.1.3 — sync с эталоном atomno-mcp-fns-check 0.1.1

Sync-патч приводит CLI-обвязку, ограничения зависимостей и метаданные pyproject.toml
к общим конвенциям портфеля atomno-mcp-*.

Установка

uvx atomno-mcp-egrul       # рекомендуется (без установки)
pipx install atomno-mcp-egrul
pip install atomno-mcp-egrul

Fixed

  • CLI: --help и --version больше не вешают процесс. До 0.1.3 команда
    atomno-mcp-egrul --help запускала FastMCP по stdio и подвисала, ожидая stdin
    от MCP-клиента. Теперь main() использует argparse и завершается с exit-code 0
    без запуска сервера.
  • Loud-fail на невалидный MCP_EGRUL_LOG_LEVEL. Процесс выходит с exit-code 2
    и явным сообщением, без silent-INFO-fallback.

Added

  • Новые CLI-флаги:
    • --version / -V — версия пакета;
    • --transport {stdio,http,sse,streamable-http} — выбор транспорта (default stdio);
    • --host, --port — для http/sse/streamable-http транспортов;
    • --log-level {DEBUG,INFO,WARNING,ERROR,CRITICAL} — приоритет над env.
  • tests/test_cli.py — 20 тестов на CLI-обвязку (help / version / transport /
    log-level precedence / loud-fail на невалидный env / парсер-дефолты).
  • PEP 561 маркер py.typed — IDE и mypy теперь подхватывают type-аннотации пакета.
  • Дополнительные classifiers: Natural Language :: Russian, Typing :: Typed,
    Intended Audience :: Financial and Insurance Industry, Operating System :: OS Independent,
    Topic :: Software Development :: Libraries :: Python Modules.
  • Секция [project.urls] в pyproject.toml (Homepage, Repository, Issues,
    Changelog, Documentation).

Changed

  • Development Status: 3 - Alpha4 - Beta — пакет уже опубликован
    на PyPI и Smithery, прошёл 365 тестов с 100% покрытием.

  • main(argv: list[str] | None = None) -> int — сигнатура изменена для
    тестируемости. Возвращает exit-code (0/2). Вызов из if __name__ == "__main__":
    обёрнут в raise SystemExit(main()).

  • Dependency MAJOR-lock — каждая зависимость теперь имеет верхнюю границу
    по SemVer. Защищает пользователей от breaking changes в мажорных релизах
    вышестоящих библиотек:

    Было Стало
    fastmcp>=0.2.0 fastmcp>=0.2.0,<4.0.0
    httpx>=0.27.0 httpx>=0.27.0,<1.0.0
    pydantic>=2.6.0 pydantic>=2.6.0,<3.0.0
    aiosqlite>=0.20.0 aiosqlite>=0.20.0,<1.0.0
    python-dateutil>=2.9.0 python-dateutil>=2.9.0,<3.0.0
    lxml>=5.2.0 lxml>=5.2.0,<7.0.0
    apscheduler>=3.10.0 apscheduler>=3.10.0,<4.0.0

Качество

  • Тесты: 365 (включая 20 новых на CLI). Coverage 100% (было 100%, не упало).
  • Lint: ruff check clean (правила E F I B UP ASYNC).
  • Build: twine check PASSED.
  • Smoke-test в чистом venv: pip install dist/*.whlatomno-mcp-egrul --version → OK.

Совместимость

  • Обратно совместимо на уровне MCP-API. Все 8 тулзов (ping, search_by_inn,
    search_by_ogrn, search_by_name, get_full_card, get_founders, get_director,
    bulk_cards) работают идентично 0.1.2.
  • ✅ Конфиги для Cursor / Claude Desktop / Cline не требуют изменений.
  • ⚠️ Если вы внутренне импортировали mcp_egrul.server.main и ожидали возврат None,
    обновите код: теперь возвращается int (exit-code).

Ссылки

Полный диф

v0.1.2...v0.1.3

v0.1.2 — PyPI rename: atomno-mcp-egrul (brand alignment)

Choose a tag to compare

@atomnos atomnos released this 26 Apr 11:51

Брендовая унификация PyPI с парным проектом atomno-mcp-fns-check.
Старый PyPI-пакет mcp-egrul==0.1.1 помечен yanked.

⚠️ BREAKING для PyPI пользователей

Имя пакета на PyPI изменилось: mcp-egrulatomno-mcp-egrul.

Миграция

pip uninstall mcp-egrul
pip install atomno-mcp-egrul

# или сразу через uv (рекомендуется)
uvx atomno-mcp-egrul

В claude_desktop_config.json / .cursor/mcp.json:

{
  "mcpServers": {
    "egrul": {
      "command": "uvx",
      "args": ["atomno-mcp-egrul"]
    }
  }
}

CLI commands

Было Стало
mcp-egrul atomno-mcp-egrul
mcp-egrul-import atomno-mcp-egrul-import
mcp-egrul-scheduler atomno-mcp-egrul-scheduler

Установка

uvx atomno-mcp-egrul                # через uv (рекомендуется)
pipx install atomno-mcp-egrul       # через pipx
pip install atomno-mcp-egrul        # классический pip

PyPI: https://pypi.org/project/atomno-mcp-egrul/0.1.2/

Не изменилось

  • Python module name внутри пакета: mcp_egrul (импорты не правились).
  • GitHub repo: atomno-labs/mcp-egrul (org atomno-labs даёт брендирование).
  • FastMCP server name в initialize/ping: mcp-egrul (стабильный контракт).
  • Логика, тулзы, схемы, БД — без изменений (344 unit-теста проходят).

Полный changelog

См. CHANGELOG.md.


Парный проект: mcp-fns-check (risk-чек-слой поверх ЕГРЮЛ).

v0.1.1 — First PyPI release + catalog metadata

Choose a tag to compare

@atomnos atomnos released this 26 Apr 11:26

Catalog-патч. Основной код пакета не меняется — добавлены метаданные для индексации в каталогах MCP-серверов и опубликована первая версия на PyPI.

Установка

# Через uv (рекомендуется)
uvx mcp-egrul

# Через pipx
pipx install mcp-egrul

# Через pip
pip install mcp-egrul

PyPI: https://pypi.org/project/mcp-egrul/0.1.1/

Добавлено

  • smithery.yaml в корне репо — конфиг для Smithery.ai (stdio-режим, опциональный ATOMNO_API_KEY для Hosted Pro, выбор log-level).
  • glama.json в корне репо — claim ownership на Glama.ai под org atomno-labs.
  • Первая публикация на PyPIpip install mcp-egrul или uvx mcp-egrul.

Изменено

  • README дополнен секцией про установку через PyPI.
  • mcp.json snippets для Cursor / Claude Desktop переведены на uvx mcp-egrul (без global pip install).

Полный changelog

См. CHANGELOG.md.


Парный проект: mcp-fns-check (risk-чек-слой поверх ЕГРЮЛ).

v0.1.0 — Initial public release

Choose a tag to compare

@atomnos atomnos released this 25 Apr 08:02

First public release of mcp-egrul — MCP server for Russian EGRUL/EGRIP lookups via FNS open-data.

Highlights

  • 6 MCP tools: search_by_inn, search_by_ogrn, search_by_name, get_full_card, get_director, get_founders (+ bulk_cards for batch lookups).
  • Self-host mode: ingest official FNS open-data XML dumps into local SQLite via mcp-egrul-import / mcp-egrul-scheduler CLIs.
  • Hosted Pro mode (closed beta): drop-in mode via ATOMNO_API_KEY — proxies to api.atomno.ru for AI-summary, fresh data, history, director-name search. Pro tier is in closed beta graceful response until backend launch.
  • Cursor / Claude Desktop / Claude Code ready (config snippets in README).
  • Docker: Dockerfile + docker-compose.yml for one-command run.
  • Tests: 345 passed, 100% coverage on core, ruff clean.

Install

pip install mcp-egrul        # PyPI publish — следующим релизом
# or
git clone https://github.com/atomno-labs/mcp-egrul && cd mcp-egrul && pip install -e .

See README for full Cursor / Claude Desktop / Claude Code config snippets.

License

MIT.

Disclaimer

Не аффилирован с ФНС России. Данные из открытых источников, для proof-of-record использования полагайтесь на официальные выписки.