> For the complete documentation index, see [llms.txt](https://docs.ispecalgo.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ispecalgo.com/isa-terminal/mcp.md).

# MCP и AI-агенты

MCP позволяет подключить настольного AI-агента к работающему ISA Terminal. После подключения агент получает не «доступ ко всему компьютеру», а конкретный набор команд терминала: посмотреть ботов и позиции, прочитать логи, проверить график, управлять пресетами и выполнить другие разрешённые действия.

## Что такое MCP

**MCP (Model Context Protocol)** — стандарт связи между AI-агентом и программой.

Без MCP агент знает о терминале только то, что вы написали ему в чате. С MCP он может запросить актуальные данные непосредственно у ISA Terminal и, если вы дали разрешение, выполнить действие.

Например, вместо ручной передачи скриншотов можно написать агенту:

> Проверь всех запущенных ботов, открытые позиции и ошибки в логах за сегодня. Коротко напиши, где есть проблема.

Агент сам вызовет нужные инструменты ISA Terminal, сопоставит ответы и вернёт результат.

## Как это работает

Связь выглядит так:

```
AI-агент → ISAMCPBridge.exe → работающий ISA Terminal
```

1. AI-агент запускает файл `ISAMCPBridge.exe` как локальный MCP-сервер.
2. Bridge соединяется с backend ISA Terminal через локальный канал Windows.
3. Агент получает список доступных инструментов.
4. Когда вы даёте задачу, агент выбирает нужный инструмент и передаёт параметры.
5. ISA Terminal проверяет разрешения, выполняет запрос и возвращает результат.

Подключение работает локально, поэтому:

* ISA Terminal и AI-агент должны быть установлены на одном компьютере или Windows VPS;
* терминал должен быть запущен;
* MCP должен быть включён в настройках терминала;
* нужен настольный AI-агент с поддержкой MCP, например Hermes или OpenClaw; обычная веб-версия чат-бота не подойдёт.

> Сам MCP работает локально, но выбранный AI-агент может отправлять полученные данные своему провайдеру модели. Учитывайте это при выборе агента и выданных разрешений.

## Как подключить агента

### 1. Включите MCP в ISA Terminal

1. Запустите ISA Terminal.
2. Нажмите значок **шестерёнки** в правом верхнем углу.
3. Откройте вкладку **MCP**.
4. Включите **MCP-сервер**.
5. Выберите разрешения, которые действительно нужны агенту.
6. Нажмите **Сохранить**.

Настройки MCP применяются сразу — перезапускать терминал не требуется.

### 2. Скопируйте промт для подключения

На вкладке **MCP** терминал показывает готовый промт с правильным путём к `ISAMCPBridge.exe`.

Скопируйте этот промт и отправьте его своему настольному AI-агенту. Агент должен добавить ISA Terminal как локальный MCP-сервер.

В стандартной конфигурации подключение выглядит примерно так:

```json
{
  "mcpServers": {
    "isasoft": {
      "command": "C:\\Program Files\\ISA App\\resources\\ISAMCPBridge.exe"
    }
  }
}
```

Используйте путь, который показан именно в вашем терминале: он может отличаться от примера.

### 3. Перезапустите AI-агента

После добавления MCP-сервера полностью перезапустите AI-агента. Большинство клиентов загружает список MCP-подключений только при старте.

ISA Terminal оставьте запущенным. Если терминал закрыт или MCP выключен, bridge не сможет подключиться.

### 4. Проверьте подключение

Напишите агенту:

> Подключись к ISA Terminal и покажи список доступных инструментов. Затем безопасно проверь список ботов и настройки, ничего не изменяя.

Если подключение работает, агент увидит инструменты ISA Terminal и сможет вызвать `list_bots` и `get_settings`.

Если агент сообщает `Connection closed` или не видит инструменты:

1. убедитесь, что ISA Terminal запущен;
2. проверьте, что **MCP-сервер** включён и настройки сохранены;
3. проверьте путь к `ISAMCPBridge.exe`;
4. перезапустите AI-агента.

## Разрешения агента

После включения MCP агенту доступны команды чтения. Они не изменяют настройки и сущности терминала. При этом отдельные запросы могут быть ресурсоёмкими: например, `run_backtest` загружает исторические свечи и выполняет расчёты.

Изменяющие команды включаются отдельно:

| Разрешение                   | Что сможет делать агент                                                                            |
| ---------------------------- | -------------------------------------------------------------------------------------------------- |
| **Управление ботами**        | Создавать, изменять, запускать, останавливать и удалять ботов.                                     |
| **Управление подключениями** | Создавать, удалять, включать и выключать подключения к биржам.                                     |
| **Управление пресетами**     | Создавать, изменять, удалять, импортировать и экспортировать пресеты.                              |
| **Управление индикаторами**  | Добавлять, настраивать и удалять индикаторы на графиках.                                           |
| **Изменение настроек**       | Менять язык, размер интерфейса, автозапуск, хранение логов и автосохранение рабочего пространства. |
| **Отправка баг-репортов**    | Создавать баг-репорты и автоматически прикладывать диагностические данные.                         |
| **Разрешить всё**            | Одним переключателем включает все перечисленные разрешения.                                        |

Не включайте **Разрешить всё** без необходимости. Для первого знакомства достаточно команд чтения и, при необходимости, отправки баг-репортов.

Разрешение **Отправка баг-репортов** включено по умолчанию. Отключите его, если агент не должен создавать задачи во внешней системе Yougile и передавать туда диагностические данные.

Если агенту разрешено управлять ботами или подключениями, сначала используйте demo/testnet. Запуск бота через MCP ничем не отличается от запуска кнопкой в терминале: при реальном подключении бот будет торговать реальными средствами.

## Инструменты MCP

**Tool** — это отдельная команда ISA Terminal с понятными параметрами. Агент не нажимает кнопки интерфейса и не получает произвольный доступ к приложению: он работает только через зарегистрированные tools.

Всего ISA Terminal предоставляет **40 инструментов**: 19 для чтения и 21 для действий с отдельными разрешениями.

Дополнительно агент получает два справочных ресурса:

* `app://info` — версия терминала, состояние MCP и активные разрешения;
* `swagger://openapi.json` — описание HTTP API терминала, чтобы агент понимал структуру данных.

Это справка для агента, а не дополнительные разрешения на действия.

### Боты и торговое состояние

Команды чтения:

* `list_bots` — список ботов, их статусы, конфигурация, тикеры и PnL;
* `get_bot_metrics` — подробные метрики выбранного бота;
* `list_strategies` — доступные стратегии и поддерживаемые рынки;
* `get_strategy_params` — параметры выбранной стратегии, значения по умолчанию и допустимые диапазоны;
* `get_active_orders` — активные биржевые ордера;
* `get_active_positions` — открытые позиции и unrealized PnL;
* `get_closed_trades` — история закрытых сделок;
* `get_bots_stats` — общая статистика по всем ботам.

С разрешением **Управление ботами**:

* `create_bot`, `update_bot`;
* `start_bot`, `stop_bot`, `delete_bot`;
* `start_all_bots`, `stop_all_bots`.

При остановке агент может передать параметр `close_position`. Если он включён, открытая позиция закрывается по рынку. `stop_all_bots` с этим параметром закроет позиции сразу у всех запущенных ботов. `start_all_bots` массово запустит все остановленные боты.

`update_bot` применяет изменения к запущенному боту на лету. Удаление бота безвозвратно удаляет связанную с ним статистику, поэтому изменяющие и массовые команды нужно выполнять только по прямому запросу.

### Подключения к биржам

Команды чтения:

* `list_vendors` — список сохранённых подключений;
* `get_available_pairs` — торговые пары, доступные для выбранного подключения.

С разрешением **Управление подключениями**:

* `create_vendor`, `delete_vendor`;
* `enable_vendor`, `disable_vendor`.

Создание подключения требует API Key и Secret. Не передавайте ключи агенту без необходимости. Для тестирования используйте demo/testnet-ключи.

`disable_vendor` отключает соединение и останавливает зависимых ботов. `delete_vendor` может затронуть привязанных к подключению ботов.

### Графики и индикаторы

Команды чтения:

* `get_chart` — свечи OHLCV и значения активных индикаторов;
* `get_indicators_catalog` — каталог доступных индикаторов и их параметры;
* `get_chart_indicators` — индикаторы, сохранённые для выбранного подключения;
* `get_calculated_indicators` — рассчитанные значения линий индикаторов.

С разрешением **Управление индикаторами**:

* `add_chart_indicator`;
* `update_chart_indicator`;
* `delete_chart_indicator`.

Запрос свечей задаётся тремя значениями: подключение, торговая пара и таймфрейм. Агент получает снимок данных, а не бесконечный поток котировок.

Набор индикаторов хранится на уровне подключения (`vendor_uuid`) и используется для его графиков. Поэтому добавление, изменение или удаление индикатора может быть видно и на других парах и таймфреймах того же подключения.

### Бэктест

* `run_backtest` — запускает одну или несколько конфигураций стратегии на исторических свечах.

Инструмент ничего не меняет в терминале и не запускает реальную торговлю. Агент передаёт подключение, пару, таймфрейм, период и наборы параметров. В ответ получает PnL, просадку, win rate, количество сделок, recovery factor и profit factor. Результаты отдельно показывают поведение в Long и Short.

Несколько наборов параметров можно проверить одним вызовом. Перед этим агенту нужно получить допустимые параметры через `get_strategy_params`, а после прогона — сравнить варианты на одинаковом периоде и таймфрейме.

Результаты сортируются по `recovery_factor`, но выбирать настройку только по первой строке нельзя. Значение `∞` часто означает прибыль без зафиксированной просадки всего на одной-двух сделках. Проверяйте также количество сделок, просадку и баланс между Long и Short.

Бэктест может выполняться долго: терминал загружает исторические свечи с биржи и сохраняет их в кеш. Первый прогон длинного периода, особенно на минутном таймфрейме, может занять несколько минут.

### Пресеты

Команды чтения:

* `list_presets` — список всех пресетов;
* `list_presets_by_strategy` — пресеты конкретной стратегии.

С разрешением **Управление пресетами**:

* `create_preset`, `update_preset`, `delete_preset`;
* `export_presets`, `import_presets`.

Агент может подготовить несколько вариантов параметров, сохранить их как пресеты и проверить, какие пресеты уже существуют. Пресет хранит параметры стратегии, но не является готовым ботом.

### Настройки, логи и баг-репорты

* `get_settings` — прочитать настройки приложения;
* `get_logs` — получить логи за выбранную дату с фильтрами по уровню, источнику, боту и тексту сообщения;
* `update_settings` — изменить разрешённые настройки приложения;
* `create_bug_report` — создать задачу с описанием проблемы.

`get_logs` возвращает не более 500 записей за один запрос. `update_settings` в отдельных случаях может вызвать автоматический перезапуск приложения, поэтому терминал показывает подтверждение при выдаче этого разрешения.

`create_bug_report` создаёт задачу во внешней системе Yougile. Терминал автоматически прикладывает backend-логи за сегодня и вчера и историю ордеров. Перед выдачей этого разрешения учитывайте, что диагностические данные покинут компьютер.

## Что можно поручить агенту

### Проверить состояние торговли

> Покажи активные позиции, ордера и ботов. Найди ботов с ошибками или необычным PnL. Ничего не меняй.

### Разобраться с ошибкой

> Проверь error-логи за сегодня по этому боту, сопоставь их с активными ордерами и объясни причину простыми словами.

### Настроить график

> Для выбранного подключения добавь EMA 50 и RSI 14, затем проверь их значения на BTCUSDT, 1h.

Для этого потребуется разрешение на управление индикаторами.

### Подготовить пресет

> Покажи параметры стратегии GRID и создай отдельный demo-пресет с указанными настройками. Бота не запускай.

Для этого потребуется разрешение на управление пресетами.

### Сравнить настройки на бэктесте

> Получи допустимые параметры стратегии, подготовь несколько вариантов и прогони их на BTCUSDT за один и тот же период. Сравни recovery factor, просадку, количество сделок и результаты Long/Short. Ничего не запускай в реальной торговле.

`run_backtest` доступен в режиме чтения. Для сохранения выбранного варианта в пресет или применения к боту потребуется отдельное разрешение.

### Создать баг-репорт

> Найди ошибки в логах, собери шаги воспроизведения и отправь один понятный баг-репорт.

## Что MCP даёт пользователю

* Состояние ботов, позиций, ордеров, метрик и логов можно проверить одним запросом вместо нескольких окон и скриншотов.
* Несколько наборов параметров стратегии можно сравнить на одинаковом историческом периоде.
* Агенту можно выдать только нужные права: например, разрешить пресеты, но запретить запуск ботов и управление биржами.
* При разборе ошибки агент может собрать диагностический контекст и подготовить баг-репорт.

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

* MCP не гарантирует прибыль и не делает стратегию безопасной автоматически.
* Агент может ошибиться в выводах или выбрать неподходящие параметры.
* Без разрешений агент не сможет изменять данные.
* При закрытом ISA Terminal подключение не работает.
* Агент видит только данные и действия, которые ISA Terminal отдаёт через MCP.
* Котировки через MCP запрашиваются снимками; постоянный поток графика агенту не передаётся.
* Любое действие с реальным биржевым подключением нужно проверять так же внимательно, как ручное действие в терминале.

Для начала используйте MCP в режиме чтения или на demo-подключении. Расширяйте разрешения только под конкретную задачу.
