# Sentry MCP connector

The Sentry connector brings error events, tags, dashboards, saved queries and team membership into Claude, ChatGPT, Cursor and the Elaichi Agent, so each person can ask about what is breaking inside their own Sentry access.

Source: https://elaichi.ai/connectors/sentry/

## Facts

| | |
| --- | --- |
| Application | Sentry |
| Category | Application Development |
| AI tools | 239 |
| Authentication | Connects with an API key |
| Bring your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. Connected tools are never listed one by one, however few there are. The endpoint advertises `search_tools` and `execute_tool` instead |

## What you can ask once Sentry is connected

- Which Sentry events fired in production since midnight?
- Break down this week's events by release tag
- Add the new backend hires to the Payments Sentry team

## Connect Sentry in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Sentry.
2. Optionally set Share with, then press Connect.
3. Paste a Sentry API key. One person generates a token in Sentry and pastes it once. Everyone else works through Share with, and never sees it.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Sentry tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Sentry MCP connector for Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Sentry MCP connector for ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Sentry MCP connector for Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Sentry to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Sentry tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Sentry through Elaichi

### Find out what broke overnight

Engineering. Ask which events fired in the last twelve hours, grouped by tag, and get the answer without opening a single Sentry dashboard.

### Check Sentry before replying to a customer

Support. Paste a customer's error message and ask whether Sentry has seen it recently, so the reply is based on what actually happened rather than a guess.

### See which release generated the most events

Product. Ask for events broken down by release or environment tag to decide whether a rollout should pause.

### Build a dashboard from a plain request

Platform. Describe the dashboard you want, for one service or one environment, and have it created in Sentry with the widgets you named.

### Tidy up saved queries and dashboards

Engineering managers. Find stale saved Discover queries and dashboards across the organization and update or remove them in one pass.

### Keep Sentry team membership current

IT. Ask who is on which Sentry team, add a new hire to the right teams, and remove people who have moved on.

## Frequently asked questions

### How do I connect Sentry to Claude?

Connect Sentry in Elaichi first: paste a Sentry API key when asked, and the connection is live. There is no OAuth application to register and no client ID or secret to generate. Then in Claude open Customize, then Connectors, then Add, and paste https://api.elaichi.ai/mcp. Claude asks you to sign in to Elaichi and Sentry is available from that point.

### Does Sentry work with ChatGPT and Cursor as well as Claude?

Yes. Once Sentry is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, is added to Claude, ChatGPT, Cursor or any other MCP client. You connect Sentry once and every client you use picks it up.

### What can an AI agent actually do with my Sentry data?

With Sentry connected, an agent can list recent events in an organization, break them down by tag such as release or environment, look up a specific user, and read or create dashboards and saved Discover queries. It can also show who is on which Sentry team and add or remove members. Short, concrete asks such as "events tagged production since midnight" work better than long paragraphs.

### Does connecting Sentry give the AI everything in my organization?

No. Every call to Sentry runs as the person who signed in, so the agent sees only the organizations, projects and events that person can already open in Sentry. Elaichi can narrow that access further with roles and restrictions, and it can never widen it beyond what Sentry itself allows.

### Can my team share one Sentry connection?

Yes. One person connects Sentry with an API key in Elaichi and shares the connection with a team, and nobody else ever handles that key. Each teammate still signs in to Elaichi as themselves, so the audit log records exactly who asked Sentry for what.

### Can I stop an agent from deleting or changing things in Sentry?

Yes. Restrictions in Elaichi apply per action, so you can allow reading events and dashboards in Sentry while blocking deletion of users, dashboards or saved queries. A restricted action is never advertised to Claude, ChatGPT or Cursor at all, so no prompt, however worded, can reach it.

### What happens to a Sentry connection when someone leaves?

Offboarding a person in Elaichi ends their access to Sentry through every client at once. If they connected a Sentry account that was shared with a team, the shared connection keeps working for everyone else. Disconnecting Sentry once in Elaichi removes it from Claude, ChatGPT, Cursor and every other client together.

### Does the Sentry MCP connector work with Gemini, Codex, Claude Code or other MCP clients?

