Sentry MCP

Sentry MCP

от getsentry
Официальный MCP-сервер Sentry для доступа к ошибкам, issues и трейсам приложения прямо из AI-агента. Отладка, анализ производительности и root-cause через Seer.

sentry-mcp

Sentry's MCP service is primarily designed for human-in-the-loop coding agents. Our tool selection and priorities are focused on developer workflows and debugging use cases, rather than providing a general-purpose MCP server for all Sentry functionality.

This remote MCP server acts as middleware to the upstream Sentry API, optimized for coding assistants like Cursor, Claude Code, and similar development tools. It's based on Cloudflare's work towards remote MCPs.

Getting Started

You'll find everything you need to know by visiting the deployed service in production:

https://mcp.sentry.dev

If you're looking to contribute, learn how it works, or to run this for self-hosted Sentry, continue below.

Claude Code Plugin

Install as a Claude Code plugin for automatic subagent delegation:

claude plugin marketplace add getsentry/sentry-mcp
claude plugin install sentry-mcp@sentry-mcp

This provides a sentry-mcp subagent that Claude automatically delegates to when you ask about Sentry errors, issues, traces, or performance.

Инструменты были проиндексированы:
analyze_issue_with_seerвнешний мир

Используй Seer для анализа ошибок в продакшне и получения подробного анализа первопричин с конкретными исправлениями кода. Используй этот инструмент, когда: - Пользователь явно просит анализ первопричин, анализ Seer или помощь в исправлении/отладке проблемы. - Ты не можешь точно определить первопричину только по деталям проблемы. НЕ вызывай этот инструмент автоматически следом за get_sentry_resource. Что даёт инструмент: - Анализ первопричины с объяснением на уровне кода. - Конкретные пути к файлам и номера строк, где происходят ошибки. - Конкретные исправления кода, которые можно применить. - Пошаговое руководство по внедрению. Этот инструмент автоматически: 1. Проверяет, существует ли уже анализ (результат мгновенный). 2. Запускает новый AI-анализ, если нужно (около 2-5 минут). 3. Возвращает готовые рекомендации по исправлению. <examples> ### Пользователь: «Запусти Seer для этой проблемы» analyze_issue_with_seer(issueUrl='https://my-org.sentry.io/issues/PROJECT-1Z43') ### Пользователь: «Проанализируй эту проблему и предложи исправление» analyze_issue_with_seer(organizationSlug='my-organization', issueId='ERROR-456') </examples> <hints> - Используй, только когда пользователь явно запрашивает анализ или ты не можешь определить первопричину только из деталей проблемы. - Seer Autofix не поддерживает проблемы с метрическими оповещениями (issueCategory: metric); вместо этого используй get_issue_details и search_events. - Если пользователь предоставил issueUrl, извлеки его и используй только этот параметр. - Анализ включает реальные фрагменты кода и исправления, а не только описания ошибок. - Результаты кешируются — последующие вызовы возвращают результат мгновенно. </hints>

Параметры
  • instructionstring

    Optional custom instruction for the AI analysis

  • issueIdstring

    The Issue ID. e.g. PROJECT-1Z43

  • issueUrlstring

    The URL of the issue. e.g. https://my-organization.sentry.io/issues/PROJECT-1Z43

  • organizationSlugstring

    The organization's slug. You can find a existing list of organizations you have access to using the find_organizations() tool.

  • regionUrlstring | null
execute_sentry_toolвнешний мир

Выполняет доступный инструмент Sentry MCP, найденный через search_sentry_tools. Используй этот инструмент, когда нужно: - Вызвать операцию Sentry, возвращённую search_sentry_tools. - Выполнить инструмент по имени, передав аргументы, соответствующие его схеме. <examples> execute_sentry_tool(name='find_projects', arguments={ organizationSlug: 'my-org' }) execute_sentry_tool(name='whoami', arguments={}) </examples> <hints> - Сначала используй search_sentry_tools, если не уверен, какое имя или аргументы передавать. - Аргументы проверяются по схеме целевого инструмента перед выполнением. - Активные ограничения организации, проекта и региона подставляются автоматически. </hints>

Параметры
  • argumentsobject

    Arguments for the target tool, matching the schema returned by search_sentry_tools.

  • namestringобязательный

    The name of the available tool to execute.

