cloud-ru/evo-container-apps-currency-exchange-mcp-server-lab
If you are the rightful owner of evo-container-apps-currency-exchange-mcp-server-lab and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
A demonstration Node.js server providing currency exchange rates from the Central Bank of Russia (CBR) and conversion tools via Model Context Protocol (MCP).
evo-container-apps-currency-exchange-mcp-server-lab
Демнострационный 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 install
Переменные окружения
MCP_TOKEN
(обязательно): Bearer token for API authentication
Разработка
yarn dev
Сборка
yarn build
Запуск (Production)
yarn start
Docker
Build and run the server in Docker:
yarn docker:build
yarn docker:run
MCP ресурсы и инструменты
- rates://latest: Возвращает последние курсы валют ЦБР (JSON)
- convert: Конвертирует заданную сумму из указанной валюты в RUB
- Вход:
{ from: "USD", amount: 100 }
- Выход:
{ from: "USD", to: "RUB", input: 100, rate: 90.5, result: 9050 }
- Вход:
Деплой в Artifact Registry
Для публикации образа в Artifact Registry выполните следующие шаги:
- Соберите Docker-образ:
yarn docker:build
- Задайте тег для образа (замените
<REGISTRY-NAME>
на имя вашего реестра):yarn docker:tag
- Отправьте образ в реестр:
yarn docker:push
Важно: В командах выше
<REGISTRY-NAME>
необходимо заменить на фактическое имя вашего Artifact Registry. Например:crp12345
.
Для автоматизации всех шагов используйте:
yarn deploy
Деплой в Cloud.ru Container Apps
Подробная инструкция по деплою сервера в Container Apps доступна по ссылке: Развертывание MCP-сервера в контейнере
Инструкция по созданию Artifact Registry
Подробная инструкция по созданию Artifact Registry доступна по ссылке: cloud.ru/docs/labs/services/topics/container-apps__before-work
License
MIT license