# Проверка MCP-сервера (/ru/docs/tutorials/inspect-an-mcp-server)

MCP-сервер даёт ИИ-агентам инструменты, ресурсы и промпты. Прежде чем передать его агенту, посмотрите, что он
предлагает, сами вызовите его инструменты и проверьте, во сколько модели обходится список инструментов. В этом
руководстве вы сделаете это на сервере демо-магазина `https://demo.echolot.dev/mcp` и сохраните вызов инструмента как
запрос с проверками.

- **Время:** 15 минут.
- **Вам понадобится:** любое рабочее пространство. В [Alpenglow](/docs/tutorials#the-alpenglow-workspace) этот сервер уже
  есть под именем **Alpenglow MCP**; чтобы пройти руководство с нуля, возьмите другое рабочее пространство.
- **Вы узнаете:** как добавить сервер, про проверку, вызов инструментов, карточку **Как модель видит этот сервер** и
  MCP-запросы.

## 1. Добавьте сервер [#1-add-the-server]

1. Переключитесь на **MCP-серверы** (<kbd>⌘</kbd><kbd>2</kbd>).
2. Выберите **Добавить MCP-сервер…** (на пустой странице или в меню **+** боковой панели).
3. В **Добавить MCP-сервер**:
   - **Имя**: `Demo shop`
   - **Транспорт**: **HTTP (Streamable HTTP)**
   - **URL**: `https://demo.echolot.dev/mcp`
4. Нажмите **Добавить**.

Сервер сохраняется как файл в папке `mcp-servers` рабочего пространства. Меню **+** также может импортировать серверы из
Claude Desktop, Claude Code, Cursor, VS Code или Codex.

<Edition only="direct">
  Серверы, работающие как программа на вашем Mac (**Локальная команда (stdio)**, например серверы на `npx` или `uvx`),
  работают в версии с сайта. В версии из App Store добавляйте сервер по HTTP или проверяйте его командой
  `echolot mcp check`.
</Edition>

## 2. Проверьте его [#2-check-it]

1. Нажмите **Проверка**. Echolot подключается, выясняет, на какой версии протокола работает сервер, пингует его и
   перечисляет его инструменты, ресурсы и промпты.
2. Страница заполняется карточка за карточкой:
   - **Подключение работает**, затем **Сервер**: протокол (MCP 2025-11-25, с сеансом), время пинга и подключения, число
     инструментов, возможности и **Инструкции**: «The Alpenglow demo shop from docs.echolot.dev. Read-only: search the
     catalog, look up products and orders.»
   - **Инструменты**: `search_catalog`, `get_product` и `order_status` с их описаниями.
   - **Ресурсы**: `categories` (`alpenglow://catalog/categories`).
   - **Промпты**: `pack_for_a_trip`, который принимает `trip`.
   - **Сообщения**: все сообщения JSON-RPC проверки. Нажмите **Показать все**, чтобы увидеть каждое.

**Следить** держит соединение открытым и показывает изменения списков и обновления ресурсов по мере появления. Сервер,
которому нужен OAuth, показывает здесь **Войти…**; см. [добавление серверов](/docs/mcp-servers/adding-servers).

<Shot id="tutorials-mcp-server-checked" alt="Страница «MCP-серверы» после проверки Alpenglow MCP: карточка «Сервер», три инструмента и карточка «Как модель видит этот сервер»" />

## 3. Вызовите инструмент [#3-call-a-tool]

1. В карточке **Инструменты** выберите `search_catalog`. Откроется лист вызова.
2. В разделе **Аргументы** вкладка **Форма** показывает поле для каждого параметра. Задайте `query` — `ultralight tent`,
   а `limit` — `3`. **JSON** показывает те же аргументы текстом.
3. Нажмите **Вызвать** (<kbd>↩</kbd>).

Результат появится в разделе **Результат** с затраченным временем: по строке на товар с его названием, артикулом, ценой
в CHF и наличием. Инструмент, завершившийся ошибкой, показывает **Ошибка** и текст красным. Попробуйте `order_status` с
`order_id` равным `ord_7Hk2Lw` и выберите `categories` в разделе **Ресурсы**, чтобы так же прочитать ресурс.

## 4. Посмотрите, как модель видит сервер [#4-see-how-a-model-sees-the-server]

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

- **Токены Anthropic**, **Токены OpenAI** и **Токены Google Gemini**: сколько три инструмента стоят за ход. Для этого
  сервера — несколько сотен токенов.
- **Самые крупные инструменты**: инструменты, которые обходятся дороже всех.
- Список проблем, о которые модель могла бы споткнуться, — например, отсутствующее описание или запутанная схема — с
  предлагаемым исправлением к каждой. Для демо-сервера: **Модели не обо что споткнуться**.
- **Список в том виде, в каком его получает провайдер**: список инструментов в точности так, как его получает API
  каждого провайдера, с кнопкой **Скопировать**.

Карточка **Попробовать с моделью** под ней отправляет введённую вами задачу модели с этими инструментами, чтобы
посмотреть, какие она выберет. Для этого нужен [провайдер Ассистента](/docs/ai/assistant). Инструмент командной строки
выводит те же показатели:

```sh
echolot mcp check --quality --url https://demo.echolot.dev/mcp
```

```text
How a model sees the tools (estimates)
  Anthropic      572 tokens a turn, 0.3% of a 200k context
  OpenAI         166 tokens a turn, 0.1% of a 200k context
  Google Gemini  225 tokens a turn, 0.1% of a 200k context
  largest: search_catalog 98, get_product 66, order_status 62
Nothing a model would stumble over.
```

Подробнее — в разделе [инструменты и качество](/docs/mcp-servers/tools-and-quality).

## 5. Сохраните вызов как запрос с проверками [#5-save-the-call-as-a-request-with-checks]

1. Вызовите `search_catalog` ещё раз и выберите **Сохранить как запрос**. В **Запросы** появится запрос с именем
   `search_catalog` с сервером, инструментом и аргументами.
2. Откройте его. **Операция** — **Инструмент**; **Вызвать** (<kbd>⌘</kbd><kbd>R</kbd>) выполняет его, как любой запрос.
3. На его вкладке **Тесты** откройте **Добавить тест** и добавьте:
   - **Ошибка MCP** равно `false`: инструмент не сообщил об ошибке.
   - **Тело** содержит `TNT-`: в ответе перечислены палатки.
   - **Значение JSON** `$.content[0].text` содержит `CHF`.
4. Вызовите его. **Пройдено: 3**.

Сохранённые вызовы выполняются в [Прогоне](/docs/requests/runner) и в CI через `echolot run`, поэтому изменение
инструментов сервера ломает сборку, а не агента. В папке **Agent tools** в Alpenglow два таких запроса. **Схема вывода инструмента** сверяет результат с объявленной схемой вывода инструмента — для серверов, которые её объявляют. См.
[MCP-запросы](/docs/requests/mcp-requests).

## Дальше [#next-steps]

- [Безопасная работа агента с вашим рабочим пространством](/docs/tutorials/agents-safely): Echolot — тоже MCP-сервер.
- [MCP-серверы](/docs/mcp-servers): серверы stdio, OAuth, импорт конфигураций других приложений.
- [`echolot mcp`](/docs/cli/mcp): `check`, `sign-in` и остальное.
