This release includes 1 breaking change for platform teams planning a safe upgrade.
✓ No known CVEs patched in this version
Topics
+4 more
Affected surfaces
Summary
AI summaryUpdates Качество, Совместимость, 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}— выбор транспорта (defaultstdio);--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 - Alpha→4 - 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 checkclean (правилаE F I B UP ASYNC). - Build:
twine checkPASSED. - Smoke-test в чистом venv:
pip install dist/*.whl→atomno-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
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.
Related context
Beta — feedback welcome: [email protected]