Echolot
Командная строка и CI

echolot mcp

Проверяйте MCP-серверы и то, как модель видит их инструменты, входите в них, обслуживайте рабочее пространство для ИИ-агентов и настраивайте MCP-клиенты.

echolot mcp работает с MCP-серверами в двух направлениях. check и sign-in обращаются к чужому серверу, как это делает страница «MCP-серверы». serve и setup превращают ваше рабочее пространство в MCP-сервер, чтобы ИИ-агенты вроде Claude Code или Cursor могли перечислять, отправлять и тестировать его запросы; см. агентов.

ПодкомандаЧто делает
echolot mcp checkПодключается к MCP-серверу и перечисляет, что он предлагает; --quality сообщает, как модель видит его инструменты.
echolot mcp sign-inВходит в MCP-сервер рабочего пространства, который требует OAuth.
echolot mcp sign-outЗабывает этот вход на этом Mac.
echolot mcp serveОбслуживает рабочее пространство для агентов по MCP.
echolot mcp setupПечатает, как подключить MCP-клиент к рабочему пространству.

echolot mcp check

echolot mcp check [--url <url>] [--header <header> ...] [--env <env> ...] [--verbose] [--timeout <seconds>] [--quality] [--strict] [--as <provider>] -- [<command> ...]

Укажите эндпоинт Streamable HTTP через --url или команду, которая запускает stdio-сервер, после --. Echolot выясняет, говорит ли сервер на протоколе без состояния (2026-07-28) или на более раннем, с рукопожатием, и перечисляет его инструменты, ресурсы и промпты:

echolot mcp check --url https://demo.echolot.dev/mcp
alpenglow-mcp 1.5.0: MCP 2025-11-25 (session, initialize)
  connected in 263 ms, round trip 54 ms
  instructions: The Alpenglow demo shop from docs.echolot.dev. Read-only: search the catalog, look up products and orders.
3 tools
  search_catalog: Searches the Alpenglow catalog by text and returns matching products with price and stock.
  get_product: Returns one product by SKU, with its price, weight, rating and stock per warehouse.
  order_status: Returns an order's status, total and shipping estimate.
1 resource
  alpenglow://catalog/categories  categories
1 prompt
  pack_for_a_trip: Suggests gear for a trip.

Сервер stdio:

echolot mcp check -- npx -y @modelcontextprotocol/server-everything
echolot mcp check -e API_KEY=demo -- uvx some-mcp-server --flag

Как модель видит инструменты

--quality добавляет то, что модель получила бы от сервера: сколько список инструментов стоит в контексте каждого провайдера на каждом ходу (оценка), какие инструменты стоят больше всего и обо что модель могла бы споткнуться, например проблемы схем и неясные или пересекающиеся описания. Это тот же отчёт, что Как модель видит этот сервер в приложении; см. инструменты и качество.

echolot mcp check --url https://demo.echolot.dev/mcp --quality
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.

--strict делает так, что проблема (не предупреждение и не заметка) завершает команду с кодом 1 — для CI. --as anthropic, --as openai или --as gemini печатает только список инструментов в том виде, в каком его получает API этого провайдера.

ПараметрЗначение
--url <url>Эндпоинт Streamable HTTP, например http://127.0.0.1:3000/mcp.
-H, --header <header>Заголовок HTTP в виде 'Name: value', для --url. Можно повторять.
-e, --env <NAME=value>Переменная окружения для stdio-сервера. Можно повторять.
-v, --verboseПечатать каждое отправленное и полученное сообщение в стандартный поток ошибок.
--timeout <seconds>Сколько секунд ждать каждого ответа. По умолчанию 30.
--qualityСообщить, как модель видит инструменты: их стоимость по провайдерам, проблемы схем и описаний.
--strictВместе с --quality: завершиться с кодом 1, если есть проблема.
--as <provider>Напечатать только список инструментов в том виде, в каком его получает API провайдера: anthropic, openai или gemini.

echolot mcp sign-in и sign-out