find_organizationsтолько чтениевнешний мир

Находит организации, к которым у пользователя есть доступ в Sentry. Используйте этот инструмент, когда нужно: - Просмотреть организации в Sentry - Найти slug организации, чтобы использовать его в других запросах инструментов - Искать конкретные организации по имени или slug Возвращает до 25 результатов. Если вы достигли этого предела, используйте параметр запроса, чтобы сузить результаты.

Параметры
  • querystring | null
find_projectsтолько чтениевнешний мир

Находит проекты в Sentry. Используйте этот инструмент, когда вам нужно: - Просмотреть проекты в организации Sentry - Найти slug проекта, чтобы использовать его в других запросах - Поискать конкретные проекты по имени или slug Возвращает до 25 результатов. Если hasMore равен true, используйте параметр query, чтобы сузить результаты.

Параметры
  • organizationSlugstringобязательный

    The organization's slug. You can find a existing list of organizations you have access to using the find_organizations() tool.

  • querystring | null
  • regionUrlstring | null
get_sentry_resourceтолько чтениевнешний мир

Получает ресурс Sentry по URL или по типу ресурса плюс идентификатору ресурса. Передавайте URL Sentry напрямую, когда это возможно; тип ресурса определяется автоматически. Поддерживаются issues, events, traces, spans, agent conversations, replays, monitors, preprod snapshots и snapshot images. По умолчанию поиск по trace возвращает сжатую сводку. Agent Conversations: разговор — это набор spans, объединённых общим gen_ai.conversation.id. Используйте resourceType='ai_conversation' с идентификатором разговора или передавайте URL разговора Sentry, чтобы получить стенограмму и детали. Чтобы найти или вывести список разговоров, используйте search_agent_conversations. Разговоры — это НЕ issues — не используйте search_issues для запросов о разговорах. Для preprod snapshot URL (соответствующих 'sentry.io/preprod/snapshots/'): - Без ?selectedSnapshot=: возвращает сводку изменений snapshot (добавленные, изменённые, удалённые изображения) - С ?selectedSnapshot=<имя_файла_изображения>: возвращает предпросмотр изображения и метаданные. Используйте инструмент Sentry get_snapshot_image для получения полных байтов изображения. Идентификаторы ресурсов: - monitor: <slug_монитора> - snapshot: <id_снимка> <examples> get_sentry_resource(url='https://sentry.io/issues/PROJECT-123/') get_sentry_resource(resourceType='issue', organizationSlug='my-org', resourceId='PROJECT-123') get_sentry_resource(resourceType='ai_conversation', organizationSlug='my-org', resourceId='conversation-123') get_sentry_resource(url='https://sentry.sentry.io/preprod/snapshots/123/') get_sentry_resource(url='https://sentry.sentry.io/preprod/snapshots/123/?selectedSnapshot=login_screen.png') </examples>

Параметры
  • organizationSlugstring

    The organization's slug. You can find a existing list of organizations you have access to using the find_organizations() tool.

  • resourceIdstring

    Resource identifier: issue shortId (e.g., 'PROJECT-123'), event ID, trace ID, agent conversation ID, replay ID, monitor slug when inspect monitor tools are available, or snapshot artifact ID. Required when not using a URL.

  • resourceTypeenum

    Resource type. With a URL, can override a span-focused trace URL with trace. Use monitor with a monitor slug only when inspect monitor tools are available or snapshot with a snapshot artifact ID.

  • urlstring

    Sentry URL. The resource type is auto-detected from the URL pattern.

search_eventsтолько чтениевнешний мир

