cbr-mcp
# MCP-сервер для API ЦБ РФ — курсы валют, ключевая ставка и драгметаллы через ИИ
Если вы искали, как получить официальный курс доллара или евро на нужную дату, узнать ключевую ставку ЦБ или пересчитать сумму по курсу Банка России прямо в чате — это оно. 7 инструментов, **без авторизации и ключей**: поставили через `npx` и сразу спрашиваете. «Какой был курс евро 15 марта» — цифра из официального источника, а не из поисковой выдачи.
[](https://www.npmjs.com/package/@theyahia/cbr-mcp)
[](https://opensource.org/licenses/MIT)
Часть серии [WWmcp](https://github.com/theYahia/WWmcp) (46 серверов) by [@theYahia](https://github.com/theYahia).
## Установка
### Claude Desktop
Добавьте в `claude_desktop_config.json`:
```json
{
"mcpServers": {
"cbr": {
"command": "npx",
"args": ["-y", "@theyahia/cbr-mcp"]
}
}
}
```
### Claude Code
```bash
claude mcp add cbr -- npx -y @theyahia/cbr-mcp
```
### VS Code / Cursor
Добавьте в `.vscode/mcp.json`:
```json
{
"servers": {
"cbr": {
"command": "npx",
"args": ["-y", "@theyahia/cbr-mcp"]
}
}
}
```
### Windsurf
Добавьте в настройки MCP Toolkit:
```json
{
"mcpServers": {
"cbr": {
"command": "npx",
"args": ["-y", "@theyahia/cbr-mcp"]
}
}
}
```
> Авторизация **не нужна** — API ЦБ РФ полностью открытый.
## Инструменты (7)
| Инструмент | Описание |
|------------|----------|
| `get_daily_rates` | Все курсы валют ЦБ РФ на указанную дату |
| `get_currency_rate` | Курс конкретной валюты к рублю с изменением за день |
| `get_rate_dynamics` | Динамика курса валюты за период (ряд + min/max/avg, изменение) |
| `get_key_rate` | Текущая ключевая ставка ЦБ РФ и дата её вступления в силу |
| `get_key_rate_history` | История изменений ключевой ставки за период |
| `get_precious_metals` | Учётные цены на золото, серебро, платину, палладий (покупка/продажа) |
| `convert_currency` | Конвертация суммы из одной валюты в другую через курс ЦБ |
### Особенности
- **Выходные и праздники.** Если на запрошенную дату курсы не публиковались (выходной/праздник),
возвращаются данные за ближайший доступный рабочий день с пометкой `note`.
- **Отказоустойчивость.** Основной источник курсов — зеркало `cbr-xml-daily.ru`; при его
недоступности используется официальный `cbr.ru` (`XML_daily.asp`) как fallback.
- **Источники данных:** курсы — `cbr-xml-daily.ru` + `cbr.ru/scripts/XML_daily.asp`;
динамика — `cbr.ru/scripts/XML_dynamic.asp`; ключевая ставка — `cbr.ru/hd_base/KeyRate`;
металлы — `cbr.ru/scripts/xml_metall.asp`.
## Примеры запросов
```
Какой курс доллара сегодня?
```
```
Переведи 1000 USD в евро
```
```
Как менялся курс доллара с 1 по 23 июня?
```
```
Какая ключевая ставка ЦБ и с какого числа она действует?
```
```
Покажи историю ключевой ставки за последний год
```
```
Какие цены на золото и серебро?
```
```
Покажи курсы валют на 10 января 2025
```
## Часть серии WWmcp
| MCP | Статус | Описание |
|-----|--------|----------|
| [@metarebalance/dadata-mcp](https://github.com/theYahia/dadata-mcp) | ✅ готов | Адреса, компании, банки, телефоны |
| [@theyahia/cbr-mcp](https://github.com/theYahia/cbr-mcp) | ✅ готов | Курсы валют, ключевая ставка |
| @theyahia/yookassa-mcp | 📅 скоро | Платежи, возвраты, чеки 54-ФЗ |
| @theyahia/moysklad-mcp | 📅 скоро | Склад, заказы, контрагенты |
| ... | 📅 | **46 серверов** — [полный список](https://github.com/theYahia/WWmcp) |
## Разработка
```bash
npm install
npm run build # компиляция TypeScript → dist/
npm run lint # eslint
npm test # vitest (юнит-тесты парсеров на офлайн-фикстурах)
npm run dev # запуск из исходников через tsx
```
Тесты не ходят в сеть — парсеры проверяются на сохранённых ответах API в `test/fixtures/`.
История изменений — в [CHANGELOG.md](CHANGELOG.md).
## Лицензия
MIT
---
Часть [WWmcp](https://github.com/theYahia/WWmcp) · Telegram: [@vhodvai](https://t.me/vhodvai)
TDQS
Scored across 7 tools
Most tools have clear, distinct purposes: key rate, daily rates, single currency rate, dynamics, history, metals, and conversion. The only mild overlap is between get_daily_rates and get_currency_rate, but one returns all currencies and the other a specific currency with daily change. get_key_rate and get_key_rate_history are also distinguishable by current vs historical scope.
All tools use a consistent snake_case verb_noun pattern with get_ as the dominant verb. convert_currency breaks the get_ prefix but still follows the same verb_noun convention, so the naming is predictable and coherent.
Seven tools is well-scoped for a Central Bank of Russia rates server. Each tool covers a meaningful aspect of the domain without unnecessary proliferation or obvious redundancy.
The surface covers current and historical key rates, daily and specific currency rates, rate dynamics, metals prices, and currency conversion. Minor gaps exist, such as no explicit supported-currency list or a dedicated historical conversion endpoint, but these can be worked around with the existing daily rates and dynamics tools.