Releases: atomno-mcp/mcp-cbr-rates
Release list
v0.1.5
v0.1.4
v0.1.3 — Glama spawn + PyPI sync
Fixed
- Glama / старые конфиги: снова ставится console-script
mcp-cbr-ratesкак alias на тот же entrypoint — билд Glama больше не падает наFailed to spawn: mcp-cbr-ratesпосле переименования CLI в 0.1.2. - Docker: ENTRYPOINT — канонический
atomno-mcp-cbr-rates, в образе оба бинарника. - Документация: README и
.env.exampleприведены к каноническим именамMCP_CBR_*.
Полный список — см. CHANGELOG.md в репозитории.
v0.1.2 — argparse CLI + MCP_CBR_* env-rename + dependency MAJOR-lock
v0.1.2 — sync с эталоном atomno-mcp-fns-check 0.1.1
Sync-патч приводит CLI-обвязку, ограничения зависимостей и метаданные pyproject.toml
к общим конвенциям портфеля atomno-mcp-*.
⚠️ BREAKING CHANGES
-
Console-script переименован:
mcp-cbr-rates→atomno-mcp-cbr-rates.
В конфигах Cursor / Claude Desktop / Cline нужно обновитьcommand. -
Env-переменные теперь имеют префикс
MCP_CBR_*(старые имена работают,
но логируютDeprecationWarningодин раз за процесс; удалятся в0.2.0):Было (deprecated) Стало (canonical) CBR_LOG_LEVELMCP_CBR_LOG_LEVELCBR_HTTP_TIMEOUTMCP_CBR_HTTP_TIMEOUTCBR_CACHE_DAILY_TTLMCP_CBR_CACHE_DAILY_TTLCBR_CACHE_HISTORY_TTLMCP_CBR_CACHE_HISTORY_TTL
Установка
uvx atomno-mcp-cbr-rates # рекомендуется (без установки)
pipx install atomno-mcp-cbr-rates
pip install atomno-mcp-cbr-ratesКонфиг для Cursor / Claude Desktop / Cline (обновлённый)
{
"mcpServers": {
"atomno-mcp-cbr-rates": {
"command": "atomno-mcp-cbr-rates",
"env": { "MCP_CBR_LOG_LEVEL": "INFO" }
}
}
}Fixed
- CLI:
--helpи--versionбольше не вешают процесс. До0.1.2команда
mcp-cbr-rates --helpзапускала FastMCP по stdio и подвисала, ожидая stdin
от MCP-клиента. Теперьmain()используетargparseи завершается с exit-code 0
без запуска сервера. - Loud-fail на невалидный
MCP_CBR_LOG_LEVEL. Процесс выходит с exit-code 2
и явным сообщением, без silent-INFO-fallback. - Рассинхрон версии: до
0.1.2в__init__.__version__стояло"0.1.0",
а вpyproject.toml—"0.1.1". Теперь оба0.1.2.
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— 25 тестов на CLI-обвязку и backward-compat env.- PEP 561 маркер
py.typed— type-аннотации видны mypy / IDE. - Дополнительные classifiers:
Natural Language :: Russian,Typing :: Typed,
Intended Audience :: Financial and Insurance Industry,Operating System :: OS Independent,
Topic :: Software Development :: Libraries :: Python Modules.
Changed
-
Development Status:3 - Alpha→4 - Beta— пакет уже опубликован
на PyPI и Glama. -
main(argv: list[str] | None = None) -> int— сигнатура изменена для
тестируемости. Возвращает exit-code (0/2). Вызов изif __name__ == "__main__":
обёрнут вraise SystemExit(main()). -
Dependency MAJOR-lock — каждая зависимость теперь имеет верхнюю границу
по SemVer:Было Стало mcp>=1.2.0mcp>=1.2.0,<2.0.0httpx>=0.27.0httpx>=0.27.0,<1.0.0pydantic>=2.6.0pydantic>=2.6.0,<3.0.0defusedxml>=0.7.1defusedxml>=0.7.1,<1.0.0
Migration guide (0.1.1 → 0.1.2)
- Cursor / Claude Desktop / Cline config: замените
"command": "mcp-cbr-rates"
на"command": "atomno-mcp-cbr-rates". - Env-переменные: при возможности переименуйте
CBR_*→MCP_CBR_*.
Старые работают, но логируют DeprecationWarning. Полное удаление — в0.2.0. - Через
uvx(рекомендуется):uvx atomno-mcp-cbr-rates— без установки.
Качество
- Тесты: 77 (52 существующих + 25 новых на CLI/env-compat). Все проходят.
- Lint:
ruff checkclean (правилаE F W I N UP B ASYNC). - Build:
twine checkPASSED. - Smoke-test в чистом venv:
pip install dist/*.whl→
atomno-mcp-cbr-rates --version→ OK; старогоmcp-cbr-rates.exeнет.
Совместимость
- ✅ MCP-API не менялся. Все 5 тулзов (
get_rate,history_rates,key_rate,
inflation,statistics) работают идентично 0.1.1. ⚠️ CLI-команда переименована (см. BREAKING выше). Обновите конфиги MCP-клиентов.- ✅ Env-переменные backward-compat: старые имена
CBR_*продолжают работать
с deprecation-warning.
Ссылки
- PyPI: https://pypi.org/project/atomno-mcp-cbr-rates/0.1.2/
- Документация: https://github.com/atomno-labs/mcp-cbr-rates#readme
- Эталон конвенций:
PRODUCTS/ATOMNO/_knowledge/MCP_BUILD_CHECKLIST.md
Полный диф
v0.1.1 — PyPI publication
First PyPI release as atomno-mcp-cbr-rates — brand-consistent with atomno-mcp-fns-check.
Install
pipx install atomno-mcp-cbr-rates
# or
uv tool install atomno-mcp-cbr-ratesPyPI: https://pypi.org/project/atomno-mcp-cbr-rates/0.1.1/
Changes since v0.1.0
- PyPI distribution name renamed from
mcp-cbr-ratestoatomno-mcp-cbr-rates.
Python import (mcp_cbr_rates) and CLI command (mcp-cbr-rates) are unchanged. - README updated with pipx/uv install instructions.
- Added PyPI badge.
- Listed on Glama: https://glama.ai/mcp/servers/atomno-labs/mcp-cbr-rates
v0.1.0 — Initial public release
First public release of mcp-cbr-rates — an MCP (Model Context Protocol) server that gives AI agents direct, typed access to public Central Bank of Russia data.
Tools
get_rate— current or historical exchange rate for one currencyhistory_rates— daily history over a date range (≤ 365 days)key_rate— CBR key interest rate over a rangeinflation— annual inflation by yearstatistics— aggregated macro snapshot
Stack
- Built on the official
mcpPython SDK (FastMCP) httpxasync,Pydantic v2schemas,defusedxmlfor safe XML parsing- In-memory TTL cache (1 h for daily / 24 h for historical)
- 52 unit tests, 84% coverage, MIT licensed
Quick start
uv pip install mcp-cbr-rates
python -m mcp_cbr_ratesSee README for full setup with Cursor / Claude Desktop / Claude Code.
Disclaimer
Not affiliated with the Central Bank of Russia. Use at your own risk.