Перейти к основному содержимому

История запусков и логи через MCP

Инструменты botcraft-builder используют API работающего приложения и его проверки доступа. Для удалённого MCP нужна авторизация Bearer PAT; для stdio — MCP_AGENT_TOKEN. Это чтение сохранённых логов, а не управление сроком хранения и не архив S3.

История запусков​

db_list_bot_launches принимает token_id из db_list_bot_tokens, limit (по умолчанию 10, максимум 100) и необязательный before_id.

{"token_id":301,"limit":10}

Ответ содержит total — количество запусков в странице, launches, has_more и next_before_id. У запуска есть id, status, startedAt, stoppedAt, errorMessage, processId. Для следующей страницы передайте next_before_id в before_id. Это не общее количество запусков за всё время.

Существующий db_bot_launch_history остаётся доступен для совместимости.

Логи конкретного запуска​

db_get_launch_logs принимает launch_id из истории, limit (по умолчанию 100, максимум 500) и необязательный before_id.

{"launch_id":3596,"limit":100}

Ответ содержит total, logs, has_more, next_before_id. Поля строки: id, launchId, content, type, timestamp. Выбираются последние строки страницы, возвращаются в хронологическом порядке. Следующая страница загружает более ранние ID. Существующий запуск без сохранённых строк возвращает пустой список; отсутствие запуска и отсутствие прав — ошибки.

Поиск по периоду​

db_search_bot_logs выбирает строки заданного бота в диапазоне времени и фильтрует по тексту и типу вывода. Начало диапазона включительно, окончание исключительно; даты должны содержать часовой пояс, например 2026-10-11T01:00:00+03:00 или 2026-10-10T22:00:00Z.

Обязательны project_id, token_id, from, to. Необязательны text (до 500 символов), type, limit (по умолчанию 100, максимум 1000), before_id.

{"project_id":289,"token_id":301,"from":"2026-10-11T00:00:00+03:00","to":"2026-10-12T00:00:00+03:00","text":"connection was closed","type":"stderr","limit":100}

Ответ содержит logs, count, scanned, hasMore, nextBeforeId, order, retentionLimited. Для продолжения передайте nextBeforeId в before_id, сохранив границы и фильтры.

Поиск текста — подстрока без учёта регистра. Тип вывода — stdout, stderr или status; это не вычисленный уровень INFO/ERROR в интерфейсе.

Один вызов просматривает не более 1000 исходных строк. Поэтому пустая страница совпадений ещё не означает конец истории: проверяйте hasMore и курсор nextBeforeId. Курсор относится к просмотренным строкам, включая строки без совпадений. Порядок поиска — по убыванию ID.

Экспорт​

db_export_bot_logs использует те же границы времени и фильтры, сохраняет результат в txt либо jsonl (по умолчанию). Экспорт ограничен количеством совпавших строк (по умолчанию 1000, максимум 5000), просмотром 10 000 исходных строк и размером 10 МиБ.

Вместо limit используется max_rows; остальные параметры совпадают с поиском.

{"project_id":289,"token_id":301,"from":"2026-10-11T00:00:00+03:00","to":"2026-10-12T00:00:00+03:00","format":"jsonl","max_rows":1000}

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

Файлы создаются в фиксированной временной папке с автоматически выбранным именем. Произвольный путь записи не принимается. path — локальный путь на машине, где работает MCP, а не ссылка скачивания. Экспорт доступен только через stdio с включёнными файловыми инструментами (enableFileTools: true); удалённый HTTP MCP предоставляет только три инструмента чтения и поиска.

Ограничения и безопасность​

  • Доступ ограничен правами PAT на проект. Чтение истории и логов не запускает и не останавливает бота.
  • Возвращаются только разрешённые поля записей; реквизиты токена и заголовок авторизации не добавляются в ответы.
  • Содержимое content — исходный текст бота: он может включать личные данные или секреты, если сам бот вывел их. Не публикуйте экспорт без проверки.
  • Очистка по сроку хранения и лимитам уже могла удалить строки. Поиск и экспорт не восстанавливают удалённую историю; retentionLimited: true сообщает об этом ограничении.
  • Для текущего запуска по-прежнему доступен db_bot_logs. Для изоляции конкретного старого запуска используйте его launch_id.

REST API​

MCPAPI
db_list_bot_launchesGET /api/tokens/:tokenId/launch-history
db_get_launch_logsGET /api/launch/:launchId/logs
db_search_bot_logs, db_export_bot_logsGET /api/projects/:projectId/tokens/:tokenId/logs с from, to, limit, beforeId

Общее руководство: mcp/bot-builder. План архива S3: roadmaps/bot-logs-s3.