Sentry Issues
Lets an agent triage application errors in Sentry: list projects and unresolved issues, read an issue's latest event with its stack trace and tag breakdown, see recent releases, and resolve, ignore or assign issues. Curated from Sentry's official OpenAPI specification.
Connect this API to an AI agent Browse all specs
What you can do with Sentry Issues via MCP
Every endpoint below becomes a governed tool your AI agent (Claude, ChatGPT, or a customer-facing VX agent) can call — with scoped permissions, sandbox testing, and audit logs.
| Method | Path | Operation | Description |
|---|---|---|---|
| GET | /api/0/organizations/{organization_id_or_slug}/projects/ |
listOrganizationProjects | List the organization's projects |
| GET | /api/0/organizations/{organization_id_or_slug}/issues/ |
listOrganizationIssues | List or search issues (errors) across projects |
| GET | /api/0/organizations/{organization_id_or_slug}/issues/{issue_id}/ |
getIssue | Get an issue's status, counts, assignee and first/last seen |
| PUT | /api/0/organizations/{organization_id_or_slug}/issues/{issue_id}/ |
updateIssue | Resolve, ignore, reopen or assign an issue |
| GET | /api/0/organizations/{organization_id_or_slug}/issues/{issue_id}/events/ |
listIssueEvents | List recent occurrences (events) of an issue |
| GET | /api/0/organizations/{organization_id_or_slug}/issues/{issue_id}/events/{event_id}/ |
getIssueEvent | Get one occurrence with stack trace (use 'latest' for the newest) |
| GET | /api/0/organizations/{organization_id_or_slug}/issues/{issue_id}/tags/{key}/ |
getIssueTagValues | See how an issue splits by a tag (browser, release, environment) |
| GET | /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/releases/ |
listProjectReleases | List a project's recent releases |
Authentication
authToken
Bearer token — sent as Authorization: Bearer <token>
Sentry auth token sent as Authorization: Bearer <token>.
How to get a credential
- In Sentry, open Settings > Account > Personal Tokens (sentry.io/settings/account/api/auth-tokens/), or for a shared bot use Settings > Developer Settings > Custom Integrations (internal integration).
- Click Create New Token and select the scopes below.
- Copy the token (it is shown only once).
Permissions used
| Scope | Operations |
|---|---|
org:read |
listOrganizationProjects |
project:read |
listProjectReleases |
event:read |
listOrganizationIssues, getIssue, listIssueEvents, getIssueEvent, getIssueTagValues |
event:write |
updateIssue (resolve, ignore, assign) |
Common errors
- 401 Unauthorized: the token is missing, revoked or mistyped. Create a new token.
- 403 Forbidden: the token lacks a scope above (e.g.
event:writeto resolve), or your role cannot access that project or team. - 404 Not Found: wrong organization slug, or the organization is hosted in the EU region (
de.sentry.io), which this base URL does not serve. - 400 Bad Request: invalid
querysyntax orstatsPeriodvalue (use24h,14d). - 429 Too Many Requests: per-endpoint rate limit; wait for the
X-Sentry-Rate-Limit-Resettime and retry.
Store the token as a VX Agents credential so it is never pasted into chat.
Usage guide
Setup
- Add a Sentry auth token (scopes
org:read,project:read,event:read, plusevent:writeto resolve or assign) as a Bearer credential. - Preset
organization_id_or_slugto your organization slug (the part aftersentry.io/organizations/in the URL). Every operation needs it. - Base URL is
https://sentry.io(US region). Organizations hosted in the EU (de.sentry.io) are not reachable with this spec.
Triage errors
listOrganizationProjectsto get project slugs and numeric ids.listOrganizationIssueswithquery(defaultis:unresolved; e.g.is:unresolved level:error,assigned:me,release:1.2.3),statsPeriod(24h,14d),sort(date,freq,new,user) andproject(numeric id) to find issues. UseshortIdLookup=1with a short id such asWEB-1A3inquery.getIssuefor counts, users affected, first/last seen and assignee.getIssueEventwithevent_id=latest(andllmFormat=markdownfor a compact stack trace) to read the error, stack frames, request and tags.getIssueTagValueswithkey=browser,os,release,environmentorurlto see where it happens;listIssueEventsfor more occurrences.listProjectReleasesto tie the first-seen time to a release.
Update an issue
Show the user the change and wait for confirmation, then call updateIssue with only the fields that change:
- Resolve:
{"status": "resolved"}; resolve in the next release:{"status": "resolvedInNextRelease"}. - Ignore (archive):
{"status": "ignored", "substatus": "archived_until_escalating"}, or addstatusDetails.ignoreDuration(minutes). - Reopen:
{"status": "unresolved"}. - Assign:
assignedTo=user:<user id>,team:<team id>, a username/email, or""to unassign. Setprioritytolow,mediumorhigh.
Good to know
- Issue ids are numeric (
4512345678); short ids likeWEB-1A3are for search only. - Times are ISO 8601 UTC;
start/endreplacestatsPeriodfor a custom range. - Lists paginate with the
cursorfrom the responseLinkheader;limit/per_pagemax 100. - Events may contain user emails, IPs and request data: share only what the user needs.
- This spec cannot delete, merge or discard issues.
How to use this spec
- Create a free VX Agents account (sandbox tools included).
- Open the marketplace and connect “Sentry Issues” to an agent.
- Expose it as an MCP server for Claude/ChatGPT, or chat with it directly.