Sentry MCP Server Reference
Reference file for the Sentry MCP server. Read this before making any Sentry MCP calls. It contains the query syntax, known gotchas, and working examples that reduce call failures.
This is a template reference file. Replace the Sentry-specific content with the equivalent for your MCP server.
Available Tools
mcp__sentry-mcp__list_issues
Purpose: Fetch a list of issues from one or more projects.
Key parameters:
organization_slug(required): Your Sentry org slug, not the org name. Get it from the Sentry URL:sentry.io/organizations/<slug>/.project_slug(optional): Scope to one project. Omit to fetch across all projects.query(optional): Sentry search query. Supportsis:unresolved,level:error,has:user. Default:is:unresolved.limit(optional): Max issues returned. Default: 25. Max: 100.
Gotchas:
- Organization and project slugs are lowercase, hyphen-separated. Do not use the display name.
- Without
query, you get all statuses includingresolved. Always addis:unresolvedunless you specifically want resolved issues. - The
limitcap is 100 per call. For large orgs, usecursorfor pagination (see below).
mcp__sentry-mcp__get_issue
Purpose: Fetch full details for one issue, including the latest event and stack trace.
Key parameters:
issue_id(required): The numeric Sentry issue ID. Get it fromlist_issues.organization_slug(required): Same as above.
Gotchas:
- Returns the most recent event only. If you need a specific event, use
get_eventwith the event ID instead. - Stack frames are ordered outermost to innermost by default. The bottom frame is typically the crash point.
mcp__sentry-mcp__get_event
Purpose: Fetch full details for a specific event within an issue.
Key parameters:
event_id(required): Full 32-character event ID (UUID format, no dashes).organization_slug(required): Same as above.issue_id(required): The parent issue ID.
Gotchas:
- Event IDs are case-insensitive but the API is case-sensitive. Use lowercase.
- Events older than 90 days may not be available in the default retention plan.
mcp__sentry-mcp__search_events
Purpose: Search raw events across issues. Slower than list_issues but supports full-text queries.
Key parameters:
query(required): Full-text search. Supports field filters:message:,level:,user.id:,url:,transaction:.project_slug(optional): Scope to one project. Required if org has many projects (performance).start/end(optional): ISO 8601 timestamps. Default: last 24 hours.limit(optional): Default: 10. Max: 100.
Gotchas:
- Full-text search is case-insensitive but field filters are exact-match.
level:ERRORfails; uselevel:error. - Time ranges must use ISO 8601:
2026-04-10T00:00:00Z. Relative formats likenow-24hare not supported here (uselist_issuesfor relative ranges). - Without
project_slug, large orgs time out onsearch_events. Always scope by project when searching events.
Query Syntax
Sentry Search Query (for query parameter in list_issues and search_events)
is:unresolved # Unresolved issues only
is:unresolved level:error # Unresolved errors (not warnings)
is:unresolved has:user # Issues affecting identified users
is:unresolved times_seen:>100 # High-frequency issues
project:api-service is:unresolved # Scope to one project
assigned:me is:unresolved # Issues assigned to current user
!has:assignee is:unresolved # Unassigned issuesPagination
For orgs with many issues, use cursor-based pagination:
- First call:
list_issues(..., limit=100)- response includescursorfield - Next page:
list_issues(..., limit=100, cursor="<cursor from previous response>") - Stop when response has no
cursorfield or issue count < limit
Known Patterns and Exclusions
When analyzing issues, these patterns are typically noise and should be excluded from reports unless explicitly requested:
| Pattern | Reason to Exclude |
|---|---|
404 errors on /static/ or /assets/ | Expected behavior: browser requests stale asset URLs after deploy |
ChunkLoadError in frontend bundles | Usually caused by the same deploy timing, not a code bug |
ResizeObserver loop limit exceeded | Browser-level warning, not actionable |
| Health check endpoint errors | Monitoring infrastructure, not user-facing |
If you exclude an issue, state it explicitly in the report's "Out of Scope" section.
Working Examples
Fetch top unresolved errors in production
list_issues(
organization_slug="your-org",
query="is:unresolved level:error",
limit=50
)Fetch issues from a specific project in the last week
list_issues(
organization_slug="your-org",
project_slug="api-service",
query="is:unresolved",
limit=100
)Get full stack trace for a specific issue
get_issue(
organization_slug="your-org",
issue_id="1234567"
)Adapting This File
When forking this template for a different MCP (Datadog, PagerDuty, Linear, etc.):
- Replace "Sentry" with your MCP server name throughout
- Replace the tool names (
mcp__sentry-mcp__*) with your MCP's actual tool names - Document the 2-3 most common parameter mistakes for each tool
- Add query syntax specific to your MCP (SQL dialect, filter syntax, etc.)
- Add a "Known Patterns and Exclusions" section for noise in your data source
- Include 3-5 working examples that cover the 80% use case
The goal: after reading this file, Claude should make zero syntax errors and zero retry calls caused by wrong parameter format.