Skip to content

atomno-labs/mcp-egrul

v0.1.3 Breaking

This release includes 1 breaking change for platform teams planning a safe upgrade.

Published 3mo MCP Data & Storage
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

b2b counterparty due-diligence egrul fns kyc
+4 more
mcp model-context-protocol opendata russia

Affected surfaces

deps breaking_upgrade

Summary

AI summary

Updates Качество, Совместимость, and Ссылки across a mixed release.

Full changelog

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).

Ссылки

  • PyPI: https://pypi.org/project/atomno-mcp-egrul/0.1.3/
  • Документация: https://github.com/atomno-labs/mcp-egrul#readme
  • Эталон конвенций: PRODUCTS/ATOMNO/_knowledge/MCP_BUILD_CHECKLIST.md

Полный диф

https://github.com/atomno-labs/mcp-egrul/compare/v0.1.2...v0.1.3

Breaking Changes

  • Function `main(argv: list[str] | None = None) -> int` now returns an exit code (int) instead of implicitly returning `None`; callers expecting `None` must adjust.

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track atomno-labs/mcp-egrul

Get notified when new releases ship.

Sign up free

About atomno-labs/mcp-egrul

Russian state registries EGRUL (legal entities) and EGRIP (individual entrepreneurs), built on official Federal Tax Service open-data dumps. Self-hosted via local SQLite, no API key required.

All releases →

Beta — feedback welcome: [email protected]