Yes. Sentry is reached over the same MCP endpoint every client uses, so anything that speaks MCP can call it — Gemini, Codex, Claude Code, Windsurf, Cline, Zed and OpenCode among them — alongside Claude, ChatGPT, Cursor, and the Elaichi Agent. The tools on offer and the access behind them are identical whichever client asks. Only the setup screen differs.

## All 239 Sentry tools

Every tool below is callable through https://api.elaichi.ai/mcp once Sentry is connected, subject to the toolbox it is in and the restrictions on the caller.

- **List all Sentry users** (List). List all members of a Sentry organization, including pending invites that have been approved by owners or managers but not yet accepted by the invitee. Returns: externalUsers, id, email, name, user, orgRole, pending, expired, flags, dateCreated, inviteStatus, inviterName. Required: project_id_or_slug.

- **Get single Sentry user by ID** (Get). Get a single Sentry organization member by id, including team memberships, the linked user account, and role lists; returns a pending invite if it has been approved but not yet accepted. Returns: externalUsers, role, roleName, id, email, name, user, orgRole, pending, expired, flags, dateCreated, inviteStatus, inviterName, teams, teamRoles, invite_link, isOnlyOwner, orgRoleList, teamRoleList,…
- **Delete a Sentry user by ID** (Delete). Delete a Sentry organization member (user) from an organization by id. Returns an empty 204 response on success. Required: id.
- **Sentry 0 organizations attach member** (Action). Add or invite a member to a Sentry organization. Returns the created member including id, email, name, orgRole, pending, expired, inviteStatus, and nested user details. Required: email.
- **Get single Sentry 0 organization by ID** (Get). Get a single Sentry organization by id. Returns the organization's id, slug, name, status, dateCreated, avatar, links, and access flags (allowMemberInvite, allowMemberProjectCreation, allowSuperuserAccess). Required: id.
- **List all Sentry 0 organizations** (List). List Sentry organizations available to the authenticated session in a region. Returns organization records with id, slug, name, status, dateCreated, and links. With API key auth, only the organization belonging to the key is returned.
- **Sentry 0 organizations list events** (List). Query Sentry Explore events for an organization as a table of results. Returns: data, meta.g. transaction, count(), equation|...) and meta (per-field types, units, and routingHint). Required: field, dataset. At most 20 fields per request; not intended for full data exports.
- **Sentry 0 organizations list tags** (List). List the tag keys for a Sentry organization. Returns tag records with key, name, totalValues, uniqueValues, and topValues.
- **Update a Sentry 0 organization by ID** (Update). Update a Sentry organization's name, slug, avatar, membership, and data-scrubbing settings. Returns the updated organization object with id, slug, name, status, dateCreated, defaultRole, and privacy/membership flags. Required: id. slug is limited to 50 characters and name to 64; avatar is required when avatarType is upload.
- **Get single Sentry agents conversation by ID** (Get). Get a single AI conversation in Sentry, returning its recorded spans in start-time order. Returns: conversationId, title, projects, webUrl, spans. Required: id. A missing conversation returns an empty spans list. Experimental: this API is under active development and may change.
- **List all Sentry agents conversations** (List). List an organization's AI conversations in Sentry, ordered by latest span time. Returns for each conversation: conversationId, title, totalTokens, totalCost, firstInput, lastOutput, and webUrl. Experimental: this API is under active development and may change.
- **List all Sentry config integrations** (List). List the integration providers available to a Sentry organization (Slack, GitHub, Jira, PagerDuty, and more). Returns: providers.
- **Sentry discover saveds bulk delete** (Delete). Delete a Sentry Discover saved query by query_id. Returns an empty 204 response on success. Required: query_id.

- **Sentry discover saveds bulk update** (Update). Update a Sentry Discover saved query by query_id. Returns the updated saved query including id, name, queryDataset, fields, projects, orderby, and dateUpdated. Requires name, and query_id.
- **Create a Sentry discover saved** (Create). Create a new saved Discover query in a Sentry organization. Returns the created saved query including id, name, queryDataset, projects, fields, dateCreated, and createdBy. Requires name. At most 20 fields can be selected per request.

- **Get single Sentry discover saved by ID** (Get). Get a single Sentry Discover saved query by id. Returns the saved query including id, name, queryDataset, fields, projects, range, orderby, and createdBy. Required: id.

