🌍 Добрай раніцы! 👋🏻
TL;DR
- Sentry MCP обрезает HTTP body, headers и breadcrumbs
- Sentry CLI возвращает полный event JSON через bash
- 80+ breadcrumbs, логи и контекст окружения
🌍 Добрай раніцы! 👋🏻
Как вы знаете, я усиленно готовлюсь к HolyJS ⛏, и работаю над тем, чтобы улучшить процесс автоматического исправления инцидентов, в моем случае инциденты это issue зафиксированные системой мониторинга Sentry.
У меня был подключен официальный Sentry MCP, я радовался, так как это был быстрый способ получения информации об инциденте, агент дергал
И сначала результаты были где-то положительные, где-то отрицательные, но в общем и целом, все было хорошо.
А потом работая над одним из тикетов, я понял что решение которое предлагает агент, сильно отличается от корректного, я стал выяснять, и каково было мое удивление 😕, когда в исходниках Sentry MCP я нашел ответ...
🤷♀️ В чём проблема использования MCP?
MCP (Model Context Protocol) это способ подключать внешние сервисы к AI-агентам. У Sentry есть официальный MCP сервер, и на первый взгляд всё окей — тулы работают, данные приходят, контекст для агента есть.
Но когда я полез в исходники
Все обрезается и остается только
✏️ Что не отдает MCP, а по моему мнению для дебага было бы очень полезно:
❌
❌
❌
❌
Без этих данных агент будет двигаться по наитию, и очень уверенно рассказывать вам дорогу =)
🪛 Решение — Sentry CLI вместо MCP
У Sentry есть официальный CLI современная тулза на Bun (кстати лично я еще ни разу не использовал
Вместо MCP агент отправляет CLI команды:
➡️
➡️
➡️
🔖 Разница на реальном примере:
MCP вернул:
CLI вернул то же самое ПЛЮС:
➡️
➡️
➡️
➡️
➡️
Агент, работая с CLI, имеет возможность корректно идентифицировать
✏️ Как я настроил в AI-агенте
Почти все AI coding tools поддерживают
➡️
➡️
➡️
➡️
Просто описал инструкцию в
И всё. Агент будет использовать CLI и получать полные данные. CLI — это просто bash команда, а bash доступен в любом AI coding tool.
💡 Этот подход работает не только для Sentry. Jira CLI тоже быстрее и информативнее чем Jira MCP. Принцип один — если CLI отдаёт больше данных за один вызов, используйте CLI.
💬 Делитесь своим мнением в комментариях👇! Если вам понравился пост, не забудьте поставить лайк! 👍
#AI
Как вы знаете, я усиленно готовлюсь к HolyJS ⛏, и работаю над тем, чтобы улучшить процесс автоматического исправления инцидентов, в моем случае инциденты это issue зафиксированные системой мониторинга Sentry.
У меня был подключен официальный Sentry MCP, я радовался, так как это был быстрый способ получения информации об инциденте, агент дергал
get_issue_details, получал данные и дальше уже с ними работал. И сначала результаты были где-то положительные, где-то отрицательные, но в общем и целом, все было хорошо.
А потом работая над одним из тикетов, я понял что решение которое предлагает агент, сильно отличается от корректного, я стал выяснять, и каково было мое удивление 😕, когда в исходниках Sentry MCP я нашел ответ...
🤷♀️ В чём проблема использования MCP?
MCP (Model Context Protocol) это способ подключать внешние сервисы к AI-агентам. У Sentry есть официальный MCP сервер, и на первый взгляд всё окей — тулы работают, данные приходят, контекст для агента есть.
Но когда я полез в исходники
@sentry/mcp-server, обнаружил, что есть функция formatRequestInterfaceOutput которая формирует данные о HTTP request из event:function formatRequestInterfaceOutput(event, data) {
if (!data.method || !data.url) return "";
return `**Method:** ${data.method}\n**URL:** ${data.url}\n\n`;
}Все обрезается и остается только
method и URL. Request body, headers, cookies — всё выбрасывается 🗑.✏️ Что не отдает MCP, а по моему мнению для дебага было бы очень полезно:
❌
Request body — (а там всякие ids, фильтры и так далее)❌
Request headers — (user, auth context)❌
Breadcrumbs — (а это цепочка HTTP вызовов и console логов ДО ошибки)❌
Console logsБез этих данных агент будет двигаться по наитию, и очень уверенно рассказывать вам дорогу =)
🪛 Решение — Sentry CLI вместо MCP
У Sentry есть официальный CLI современная тулза на Bun (кстати лично я еще ни разу не использовал
bun, нужно это исправить), cli как раз заточена под разработчиков и AI-агентов. И вот через этот пакет мы действительно можем получить всю информацию.Вместо MCP агент отправляет CLI команды:
➡️
sentry issue view <org>/<project>/<id> — обзор issue: status, tags, частота, latest event ID➡️
sentry event view <org>/<project> <event_id> --json — полный event JSON со stacktrace, breadcrumbs, request body, headers — вообще всё что есть в Sentry API➡️
sentry api issues/{id}/events/ — все events для поиска паттернов и дупликатов🔖 Разница на реальном примере:
MCP вернул:
"Error: workflowStateId must be defined, POST /api/pipelines/move, stacktrace, 2 occurrences"CLI вернул то же самое ПЛЮС:
➡️
Request body — конкретные candidateId, jobId, entryPoint➡️
80+ breadcrumbs — цепочка HTTP вызовов к ElasticSearch, ClickHouse, Sentry➡️
Console logs — предыдущие ошибки в том же процессе➡️
Headers — user groups, auth context➡️
Extra context — node v20.19.2, 8GB RAM, AWS serverАгент, работая с CLI, имеет возможность корректно идентифицировать
root cause проблемы и создать решение.✏️ Как я настроил в AI-агенте
Почти все AI coding tools поддерживают
rules/instructions файлы:➡️
Claude Code — CLAUDE.md➡️
Cursor — .cursor/rules➡️
Windsurf — .windsurfrules➡️
Copilot — .github/copilot-instructions.mdПросто описал инструкцию в
rules файле, а-ля:"Когда исследуешь Sentry issues, используй CLI вместо MCP. Вот команды: ..."
И всё. Агент будет использовать CLI и получать полные данные. CLI — это просто bash команда, а bash доступен в любом AI coding tool.
💡 Этот подход работает не только для Sentry. Jira CLI тоже быстрее и информативнее чем Jira MCP. Принцип один — если CLI отдаёт больше данных за один вызов, используйте CLI.
💬 Делитесь своим мнением в комментариях👇! Если вам понравился пост, не забудьте поставить лайк! 👍
#AI

Хотите больше таких постов?
Подпишитесь на канал и читайте продолжение в Telegram.