Skip to main content
Glama
mariakasimceva0305-ux

Currency MCP Agent

README.md
# Currency MCP Agent

Локальный сервис для работы с валютными курсами и конвертацией через `MCP` и агентный слой. Решение разделяет доступ к инструментам и логику обработки пользовательского запроса.

## Назначение

Принимать пользовательский запрос, определить необходимый инструмент, получить результат и вернуть структурированный ответ в едином формате.

## Архитектура

```text
Пользовательский запрос
          │
          ▼
Агентный слой
          │
          ▼
MCP-сервер инструментов
     ┌────┴────┐
     ▼         ▼
Курсы валют  Конвертация
     └────┬────┘
          ▼
Структурированный ответ
```

## Что реализовано

- агентный слой для выбора сценария обработки;
- MCP-сервер инструментов;
- получение курсов валют;
- конвертация суммы между валютами;
- локальный запуск через Docker Compose;
- тесты пользовательских сценариев.

## Структура репозитория

- `agent/` — логика маршрутизации запроса;
- `mcp_server/` — инструменты и их интерфейсы;
- `config/` — настройки;
- `tests/` — тесты;
- `Dockerfile` — сборка контейнера;
- `docker-compose.yml` — локальный запуск.

## Оценка качества

Контролируют:

- долю успешных вызовов инструментов;
- корректность конвертации;
- задержку ответа;
- покрытие тестами основных пользовательских сценариев.

## Результаты

Прогон `pytest tests/` на локальной машине: **9 тестов пройдено**, время около **4.75 с** (зависит от окружения).

## Запуск

```bash
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

docker compose up --build
```

## Ограничения

- устойчивость ответа зависит от источника курсов и формата данных;
- расширение числа инструментов требует единого контракта параметров и ответов;
- для рабочего сценария журналируют вызовы инструментов и результаты тестов.