Ищет события и повторные сессии Sentry. Используйте для подсчёта событий/статистики. query может быть естественным языком или синтаксисом поиска Sentry. Если настроен агент, он перед запуском фиксирует набор данных, запрос, поля и сортировку. Поддерживает ДВА типа запросов: 1. АГРЕГАЦИИ (количество, суммы, средние): 'сколько ошибок', 'всего токенов' 2. Отдельные события с метками времени: 'журналы ошибок за последний час' Наборы данных: - errors: События-исключения/падения с трассировками стека, обычно группируются в проблемы - logs: Записи журнала приложения, включая сообщения журнала с уровнем ошибки - spans: Сырые события трассировки/спанов для производительности, AI/LLM-вызовов, запросов и операций - metrics: Строки метрик и агрегаты: счётчики, датчики, распределения, значения - profiles: Результаты профилирования транзакций/непрерывного профилирования, ID профилей, профилированные транзакции - replays: Результаты повторных сессий: злые клики, мёртвые клики, посещённые страницы, пользователи повторных сессий Если пользователь говорит 'logs', 'log messages', 'error logs' или 'warning logs', выбирайте logs вместо errors. Поиск повторных сессий возвращает только списки повторных сессий; replay count()/avg()/sum() не поддерживаются. НЕ для списков сгруппированных проблем (используйте search_issues) или скриншотов/изображений приложения (используйте get_latest_base_snapshot). <examples> search_events(organizationSlug='my-org', query='how many errors today') search_events(organizationSlug='my-org', dataset='errors', query='level:error') search_events(organizationSlug='my-org', dataset='errors', fields=['issue', 'count()'], sort='-count()') search_events(organizationSlug='my-org', dataset='spans', query='span.op:db', sort='-span.duration') search_events(organizationSlug='my-org', dataset='replays', query='count_errors:>0', sort='-count_errors') </examples> <hints> - Если пользователь передаёт параметр в формате name/otherName, это, скорее всего, формат <organizationSlug>/<projectSlug>. - Разбирайте нотацию org/project напрямую, без вызова find_organizations или find_projects. - Используйте поля с агрегатными функциями, такими как count(), avg(), sum() для статистики - Сортируйте по -count() для наиболее… </hints>

Параметры
  • datasetenum

    Initial dataset hint: errors, logs, spans, metrics, profiles, or replays. The agent may correct this when configured.

  • environmentstring | string[]

    Optional environment filter for dataset='replays'. Use a string for one environment or an array for multiple. Omit when unused. For other datasets, filter environment in the query string instead.

  • fieldsstring[] | null

    Fields to return for event datasets. If not specified, uses sensible defaults. Include aggregate functions like count(), avg() for statistics. Leave null for dataset='replays'.

  • includeExplanationboolean

    Include explanation of how the query was translated or repaired

  • limitnumber

    Maximum number of results to return (1-100)

  • organizationSlugstringобязательный

    The organization's slug. You can find a existing list of organizations you have access to using the find_organizations() tool.

  • periodstring

    Relative time window, such as 24h, 7d, 14d, 30d, or 90d. Controls which records fall within the search window.

  • projectSlugstring | null
  • querystring

    Natural language or Sentry event search query syntax.

  • regionUrlstring | null
  • sortstring | null

    Sort field (prefix with - for descending). If omitted, event datasets default to -timestamp and replays default to -started_at. Use -count() for event aggregations. For dataset='replays', use replay sorts like -started_at or -count_errors.

search_issuesтолько чтениевнешний мир

Ищет сгруппированные проблемы/ошибки в Sentry — возвращает СПИСОК проблем, а не подсчёты или агрегации. Передавайте query на естественном языке или в синтаксисе поиска проблем Sentry. Если настроен встроенный агент, он исправляет запрос и сортировку перед выполнением, сохраняя явный синтаксис поиска Sentry. Возвращает сгруппированные проблемы с метаданными: заголовок, статус, количество пользователей. Распространённый синтаксис запросов: - is:unresolved / is:resolved / is:ignored / is:for_review / is:new / is:regressed / is:escalating - level:error / level:warning - firstSeen:-24h / lastSeen:-7d - assigned:me / assigned_or_suggested:me - release:latest - issue.category:feedback - issue.priority:high - environment:production - userCount:>100 НЕ ИСПОЛЬЗОВАТЬ ДЛЯ ПОДСЧЁТОВ/АГРЕГАЦИЙ → используйте search_events НЕ ИСПОЛЬЗОВАТЬ ДЛЯ отдельных событий с временными метками → используйте search_events НЕ ИСПОЛЬЗОВАТЬ ДЛЯ подробностей о конкретной проблеме → используйте get_sentry_resource <examples> search_issues(organizationSlug='my-org', query='критические баги за последнюю неделю') search_issues(organizationSlug='my-org', query='is:unresolved is:unassigned', sort='freq') search_issues(organizationSlug='my-org', query='level:error firstSeen:-24h', projectSlugOrId='my-project') </examples> <hints> - Если пользователь передаёт параметр в формате name/otherName, скорее всего это формат <organizationSlug>/<projectSlugOrId>. - Разбирайте нотацию org/project напрямую, без вызова find_organizations или find_projects. - Параметр projectSlugOrId принимает как slug проекта (например, 'my-project'), так и числовой ID (например, '123456'). </hints>