echolot mcp sign-in <server> [--workspace <workspace>] [--env <env>] [--force] [--print] [--verbose]
echolot mcp sign-out <server> [--workspace <workspace>]

<server> — это имя файла сервера в папке mcp-servers рабочего пространства, без .toml. Вход открывает ваш браузер и ждёт перенаправления на 127.0.0.1:

echolot mcp sign-in alpenglow-mcp -w Alpenglow.echolot
  • На Mac вход попадает в Связку ключей, общую с приложением: им пользуются и приложение, и echolot run на этом Mac.
  • В других местах, а также с --print, Echolot печатает его в виде строки ECHOLOT_SECRET_…='…'. Храните это значение как секрет CI и задайте переменную там, где работает Echolot. В нём лежит токен обновления: обращайтесь с ним как с паролем.
  • ECHOLOT_BROWSER называет другую команду, которой открывать страницу входа.
ПараметрЗначение
-w, --workspace <folder>Папка рабочего пространства. По умолчанию — текущая папка.
--env <env>Окружение, чьи переменные разрешают настройки сервера.
--forceВойти заново, даже если рабочий вход уже есть.
--printНапечатать вход как переменную ECHOLOT_SECRET_, для CI.
-v, --verboseПечатать каждый шаг входа в стандартный поток ошибок.

sign-out удаляет вход из Связки ключей. Без Связки ключей забывать нечего: вместо этого удалите переменную.

echolot mcp serve

echolot mcp serve [<workspace>] [--env <env>] [--policy <policy>] [--toolsets <toolsets>] [--http <port>] [--verbose] [--headless] [--trust-workspace-policy]

Обслуживает рабочее пространство для агентов по MCP. Агенты перечисляют, читают, отправляют и запускают его запросы, запрашивают ответы по дескриптору, а также создают и изменяют запросы — теми же инструментами, что и приложение. Добавьте его в клиент как stdio-сервер, команда которого:

echolot mcp serve /path/to/Alpenglow.echolot

С открытым приложением. Когда приложение Echolot держит рабочее пространство открытым и пускает агентов (Настройки › Агенты), клиент перенаправляется в приложение. Тогда приложение просит вас одобрить то, что требует одобрения, и вы видите, что делает агент. --headless всё равно обслуживает само по себе.

Само по себе. Без приложения спросить некого, поэтому то, о чём политика спросила бы, отклоняется:

ПолитикаЧто выполняется
standard (по умолчанию)Чтение и безопасные отправки (например, GET). Прочие отправки, неизвестные рабочему пространству хосты и изменения рабочего пространства отклоняются.
readonlyТолько чтение.
permissiveОтправки и изменения рабочего пространства. Удаление отклоняется, как и неизвестные рабочему пространству хосты и отправки в защищённые окружения.

Секреты берутся из переменных ECHOLOT_SECRET_ и Связки ключей этого Mac и никогда не доходят до агента. В режиме headless сервер выполняет только те скрипты, которые были в рабочем пространстве на момент запуска.

Собственные правила рабочего пространства. Раздел [agents] в workspace.toml может отключить агентов для рабочего пространства или ужесточить политику для каждого вида действий. Правила, которые смягчили бы политику, учитываются только с --trust-workspace-policy; без него Echolot сообщает, какие из них он проигнорировал. Новый хост и защищённое окружение никогда не разрешаются безоговорочно. Ключи описаны в файлах рабочего пространства.

Наборы инструментов. requests предлагается всегда. --toolsets добавляет группы через запятую или all:

НаборИнструменты для
requestsПеречисления, чтения, создания и отправки запросов; ответов, истории, GraphQL, работающих моков. Всегда включён.
flowsЗапуска сценариев, предложенных агентам, и ответов на их вопросы. Включён по умолчанию.
workspaceСоздания, переименования, перемещения, дублирования и удаления папок и запросов; авторизации папок; переменных рабочего пространства; сохранения собранных данных в файлы.
environmentsСоздания, изменения и удаления окружений.
specsЧтения, записи и проверки линтером спецификаций OpenAPI; связывания с ними папок и применения изменений.
mocksСоздания, изменения и удаления мок-серверов и их маршрутов с тестовыми данными; запросов из маршрутов; сохранения ответов как примеров.
mcp-serversДобавления, изменения, проверки и удаления MCP-серверов.
historyОткрытия, сравнения и удаления прошлых обменов.
flow-editingЧтения, рисования и удаления сценариев; try_flow один раз запускает сценарий после одобрения человеком (в режиме headless некому одобрить, поэтому он отклоняется).