- **List all Sentry discover saveds** (List). List a Sentry organization's Discover saved queries. Returns each saved query with id, name, queryDataset, fields, projects, dateCreated, and createdBy.
- **List all Sentry integration repos** (List). List the repositories a Sentry integration makes available and whether they can be searched by name. Returns: repos, searchable. Required: integration_id. Experimental Sentry API under active development and may change.
- **Create a Sentry member team** (Create). Add an organization member to a Sentry team. Returns the team object: id, slug, name, dateCreated, isMember, teamRole, memberCount, access, and avatar. Required: member_id, team_id_or_slug. Yields 201 when the member is added, 202 when an access request is generated, or 204 if already on the team; teams provisioned through an identity provider cannot be joined via Sentry.
- **Sentry member teams bulk delete** (Delete). Remove an organization member from a Sentry team. Returns the team object reflecting the removal: id, slug, name, isMember (false), teamRole, memberCount, access, and avatar. Required: member_id, team_id_or_slug.
- **Sentry member teams bulk update** (Update). Update an organization member's team role in Sentry. Returns: isActive, teamRole, id, slug, name, dateCreated, isMember, flags, access, hasAccess, isPending, memberCount, avatar. Required: member_id, team_id_or_slug. The member must already belong to the team; org admins, managers, and owners are automatically granted a minimum teamRole of admin.
- **Sentry organization dashboards bulk delete** (Delete). Delete an organization's custom dashboard in Sentry. Returns an empty 204 response on success. Required: dashboard_id.

- **Sentry organization dashboards bulk update** (Update). Edit an organization's custom dashboard in Sentry, including bulk edits to its widgets (rearranged layouts, updated queries and fields, display types). Returns the updated dashboard including id, title, widgets, dateCreated, createdBy, projects, filters, and permissions. Required: dashboard_id.

- **Create a Sentry organization dashboard** (Create). Create a new custom dashboard for an organization in Sentry, with widgets, saved project/environment filters, and a time range. Returns the created dashboard including id, title, widgets, dateCreated, createdBy, projects, filters, and permissions. Required: title.

- **Get single Sentry organization dashboard by ID** (Get). Get details about a single custom dashboard in Sentry by id. Returns the dashboard including id, title, widgets, dateCreated, createdBy, projects, filters, environment, and permissions. Required: id.

- **List all Sentry organization dashboards** (List). List an organization's custom dashboards in Sentry. Returns dashboard records with id, title, dateCreated, lastVisited, createdBy, projects, environment, filters, and isFavorited.
- **Sentry organization detectors bulk delete** (Delete). Bulk delete Sentry monitors (detectors) for an organization. Returns an empty 204 response on success.
- **Sentry organization detectors bulk update** (Update). Bulk enable or disable a Sentry organization's monitors. Returns the updated monitors including id, name, type, enabled, dataSources, conditionGroup, and latestGroup. Required: enabled.

- **Delete a Sentry organization detector by ID** (Delete). Delete a single Sentry monitor (detector) by id. Returns an empty 204 response on success. Required: id.