Параметры
  • includeExplanationboolean

    Include explanation of how the query was translated or repaired

  • limitnumber

    Maximum number of issues to return (1-100)

  • organizationSlugstringобязательный

    The organization's slug. You can find a existing list of organizations you have access to using the find_organizations() tool.

  • periodenum

    Time window for issue search results. Controls which issues are returned based on when they had activity. Default 30d is a balance between coverage and query performance; use 24h for very recent issues or 90d for broader historical searches.

  • projectSlugOrIdstring | null

    The project's slug or numeric ID (optional)

  • querystring

    Natural language or Sentry issue search query syntax.

  • regionUrlstring | null
  • sortenum

    Sort order: date (last seen), freq (frequency), new (first seen), user (user count), recommended (Sentry's prioritized ranking)

search_sentry_toolsтолько чтение

Ищет в каталоге доступных инструментов Sentry MCP по названию и описанию. Многие операции Sentry намеренно не вынесены в отдельные инструменты верхнего уровня. Используйте этот инструмент для любой задачи, связанной с Sentry, если под рукой нет очевидного прямого инструмента: например, для детального анализа, управления проектами, поиска по документации, снапшотов препродакшена, вложений, DSN, релизов, команд и переключения контекста по конкретному issue. Применяйте этот инструмент, когда нужно: - Найти подходящую операцию Sentry для задачи - Обнаружить инструменты каталога и их схемы для задачи - Просмотреть исполняемую JSON-схему ввода для доступного инструмента <examples> search_sentry_tools(query='list projects') search_sentry_tools(query='issue details') search_sentry_tools(query='find dsn', limit=5) search_sentry_tools(query='snapshot image') </examples> <hints> - Результаты содержат только инструменты, доступные в текущей сессии. - Если операция Sentry не указана как прямой инструмент, сначала выполните поиск здесь, прежде чем решать, что она недоступна. - Возвращаемые схемы уже учитывают ограничения активной организации, проекта и региона. - При выполнении результата из каталога используйте возвращённое название и схему. - Этот инструмент возвращает структурированный JSON. Не парсите markdown из его текстового содержимого. </hints>

Параметры
  • limitinteger | null

    Maximum number of matching tools to return, up to 20.

  • querystringобязательный

    Natural language keywords describing the Sentry operation, resource, or workflow to find.

update_issueвнешний мир

Обновить статус или назначение проблемы в Sentry. Используйте это, чтобы решить, переоткрыть, назначить или проигнорировать проблему. <examples> update_issue(organizationSlug='my-org', issueId='PROJECT-123', status='resolved') update_issue(organizationSlug='my-org', issueId='PROJECT-123', assignedTo='user:123456') update_issue(organizationSlug='my-org', issueId='PROJECT-123', status='ignored') update_issue(organizationSlug='my-org', issueId='PROJECT-123', status='ignored', ignoreMode='forever') update_issue(organizationSlug='my-org', issueId='PROJECT-123', status='ignored', ignoreMode='untilOccurrenceCount', ignoreCount=100, ignoreWindowMinutes=60) update_issue(organizationSlug='my-org', issueId='PROJECT-123', status='ignored', reason='Ignoring because this is expected noise from the staging deploy') </examples> <hints> - Укажите issueUrl или organizationSlug + issueId. - Необходимо указать хотя бы один из параметров: status или assignedTo. - Формат assignedTo: user:ID или team:ID_OR_SLUG. - Используйте execute_sentry_tool(name='whoami', arguments={}), чтобы узнать свой ID пользователя для самоназначения. - Значения статуса: resolved, resolvedInNextRelease, unresolved, ignored. - status='ignored' по умолчанию устанавливает ignoreMode='untilEscalating'. - Режимы игнорирования: untilEscalating, forever, forDuration, untilOccurrenceCount, untilUserCount. - Соответствующие параметры игнорирования: ignoreDurationMinutes, ignoreCount + опционально ignoreWindowMinutes или ignoreUserCount + опционально ignoreUserWindowMinutes. - Чтобы переключить уже проигнорированную проблему между режимами untilEscalating, forever и условным игнорированием, сначала установите status='unresolved', затем снова игнорируйте её с новым правилом. - reason — необязателен. Если указан, он будет опубликован как комментарий в ленте активности проблемы с пояснением причины действия. </hints>

Параметры
  • assignedTostring

    The assignee in format 'user:ID' or 'team:ID_OR_SLUG' where ID is numeric. Example: 'user:123456', 'team:789', or 'team:my-team-slug'. Use execute_sentry_tool(name='whoami', arguments={}) to find your user ID.

  • ignoreCountinteger

    How many times the issue must occur before it stops being ignored when ignoreMode is 'untilOccurrenceCount'.

  • ignoreDurationMinutesinteger

    How many minutes to ignore the issue when ignoreMode is 'forDuration'.

  • ignoreModeenum

    How ignored issues should behave. Use 'untilEscalating' to match the Sentry UI default, 'forever' for a permanent ignore, 'forDuration' with ignoreDurationMinutes, 'untilOccurrenceCount' with ignoreCount and optional ignoreWindowMinutes, or 'untilUserCount' with ignoreUserCount and optional ignoreUserWindowMinutes.

  • ignoreUserCountinteger

    How many users must be affected before the issue stops being ignored when ignoreMode is 'untilUserCount'.

  • ignoreUserWindowMinutesinteger

    Optional time window in minutes for ignoreUserCount. If omitted, Sentry counts all future affected users.

  • ignoreWindowMinutesinteger

    Optional time window in minutes for ignoreCount. If omitted, Sentry counts all future occurrences.

  • issueIdstring

    The Issue ID. e.g. PROJECT-1Z43

  • issueUrlstring

    The URL of the issue. e.g. https://my-organization.sentry.io/issues/PROJECT-1Z43

  • organizationSlugstring

    The organization's slug. You can find a existing list of organizations you have access to using the find_organizations() tool.

  • reasonstring

    Optional reason for taking this action. When provided, it will be posted as a comment on the issue's activity feed.

  • regionUrlstring | null
  • statusenum

    The new status for the issue. Valid values are 'resolved', 'resolvedInNextRelease', 'unresolved', and 'ignored'.

Похожие MCP-сервера

perceptdot/percept

perceptdot/percept

Perceptdot - MCP сервер для автоматического обнаружения и установки других MCP инструментов. Сканирует проект и рекомендует серверы для GA4, Vercel, GitHub и Sentry. Агент сам находит нужное, человек платит. Полезен разработчикам для интеграции AI-агентов.

HTML1
tao-izm/devpulse-mcp

tao-izm/devpulse-mcp

MCP-сервер, который передаёт AI-ассистенту информацию о состоянии твоей dev-среды: запущенные сервисы, последние ошибки, текущая ветка. Упрощает отладку - AI сам видит проблемы, без ручного копиров...

TypeScript1
kindly-software/kdb

kindly-software/kdb

MCP-сервер для отладки с временной машиной: позволяет AI шагать назад по выполнению программы, находить причины сбоев и возобновлять с любой точки. Полезен разработчикам, работающим с AI-клиентами.

1
us-all/mlflow-mcp-server

us-all/mlflow-mcp-server

Полнофункциональный MCP-сервер для MLflow с 82 инструментами - от экспериментов до трейсов и оптимизации. Агрегация данных и токен-экономия ускоряют отладку AI-пайплайнов.

TypeScript1
Comet-ML/Opik-MCP

Comet-ML/Opik-MCP

официальный

MCP сервер для Opik – подключает AI-ассистентов (Claude Code, Cursor, VS Code) к вашему рабочему пространству: читайте трейсы, логируйте оценки, сохраняйте версии промптов и задавайте вопросы ассис...

Python217
VictoriaMetrics-Community/mcp-victoriametrics

VictoriaMetrics-Community/mcp-victoriametrics

официальный

MCP сервер для VictoriaMetrics: доступ к API и документации, выполнение PromQL/MetricsQL-запросов в реальном времени, анализ метрик, отладка relabeling и downsampling. Инструмент для инженеров по м...

Go230
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин