Демнострационный Node.js сервер для предоставления курсов валют Центрального Банка России (ЦБР) и инструментов конвертации через Model Context Protocol (MCP). Создан с использованием TypeScript и Express, предоставляет эндпоинты для получения актуальных курсов валют и конвертации валют в российские рубли (RUB).
- Получает ежедневные курсы валют от ЦБР (https://www.cbr-xml-daily.ru/daily.xml)
- Кэширует курсы на 1 час для снижения нагрузки
- Предоставляет MCP-совместимые эндпоинты для списка ресурсов и конвертации валют
- Защищен аутентификацией через Bearer токен
- Готов к Docker для простого развертывания
.
├── src/
│ ├── auth.middleware.ts # Express middleware for Bearer token authentication
│ ├── cbr.service.ts # Fetches and caches CBR exchange rates
│ ├── config.ts # Loads environment variables (PORT, MCP_TOKEN)
│ ├── endpoints.ts # Registers Express endpoints for MCP
│ ├── mcp.server.ts # MCP server definition (resources/tools)
│ ├── mcp.ts # Main entry point, Express app setup
│ └── transport.manager.ts # Manages MCP session transports
├── dockerfile # Multi-stage Docker build
├── package.json # Project metadata and scripts
├── tsconfig.json # TypeScript configuration
└── README.md # Project documentation
- Node.js 20+
yarn installMCP_TOKEN(обязательно): Bearer token for API authentication
yarn devyarn buildyarn startBuild and run the server in Docker:
yarn docker:build
yarn docker:run- rates://latest: Возвращает последние курсы валют ЦБР (JSON)
- convert: Конвертирует заданную сумму из указанной валюты в RUB
- Вход:
{ from: "USD", amount: 100 } - Выход:
{ from: "USD", to: "RUB", input: 100, rate: 90.5, result: 9050 }
- Вход:
Для публикации образа в Artifact Registry выполните следующие шаги:
- Соберите Docker-образ:
yarn docker:build
- Задайте тег для образа (замените
<REGISTRY-NAME>на имя вашего реестра):yarn docker:tag
- Отправьте образ в реестр:
yarn docker:push
Важно: В командах выше
<REGISTRY-NAME>необходимо заменить на фактическое имя вашего Artifact Registry. Например:crp12345.
Для автоматизации всех шагов используйте:
yarn deployПодробная инструкция по деплою сервера в Container Apps доступна по ссылке: Развертывание MCP-сервера в контейнере
Подробная инструкция по созданию Artifact Registry доступна по ссылке: cloud.ru/docs/labs/services/topics/container-apps__before-work
MIT license