- **Get single Sentry organization detector by ID** (Get). Get a single monitor (detector) in a Sentry organization by id. Returns the full monitor object including id, name, type, enabled, config, conditionGroup, dataSources, and latestGroup. Required: id.
- **List all Sentry organization detectors** (List). List a Sentry organization's monitors (detectors). Returns monitor objects including id, name, type, enabled, config, conditionGroup, and dateCreated. Filter by project, id, type, enabled, or a search query; max 100 per page.
- **Update a Sentry organization detector by ID** (Update). Update an existing monitor (detector) by id in a Sentry organization. Returns the updated detector including id, name, type, enabled, projectId, dataSources, conditionGroup, and config. Required: id, name, type.
- **List all Sentry organization environments** (List). List the environments of a sentry organization, such as Production or Staging. Returns: id, name.
- **List all Sentry organization eventids** (List). Resolve a Sentry event ID to its project slug, internal issue (group) ID, and internal event ID. Returns: organizationSlug, projectSlug, groupId, eventId, event. Required: event_id.
- **List all Sentry organization events timeseries** (List). Query Sentry Explore events for an organization as a timeseries. Returns meta (dataset, start, end) and timeSeries entries with values, yAxis, groupBy, and per-series meta. Required: dataset. topEvents (1-10) requires sort and groupBy; results are rough estimates for queries past 30d or on sampled data.
- **Sentry organization external users bulk delete** (Delete). Delete the link between a user from an external provider and a Sentry user in sentry. Returns an empty 204 response on success. Required: external_user_id.
- **Sentry organization external users bulk update** (Update). Update an external user in sentry, changing the link between a user from an external provider and a Sentry user. Returns: externalId, userId, teamId, id, provider, externalName, integrationId. Required: external_user_id, external_name, provider, user_id, integration_id, and id (the external actor ID).
- **Create a Sentry organization external user** (Create). Create an external user in sentry, linking a user from an external provider (such as GitHub, Slack, or Jira Server) to a Sentry user. Returns: externalId, userId, teamId, id, provider, externalName, integrationId. Required: external_name, provider, user_id, integration_id, and id (the external actor ID).
- **Sentry organization forwardings bulk delete** (Delete). Delete a Sentry data forwarder from an organization by id; all project-specific overrides for it are deleted as well. Returns an empty 204 response on success. Required: data_forwarder_id.
- **Sentry organization forwardings bulk update** (Update). Update a Sentry data forwarder, or configure a project-specific override by sending only project_id, overrides, and is_enabled. Returns the updated forwarder: id, provider, isEnabled, config, enrolledProjects, projectConfigs. Organization-level config updates require the entire configuration, including project_ids. Required: data_forwarder_id, organization_id, provider.
- **Create a Sentry organization forwarding** (Create). Create a data forwarder for a Sentry organization. Only one forwarder can be created per provider for a given organization, and project-specific overrides can only be added after creation. Returns the new forwarder: id, provider, isEnabled, config, enrolledProjects, projectConfigs. Required: organization_id, provider.
- **List all Sentry organization forwardings** (List). List data forwarders configured for a Sentry organization. Returns each forwarder's id, provider, isEnabled, enrollNewProjects, config, enrolledProjects, and projectConfigs.
- **Create a Sentry organization group search view** (Create). Create a new custom issue view for the current member of a sentry organization. Returns the created view including id, name, query, projects, environments, timeFilters, and querySort. Required: name, query, projects, environments, and timeFilters. Issue search does not support the AND/OR boolean operators or parenthesized boolean groups.
- **List all Sentry organization group search views** (List). List the current organization member's custom issue views in a sentry organization. Returns each view including id, name, projects, and dateCreated.
- **Sentry organization integrations bulk delete** (Delete). Delete an integration installed on a Sentry organization. Returns an empty 204 response on success. Required: integration_id.
- **Get single Sentry organization integration by ID** (Get). Get a single integration installed on a Sentry organization by id. Returns: id, name, icon, domainName, accountType, scopes, outOfDate, missingFeatures, status, provider, configOrganization, configData, externalId, organizationId, organizationIntegrationStatus, gracePeriodEnd. Required: id.
- **List all Sentry organization integrations** (List). List the integrations installed on a Sentry organization. Returns: id, icon, domainName, accountType, scopes, outOfDate, missingFeatures, status, provider, configOrganization, configData, externalId, organizationId, organizationIntegrationStatus, gracePeriodEnd, name.
- **Sentry organization issues bulk delete** (Delete). Permanently remove Sentry issues in bulk for an organization. If issue IDs are provided, queries and filtering are ignored; if omitted, the first 1000 matching issues are removed. Returns an empty 204 response on success.
- **Sentry organization issues bulk update** (Update). Bulk mutate attributes on up to 1000 Sentry issues in an organization: set status, substatus, priority, assignment, bookmarks, subscriptions, or merge/discard issues. Returns the applied mutation results: status, substatus, assignedTo, priority, shareId, and statusDetails. Required: id is required for non-status updates.

- **Delete a Sentry organization issue by ID** (Delete). Queue a single Sentry issue for asynchronous deletion by id. Returns an empty 204 response on success. Required: id.
- ...and 189 more tools. Call `tools/list` via the MCP endpoint, or see the full catalog via the API, for the complete set.
