# Sentry connector

[Product](https://paperclip.ing/product/) / [Connectors](https://paperclip.ing/product/connectors/) / Sentry

Search issues, inspect error context and update issues.

Category: [Developer tools](/product/connectors/?category=developer)
Tools from: [Sentry](https://raw.githubusercontent.com/getsentry/sentry-mcp/d92924802e4f059ccf58d098c90a0004c223e272/README.md)
Sign-in: Choose a supported connection method
Works as: Agent tool

Source recorded: Sep 30, 2026

## Overview

Paperclip’s Sentry MCP connector gives your AI agents tools to search issues, inspect error context and update issues. Each tool can be Allowed, Ask first or Off.

Agents reach the organization chosen during sign-in and projects the authorizing account can access. Paperclip adds no project or environment filter.

## What agents can do with Sentry

- Find a project and investigate its issues (`find_projects`, `search_issues`)
- Inspect a Sentry resource for an issue (`search_issues`, `get_sentry_resource`)
- Review an issue before changing its status (`search_issues`, `update_issue`)

## How to connect Sentry

1. In Paperclip, open Connectors and select Sentry.
2. On the Access step, choose the identity and which agents may use the connection.
3. Complete Sentry’s browser sign-in and choose the organization when prompted.

[Setup guide](https://docs.paperclip.ing/connectors/sentry/)

## Sentry tools for agents (9)



### Write (9)

<div data-tool-name="analyze_issue_with_seer" data-tool-class="write">
<code>analyze_issue_with_seer</code>
<p class="c4-description-summary">Use Seer to analyze production errors and get detailed root cause analysis with specific code fixes.</p>
<details class="faq-item c4-tool-description">
<summary class="faq-header" aria-label="Full description for analyze_issue_with_seer">Full description</summary>

<pre class="faq-answer c4-description-text">Use Seer to analyze production errors and get detailed root cause analysis with specific code fixes.

Use this tool when:
- The user explicitly asks for root cause analysis, Seer analysis, or help fixing/debugging an issue
- You are unable to accurately determine the root cause from the issue details alone

Do NOT call this tool as an automatic follow-up to get_sentry_resource.

What this tool provides:
- Root cause analysis with code-level explanations
- Specific file locations and line numbers where errors occur
- Concrete code fixes you can apply
- Step-by-step implementation guidance

This tool automatically:
1. Checks if analysis already exists (instant results)
2. Starts new AI analysis if needed (~2-5 minutes)
3. Returns complete fix recommendations

&lt;examples&gt;
### User: &quot;Run Seer on this issue&quot;

```
analyze_issue_with_seer(issueUrl='https://my-org.sentry.io/issues/PROJECT-1Z43')
```

### User: &quot;Analyze this issue and suggest a fix&quot;

```
analyze_issue_with_seer(organizationSlug='my-organization', issueId='ERROR-456')
```
&lt;/examples&gt;

&lt;hints&gt;
- Only use when the user explicitly requests analysis or you cannot determine the root cause from issue details alone
- Seer Autofix does not support metric alert issues (issueCategory: metric); use get_issue_details and search_events instead
- If the user provides an issueUrl, extract it and use that parameter alone
- The analysis includes actual code snippets and fixes, not just error descriptions
- Results are cached - subsequent calls return instantly
&lt;/hints&gt;</pre>
</details>
</div>

<div data-tool-name="execute_sentry_tool" data-tool-class="write">
<code>execute_sentry_tool</code>
<p class="c4-description-summary">Execute an available Sentry MCP tool discovered through search_sentry_tools.</p>
<details class="faq-item c4-tool-description">
<summary class="faq-header" aria-label="Full description for execute_sentry_tool">Full description</summary>

<pre class="faq-answer c4-description-text">Execute an available Sentry MCP tool discovered through search_sentry_tools.

Use this tool when you need to:
- Call a Sentry operation returned by search_sentry_tools
- Execute a tool by name using arguments that match its returned schema

&lt;examples&gt;
execute_sentry_tool(name='find_projects', arguments={ organizationSlug: 'my-org' })
execute_sentry_tool(name='whoami', arguments={})
&lt;/examples&gt;

&lt;hints&gt;
- Use search_sentry_tools first if you are not sure which name or arguments to pass.
- Arguments are validated against the target tool's schema before execution.
- Active organization, project, and region constraints are injected automatically.
&lt;/hints&gt;</pre>
</details>
</div>

<div data-tool-name="find_organizations" data-tool-class="write">
<code>find_organizations</code>
<p class="c4-description-summary">Find organizations that the user has access to in Sentry.</p>
<details class="faq-item c4-tool-description">
<summary class="faq-header" aria-label="Full description for find_organizations">Full description</summary>

<pre class="faq-answer c4-description-text">Find organizations that the user has access to in Sentry.

Use this tool when you need to:
- View organizations in Sentry
- Find an organization's slug to aid other tool requests
- Search for specific organizations by name or slug

Returns up to 25 results per page. When hasMore is true, pass the returned nextCursor with the same filters and scope to fetch the next page.</pre>
</details>
</div>

<div data-tool-name="find_projects" data-tool-class="write">
<code>find_projects</code>
<p class="c4-description-summary">Find projects in Sentry.</p>
<details class="faq-item c4-tool-description">
<summary class="faq-header" aria-label="Full description for find_projects">Full description</summary>

<pre class="faq-answer c4-description-text">Find projects in Sentry.

Use this tool when you need to:
- View projects in a Sentry organization
- Find a project's slug to aid other tool requests
- Search for specific projects by name or slug

Returns up to 25 results per page. When hasMore is true, pass the returned nextCursor with the same filters and scope to fetch the next page.</pre>
</details>
</div>

<div data-tool-name="get_sentry_resource" data-tool-class="write">
<code>get_sentry_resource</code>
<p class="c4-description-summary">Fetch a Sentry resource by URL, or by resourceType plus resourceId.</p>
<details class="faq-item c4-tool-description">
<summary class="faq-header" aria-label="Full description for get_sentry_resource">Full description</summary>

<pre class="faq-answer c4-description-text">Fetch a Sentry resource by URL, or by resourceType plus resourceId.
Pass a Sentry URL directly when possible; the resource type is auto-detected.

Supports issues, events, traces, spans, agent conversations, replays, monitors, preprod snapshots, and snapshot images.
Trace lookups return a condensed overview by default.

Agent Conversations: A conversation is a set of spans sharing the same gen_ai.conversation.id. Use resourceType='ai_conversation' with a conversation ID, or pass a Sentry conversation URL, to fetch the transcript/details. To discover or list conversations, use search_agent_conversations. Conversations are NOT issues — do not use search_issues for conversation queries.

For preprod snapshot URLs (matching 'sentry.io/preprod/snapshots/'):
- Without ?selectedSnapshot=: returns the snapshot diff summary (changed, added, removed images)
- With ?selectedSnapshot=&lt;image_file_name&gt;: returns the image preview and metadata. Use the Sentry tool `get_snapshot_image` for full-resolution image bytes.

Resource IDs:
- monitor: &lt;monitorSlug&gt;
- snapshot: &lt;snapshotId&gt;

&lt;examples&gt;
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')
&lt;/examples&gt;</pre>
</details>
</div>

<div data-tool-name="search_events" data-tool-class="write">
<code>search_events</code>
<p class="c4-description-summary">Search Sentry events and replays.</p>
<details class="faq-item c4-tool-description">
<summary class="faq-header" aria-label="Full description for search_events">Full description</summary>

<pre class="faq-answer c4-description-text">Search Sentry events and replays. Use for event counts/statistics.

`query` is natural language or Sentry search syntax; a configured agent fixes dataset, query, fields, and sort.

Supports THREE query types:
1. AGGREGATIONS (counts, sums, averages): 'how many errors', 'total tokens'
2. Individual events with timestamps: 'error logs from last hour'
3. TIME SERIES (metric over time): 'errors per hour', 'error trend over time'

Datasets:
- errors: Exception/crash events with stack traces, usually grouped into issues
- logs: Application log entries, including error-severity log messages
- spans: Raw trace/span events for performance, AI/LLM calls, requests, and operations
- metrics: Metric rows and aggregates: counters, gauges, distributions, values
- profiles: Transaction/continuous profile results, profile IDs, profiled transactions
- replays: Session replay results: rage clicks, dead clicks, visited pages, replay users
If the user says logs, log messages, error logs, or warning logs, choose logs instead of errors.

Replay searches return replay lists only; replay count()/avg()/sum() are not supported.

NOT for grouped issue lists (use search_issues) or app screenshots/images (use get_latest_base_snapshot).

&lt;examples&gt;
search_events(organizationSlug='my-org', query='how many errors today')
search_events(organizationSlug='my-org', dataset='errors', fields=['issue', 'count()'], sort='-count()')
search_events(organizationSlug='my-org', query='errors per hour last 24h')
search_events(organizationSlug='my-org', dataset='spans', query='span.op:db', sort='-span.duration')
search_events(organizationSlug='my-org', dataset='replays', query='count_errors:&gt;0', sort='-count_errors')
&lt;/examples&gt;

&lt;hints&gt;
- name/otherName notation means &lt;organizationSlug&gt;/&lt;projectSlug&gt;; parse it directly, don't call find_organizations/find_projects.
- Use fields with aggregate functions like count(), avg(), sum() for statistics
- Sort by -count() for most common, -timestamp for newest
&lt;/hints&gt;</pre>
</details>
</div>

<div data-tool-name="search_issues" data-tool-class="write">
<code>search_issues</code>
<p class="c4-description-summary">Search for grouped issues/problems in Sentry - returns a LIST of issues, NOT counts or aggregations.</p>
<details class="faq-item c4-tool-description">
<summary class="faq-header" aria-label="Full description for search_issues">Full description</summary>

<pre class="faq-answer c4-description-text">Search for grouped issues/problems in Sentry - returns a LIST of issues, NOT counts or aggregations.

Provide `query` as natural language or Sentry issue search syntax. When an embedded agent is configured, it fixes query and sort before running while preserving explicit Sentry search syntax.

Returns grouped issues with metadata like title, status, and user count.

Common Query Syntax:
- 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:&gt;100

DO NOT USE FOR COUNTS/AGGREGATIONS → use search_events
DO NOT USE FOR individual events with timestamps → use search_events
DO NOT USE FOR details about a specific issue → use get_sentry_resource

&lt;examples&gt;
search_issues(organizationSlug='my-org', query='critical bugs from last week')
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')
&lt;/examples&gt;

&lt;hints&gt;
- If the user passes a parameter in the form of name/otherName, it's likely in the format of &lt;organizationSlug&gt;/&lt;projectSlugOrId&gt;.
- Parse org/project notation directly without calling find_organizations or find_projects.
- The projectSlugOrId parameter accepts both project slugs (e.g., 'my-project') and numeric IDs (e.g., '123456').
&lt;/hints&gt;</pre>
</details>
</div>

<div data-tool-name="search_sentry_tools" data-tool-class="write">
<code>search_sentry_tools</code>
<p class="c4-description-summary">Search the available Sentry MCP tool catalog by name and description.</p>
<details class="faq-item c4-tool-description">
<summary class="faq-header" aria-label="Full description for search_sentry_tools">Full description</summary>

<pre class="faq-answer c4-description-text">Search the available Sentry MCP tool catalog by name and description.

Many Sentry operations are intentionally not exposed as top-level tools. Use this for any Sentry-related task when you do not see an obvious direct tool, including long-tail inspection, project management, documentation lookup, preprod snapshots, attachments, DSNs, releases, teams, and issue-specific pivots.

Use this tool when you need to:
- Find the right Sentry operation for a task
- Discover catalog tools and their schemas for a task
- Inspect the executable JSON input schema for an available tool

&lt;examples&gt;
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')
&lt;/examples&gt;

&lt;hints&gt;
- Results only include tools available in the current session.
- If a Sentry operation is not listed as a direct tool, search here before deciding it is unavailable.
- Returned schemas already account for active organization, project, and region constraints.
- Use the returned name and schema when executing a catalog result.
- This tool returns structured JSON. Do not parse markdown from its text content.
&lt;/hints&gt;</pre>
</details>
</div>

<div data-tool-name="update_issue" data-tool-class="write">
<code>update_issue</code>
<p class="c4-description-summary">Update a Sentry issue's status or assignment.</p>
<details class="faq-item c4-tool-description">
<summary class="faq-header" aria-label="Full description for update_issue">Full description</summary>

<pre class="faq-answer c4-description-text">Update a Sentry issue's status or assignment.

Use this to resolve, reopen, assign, unassign, or ignore an issue.

&lt;examples&gt;
```
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', assignedTo=null)
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')
```
&lt;/examples&gt;

&lt;hints&gt;
- Provide `issueUrl` or `organizationSlug` + `issueId`.
- At least one of `status` or `assignedTo` is required.
- Omit `assignedTo` to leave assignment unchanged. Pass `null` to unassign; otherwise use `user:ID` or `team:ID_OR_SLUG`.
- Use `execute_sentry_tool(name='whoami', arguments={})` to find your user ID for self-assignment.
- Status values: `resolved`, `resolvedInNextRelease`, `unresolved`, `ignored`.
- `status='ignored'` defaults to `ignoreMode='untilEscalating'`.
- Ignore modes: `untilEscalating`, `forever`, `forDuration`, `untilOccurrenceCount`, `untilUserCount`.
- Matching ignore inputs are `ignoreDurationMinutes`, `ignoreCount` + optional `ignoreWindowMinutes`, or `ignoreUserCount` + optional `ignoreUserWindowMinutes`.
- To switch an already ignored issue between `untilEscalating`, `forever`, and condition-based ignore modes, first set `status='unresolved'`, then ignore it again with the new rule.
- `reason` is optional. When provided, it will be posted as a comment on the issue's activity feed explaining why the action was taken.
&lt;/hints&gt;</pre>
</details>
</div>

This list describes the reviewed tools. Your selected method, provider access and action permissions determine what agents can use.

These lists use a conservative permission policy. Read requires a provider read-only hint or a reviewed Paperclip read rule. Evidence that an action changes data or submits information elsewhere puts it in Write. Write also includes actions we cannot verify as read-only. Read describes the reviewed evidence; it does not guarantee that an action has no side effects. A connected account can group actions differently.

This list includes tools exposed directly by Sentry. Other operations are available through discovery and execution tools, rather than as separate tools.



### Connection policies

Discovered actions follow the connection’s policies. Review their permissions and set actions to Ask first or Off as needed. Keep write tools that resolve, ignore, assign or delete issues on Ask first or Off because they change what your on-call engineers see.

## Sentry connector FAQ

### Can I require approval for actions?

Set an action to Ask first to require human approval of each call or Off to prevent calls. Allowed actions run without approval. Read and Write grouping is separate from these settings.

### What can agents reach in Sentry?

Agents reach the organization chosen during sign-in and projects the authorizing account can access. Paperclip adds no project or environment filter.

### What do I need before connecting?

Use a Sentry account with access to the intended organization and projects. An administrator may need to approve the integration.


Ways to connect

- Complete Sentry’s browser sign-in and choose the organization.

[Sentry connector](https://docs.paperclip.ing/connectors/sentry/)

[Set action permissions](https://docs.paperclip.ing/connectors/action-permissions/)

## Related connectors

- [Cloudflare](https://paperclip.ing/product/connectors/cloudflare/): Find API operations and execute resource changes.
- [GitHub](https://paperclip.ing/product/connectors/github/): Read code and pull requests, comment on issues.
- [Netlify](https://paperclip.ing/product/connectors/netlify/): Inspect projects and deploys and start deployments.

## Give your agents Sentry.

Join the Paperclip waitlist to connect Sentry and choose what your agents can do.

[Join the waitlist](https://paperclip.ing/waitlist/)
