# MCP-серверы (/ru/docs/mcp-servers)

Страница «MCP-серверы» — место, где вы изучаете и отлаживаете серверы [Model Context Protocol](https://modelcontextprotocol.io):
те, что вы пишете, и те, которыми пользуются ваши ИИ-клиенты. Echolot подключается, определяет, на какой версии
протокола говорит сервер, проверяет, что каждый шаг работает, перечисляет, что тот предлагает, и позволяет вызвать
любой инструмент, ресурс или промпт и сохранить вызов как запрос.

Откройте её через **MCP-серверы** в переключателе модулей боковой панели или клавишами <kbd>⌘</kbd><kbd>2</kbd>.
Боковая панель перечисляет серверы рабочего пространства; страница показывает выбранный.

<Shot id="mcp-server-detail" alt="Страница «MCP-серверы» с выбранным Alpenglow MCP: заголовок сервера с кнопками «Изменить…», «Следить» и «Проверка», карточка «Подключение работает», карточка «Сервер» с протоколом, пингом и числом инструментов и карточка «Инструменты»" />

## Попробуйте на демо-сервере [#try-it-with-the-demo-server]

Демо-API запускает MCP-сервер по адресу `https://demo.echolot.dev/mcp`. В примере рабочего пространства Alpenglow он
уже есть как **Alpenglow MCP**. Чтобы добавить его в другое рабочее пространство:

1. В заголовке **Серверы** боковой панели нажмите **+** и выберите **Добавить MCP-сервер…**.
2. Введите **Имя**, например `Alpenglow MCP`, и выберите в **Транспорт** значение **HTTP (Streamable HTTP)**.
3. Введите **URL** `https://demo.echolot.dev/mcp` и нажмите **Добавить**.

Echolot сразу проверяет сервер. Тот предлагает три инструмента (`search_catalog`, `get_product`, `order_status`), один
ресурс и один промпт. О локальных серверах, импорте серверов из других приложений, заголовках и OAuth рассказано в
[добавлении серверов](/docs/mcp-servers/adding-servers).

## Список серверов [#the-server-list]

В каждой строке — имя сервера, способ подключения и, после проверки, число инструментов: `http · demo.echolot.dev`
до первой проверки, `http · 3 tools` после неё, `stdio · npx` для локальной команды. Зелёная точка означает, что
последняя проверка прошла, красная — что не прошла.

Щёлкните по серверу правой кнопкой, чтобы выбрать **Изменить…**, **Проверить подключение** или **Удалить…**. Кнопка
**−** в заголовке удаляет выбранный сервер. Echolot сначала спрашивает, а файл сервера попадает в Корзину.

Каждый сервер — это файл в папке `mcp-servers` рабочего пространства, поэтому он путешествует вместе с рабочим
пространством через Git. Секреты — нет: см. [Значения и секреты](/docs/mcp-servers/adding-servers#values-and-secrets).

## Проверка сервера [#checking-a-server]

Echolot проверяет сервер, когда вы его открываете, и снова, когда вы нажимаете **Проверка**. Проверка подключается,
определяет протокол, пингует сервер и перечисляет его инструменты, ресурсы и промпты. Исключение — локальные серверы,
которые Echolot раньше не запускал: они ждут, пока вы проверите их команду (см.
[Проверьте перед запуском](/docs/mcp-servers/adding-servers#review-before-running)).

Результат появляется в карточках, сверху вниз:

| Карточка | Что показывает |
| --- | --- |
| **Подключение работает** или **Проблема с подключением** | Каждый шаг проверки, пройденный или нет: **Сервер запускается** (локальные серверы), **Сервер доступен**, **Авторизация**, **Протокол**, **Отклик** (пинг), **Инструменты**, **Ресурсы** и **Промпты**. Неудавшийся шаг сообщает, что пошло не так, и предлагает исправление. |
| **Сервер** | Версия протокола (**Протокол (без состояния)** или **Протокол (сеанс)**), время **Ping** и **Соединить**, число инструментов, имя и версия сервера, его **Возможности**, версии, которые он **Поддерживает**, если их больше одной, и его **Инструкции** для моделей. |
| **Инструменты**, **Ресурсы**, **Промпты** | То, что предлагает сервер, с описанием каждого элемента. Нажмите на элемент, чтобы вызвать его. |
| **Как модель видит этот сервер** | Сколько список инструментов стоит модели на каждом ходу и обо что модель могла бы споткнуться. См. [Инструменты и качество](/docs/mcp-servers/tools-and-quality). |
| **Попробовать с моделью** | Какой инструмент выбрала бы модель для введённого вами промпта. См. [Инструменты и качество](/docs/mcp-servers/tools-and-quality#try-with-a-model). |
| **В реальном времени** | О чём объявил отслеживаемый сервер. См. [Отслеживание сервера](#watching-a-server). |
| **Сообщения** | Каждое сообщение последней проверки. См. [Журнал сообщений](#the-message-log). |

Когда сервер запрашивает OAuth, первой идёт карточка **Нужно войти**. См.
[Вход через OAuth](/docs/mcp-servers/adding-servers#signing-in-with-oauth).

Инструмент, определение которого сервер составил неверно, учитывается на шаге **Инструменты**, который не проходит и
называет инструмент и что с ним не так.

## Вызов инструментов, ресурсов и промптов [#calling-tools-resources-and-prompts]

Нажмите на инструмент, ресурс или промпт в его карточке. Откроется панель с его именем и аргументами:

- У инструмента со схемой входных данных появляется форма, по полю на каждый параметр. После имени обязательных
  полей стоит `*`. Если задержать указатель на поле, появится его описание. Переключите **Аргументы** на **JSON**, чтобы
  написать аргументы самому; JSON начинается со всех полей схемы.
- У промпта есть поле для каждого его аргумента.
- Ресурсу аргументы не нужны.

Нажмите **Вызвать** или <kbd>↩</kbd>. Ответ появится под аргументами, с временем, которое он занял. Инструмент,
сообщивший об ошибке, показывает её красным.

**Сохранить как запрос** сохраняет вызов с его аргументами как запрос MCP в рабочем пространстве, чтобы его можно было
выполнить снова, добавить проверки и запустить в [Прогоне](/docs/requests/runner). См.
[запросы MCP](/docs/requests/mcp-requests). **Закрыть** (<kbd>esc</kbd>) выходит без сохранения.

В значениях аргументов можно использовать `{{variables}}` из активного [окружения](/docs/workspaces/environments).
Вызовы идут через тот же движок, что и любой запрос, поэтому действуют настройки прокси и сертификатов рабочего
пространства, а каждый вызов сохраняется в [Истории](/docs/workspaces/history).

### Когда сервер что-то спрашивает [#when-the-server-asks-you-something]

Пока вы вызываете инструмент, сервер может запросить что-то взамен. Echolot показывает лист:

| Что сказано на листе | Что делать |
| --- | --- |
| **Сервер запрашивает информацию** | Заполните форму, которую прислал сервер, и нажмите **Отправить**, либо выберите **Отклонить** или **Отменить**. |
| **Сервер просит открыть страницу** | Нажмите **Открыть в браузере**, завершите дела там и нажмите **Готово**. |
| **Сервер просит ответ модели** | Лист показывает сообщения, на которые сервер хочет ответ модели. Напишите ответ сами и нажмите **Отправить ответ** либо **Отклонить**. |

Ваш ответ получает только тот сервер, который спросил.

## Отслеживание сервера [#watching-a-server]

Нажмите **Следить**, чтобы держать соединение открытым. Кнопка превращается в **Отслеживается**, а карточка
**В реальном времени** показывает, новейшее сверху, о чём объявляет сервер: изменения списков его инструментов,
ресурсов или промптов и обновления ресурсов. Когда список меняется, Echolot читает его заново, так что карточки
остаются актуальными. Нажмите **Отслеживается**, чтобы остановить.

## Журнал сообщений [#the-message-log]

Карточка **Сообщения** перечисляет каждое сообщение JSON-RPC последней проверки со временем, прошедшим с её начала:
сообщения, отправленные серверу, полученные сообщения, события соединения и, для локального сервера, то, что он
написал в свой вывод ошибок. Показаны первые 12; **Показать все** перечисляет остальные.

Задержите указатель на сообщении, чтобы увидеть его целиком и отформатированным, с методом, ID, видом (результат,
ошибка или уведомление) и размером. **Скопировать** копирует его.

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

## Защищённые окружения [#protected-environments]

Когда активно [защищённое окружение](/docs/workspaces/protected-environments), **Проверка**, **Следить** и каждый
вызов сначала спрашивают вас, потому что сервер может оказаться рабочим. Пока это окружение активно, Echolot сам
серверы не проверяет; нажмите **Проверка**, когда захотите.

## Версии протокола [#protocol-versions]

Echolot говорит на обоих видах MCP:

- **MCP без состояния**, редакция `2026-07-28`, обнаруживается через `server/discover`. В карточке **Сервер** написано
  **Протокол (без состояния)**.
- Редакции с рукопожатием `2025-11-25`, `2025-06-18`, `2025-03-26` и `2024-11-05`, которые начинают сеанс через
  `initialize`. В карточке написано **Протокол (сеанс)**.

По HTTP Echolot использует Streamable HTTP. Когда сервер его отклоняет, Echolot сам пробует более старый транспорт
HTTP+SSE из `2024-11-05`. URL, оканчивающийся на `/sse`, сначала пробуется как HTTP+SSE.

## Из командной строки [#from-the-command-line]

`echolot mcp check` выполняет ту же проверку в терминале или в CI, а `echolot mcp sign-in` входит на сервер, который
запрашивает OAuth. См. [echolot mcp](/docs/cli/mcp).

Чтобы ИИ-клиенты могли пользоваться вашим рабочим пространством через собственный MCP-сервер Echolot, см.
[Агентов](/docs/ai/agents). Учебник [Изучение и отладка MCP-сервера](/docs/tutorials/inspect-an-mcp-server) проходит
эту страницу шаг за шагом.
