Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 20 additions & 3 deletions apps/docs/integrations/sentry.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,30 @@ performance context from production.

## How setup works

Admins connect Sentry once from **Settings > Integrations**.
Admins connect Sentry once from **Settings > Integrations**. Sentry's consent
screen lists four access groups, all selected by default:

- **Inspect Issues & Events** is read-only: issues, events, traces, replays,
releases, monitors, profiles, documentation, and project metadata.
- **Seer**, **Triage Issues**, and **Manage Projects & Teams** grant write
access: AI analysis runs, resolving and assigning issues, and creating or
editing projects, teams, DSNs, and uptime monitors.

Roomote does not restrict the connection beyond what you approve there. For a
read-only connection, leave only **Inspect Issues & Events** selected. You can
also disable individual tools afterwards from the integration's tool settings.
Most Sentry operations run through the `execute_sentry_tool` gateway, so
disabling that tool removes the whole catalog rather than a single operation.

## What to expect

Sentry gives Roomote incident and performance context during a task. It can also
support scheduled read-only Sentry triage. The final decision, code change, and
review still happen in the normal task and repository flow.
support scheduled Sentry triage. The final decision, code change, and review
still happen in the normal task and repository flow.

Roomote agents are instructed to treat Sentry as read-only unless a request
explicitly asks them to change Sentry state. That instruction is not enforced
by Roomote; the access you approve on Sentry's consent screen is the boundary.

## Scope a triage request

Expand Down
12 changes: 12 additions & 0 deletions packages/types/src/__tests__/mcp-tool-policy.test.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions packages/types/src/mcp-oauth.ts
Original file line number Diff line number Diff line change
Expand Up @@ -507,6 +507,8 @@ export const MCP_INTEGRATIONS: McpIntegration[] = [
description: `Enable Sentry so this deployment can access alerts and performance indicators from ${PRODUCT_NAME} tasks.`,
icon: 'sentry',
connectionScope: 'deployment',
instructions:
'Sentry advertises only a few tools directly (find_organizations, find_projects, search_issues, search_events, get_sentry_resource). Reach everything else (issue details, event stack traces, breadcrumbs, tag values, issue events, releases, traces, replays, attachments, monitors, alert rules, docs) by calling search_sentry_tools with a short query, then execute_sentry_tool with the returned tool name and arguments. Which tools exist depends on the access the admin granted when connecting. Treat Sentry as read-only unless the request explicitly asks to change Sentry state: do not resolve, assign, ignore, or otherwise update issues, and do not create or modify projects, teams, DSNs, or monitors on your own initiative.',
},
{
id: 'pylon',
Expand Down
26 changes: 4 additions & 22 deletions packages/types/src/mcp-tool-policy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -96,27 +96,6 @@ const PYLON_READ_ONLY_TOOL_NAMES = [
'get_account',
] as const;

const SENTRY_READ_ONLY_TOOL_NAMES = [
'whoami',
'find_organizations',
'find_teams',
'find_projects',
'find_releases',
'get_issue_details',
'get_issue_tag_values',
'get_trace_details',
'get_replay_details',
'get_event_attachment',
'search_events',
'find_dsns',
'search_docs',
'get_doc',
'search_issues',
'search_issue_events',
'get_profile_details',
'get_sentry_resource',
] as const;

const JIRA_SHARED_TOOL_NAMES = [
'atlassianUserInfo',
'getAccessibleAtlassianResources',
Expand Down Expand Up @@ -218,7 +197,10 @@ const INTEGRATION_MCP_ALLOWED_TOOL_NAMES: Readonly<
monday: MONDAY_READ_ONLY_TOOL_NAMES,
pylon: PYLON_READ_ONLY_TOOL_NAMES,
railway: RAILWAY_READ_ONLY_TOOL_NAMES,
sentry: SENTRY_READ_ONLY_TOOL_NAMES,
// Sentry is intentionally absent: mcp.sentry.dev is catalog-first, so
// tools/list advertises a small top-level surface and everything else runs
// through execute_sentry_tool. A static name list silently hid most of the
// server. Access is chosen by the admin in Sentry's consent dialog instead.
x: X_READ_ONLY_TOOL_NAMES,
};

Expand Down
Loading