Политика агентов, прокси, сертификаты, настройки авторизации и скрипты никогда не предлагаются агентам, ни в одном наборе.

По HTTP. --http <port> обслуживает Streamable HTTP на 127.0.0.1 вместо stdio (0 выбирает свободный порт). Поскольку до порта loopback может добраться всё на этом Mac, клиенты должны отправлять bearer-токен, который печатает Echolot:

echolot mcp serve Alpenglow.echolot --http 0 --policy readonly
Echolot MCP server for Alpenglow at http://127.0.0.1:52817/mcp (policy readonly)
Clients send the header  Authorization: Bearer 6f1c…

Задайте ECHOLOT_MCP_TOKEN, чтобы выбрать токен самостоятельно.

ПараметрЗначение
--env <env>Окружение, которое используют вызовы, не назвавшие своего.
--policy <policy>standard, readonly или permissive. По умолчанию standard.
--toolsets <list>Группы инструментов для предложения, через запятую, или all. По умолчанию requests,flows.
--http <port>Обслуживать Streamable HTTP на 127.0.0.1 на этом порту (0 выбирает порт) вместо stdio.
-v, --verboseПечатать каждое сообщение в стандартный поток ошибок.
--headlessОбслуживать само по себе, даже если приложение Echolot держит это рабочее пространство открытым.
--trust-workspace-policyПозволить правилам [agents] рабочего пространства не только ужесточать политику, но и смягчать её.

echolot mcp setup

echolot mcp setup <client> [--workspace <workspace>] [--name <name>] [--version <version>]

Печатает то, что нужно клиенту, чтобы запустить echolot mcp serve для рабочего пространства. Ничего не меняет; скопируйте вывод туда, где его читает клиент. Команда в выводе — это путь к тому echolot, который вы запустили.

КлиентПечатает
claude-codeКоманду claude mcp add --scope user …, которую нужно выполнить.
claude-desktopЗапись mcpServers для конфигурации Claude Desktop.
cursorЗапись mcpServers для mcp.json Cursor.
vscodeЗапись servers для mcp.json VS Code.
codexТаблицу [mcp_servers.…] для config.toml Codex.
mcpbmanifest.json расширения Claude Desktop, чей server/echolot — этот бинарный файл. Без --workspace расширение спрашивает рабочее пространство при установке.
echolot mcp setup claude-code -w Alpenglow.echolot
claude mcp add --scope user echolot-alpenglow -- /usr/local/bin/echolot mcp serve /Users/you/Alpenglow.echolot
echolot mcp setup cursor -w Alpenglow.echolot
{
  "mcpServers" : {
    "echolot-alpenglow" : {
      "args" : ["mcp", "serve", "/Users/you/Alpenglow.echolot"],
      "command" : "/usr/local/bin/echolot"
    }
  }
}
ПараметрЗначение
-w, --workspace <folder>Папка рабочего пространства; MCPB спрашивает её, если параметр опущен.
--name <name>Имя сервера в клиенте. По умолчанию echolot-<workspace>.
--version <version>Версия, записываемая в манифест MCPB. По умолчанию — версия этого инструмента.

Настройки › Агенты в приложении настраивают для вас те же клиенты; см. агентов.

Коды выхода

КодКогда
0Подключились, вошли, обслуживали до остановки или напечатали.
1check не смог подключиться или проверка не прошла, --quality --strict нашёл проблему либо sign-in не удался или сервер не запросил OAuth.
64Неверный параметр, неизвестная политика или клиент, неизвестное окружение или рабочее пространство, раздел [agents] которого отключает агентов.

На этой странице