Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Sentry MCP connector

OAuth 2.0 MonitoringDeveloper Tools

Connect to Sentry MCP server to monitor errors, investigate issues, manage projects, and analyze performance directly from your AI workflows.

Sentry MCP connector

  1. Terminal window
    npm install @scalekit-sdk/node

    Full SDK reference: Node.js | Python

  2. Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. Register your Sentry MCP credentials with Scalekit so it handles the token lifecycle. You do this once per environment.

    Dashboard setup steps

    Sentry MCP uses Dynamic Client Registration (DCR) — no client ID or secret is needed. The only step is registering your Scalekit redirect URI as an allowed domain in Atlassian Administration.

    1. Copy the redirect URI from Scalekit

      In the Scalekit dashboard, go to AgentKit > Connections > Create Connection. Find Sentry MCP and click Create. Copy the redirect URI — it looks like https://<SCALEKIT_ENVIRONMENT_URL>/sso/v1/oauth/<CONNECTION_ID>/callback.

    2. Open the Rovo MCP server settings in Atlassian

      • Go to admin.atlassian.com and select your organisation.
      • In the left sidebar, expand Rovo and click Rovo access.
      • Click Rovo MCP server in the submenu.
      • Select the Domains tab at the top of the page.
    3. Add the redirect URI as a domain

      • Under Your domains, click Add domain.
      • In the Add domain dialog, paste the redirect URI from Scalekit into the Domain field.
      • Accept the terms and click Add.

      Once added, Scalekit automatically registers the OAuth client via DCR and handles token management for every user who authorizes the connection — no further configuration needed.

  4. quickstart.ts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENV_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'sentrymcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Sentry MCP:', link)
    process.stdout.write('Press Enter after authorizing...')
    await new Promise(r => process.stdin.once('data', r))
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'sentrymcp_find_organizations',
    toolInput: {},
    })
    console.log(result)

Connect this agent connector to let your agent:

  • Seer analyze issue with — Use Sentry’s Seer AI to analyze a production error and get root cause analysis with specific code fixes
  • Execute sentry tool — Execute any available Sentry MCP tool discovered through the search_sentry_tools tool
  • Organizations find — Find organizations that the user has access to in Sentry
  • Projects find — Find projects within a Sentry organization
  • Get sentry resource — Fetch a Sentry resource by URL, or by resourceType plus resourceId
  • Search events, issues, sentry tools — Search Sentry events across datasets (errors, logs, spans, metrics, profiles, replays)

Get your cloud ID

Most Sentry MCP tools require a cloudId — the UUID that identifies your Atlassian cloud site. Call sentrymcp_getaccessibleatlassianresources once to retrieve it, then pass the id field value in every subsequent tool call.

// Step 1 — get the cloud ID
const resources = await actions.executeTool({
connectionName: 'sentrymcp',
identifier: 'user_123',
toolName: 'sentrymcp_getaccessibleatlassianresources',
toolInput: {},
});
const cloudId = resources[0].id;
// Step 2 — use cloudId in subsequent calls
const issue = await actions.executeTool({
connectionName: 'sentrymcp',
identifier: 'user_123',
toolName: 'sentrymcp_getjiraissue',
toolInput: {
cloudId,
issueIdOrKey: 'KAN-1',
},
});
console.log(issue);

The sentrymcp_getaccessibleatlassianresources response looks like this:

[
{
"id": "a4c9b3e2-1234-5678-abcd-ef0123456789",
"name": "My Company",
"url": "https://mycompany.atlassian.net",
"scopes": ["read:jira-work", "write:jira-work", "read:confluence-content.all"]
}
]

Use id as the cloudId parameter. If the user belongs to multiple Atlassian sites, the list contains one entry per site — pick the one matching the target url.

Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.

sentrymcp_analyze_issue_with_seer # Use Sentry's Seer AI to analyze a production error and get root cause analysis with specific code fixes. Provides file locations, line numbers, and concrete fix recommendations. Results are cached — subsequent calls return instantly. 5 params

Use Sentry's Seer AI to analyze a production error and get root cause analysis with specific code fixes. Provides file locations, line numbers, and concrete fix recommendations. Results are cached — subsequent calls return instantly.

Name Type Required Description
instruction string optional Optional custom instruction for the AI analysis, to focus on specific aspects of the issue.
issueId string optional The Issue ID. Example: 'PROJECT-1Z43'. Required if issueUrl is not provided.
issueUrl string optional Full URL to the Sentry issue. Example: 'https://my-org.sentry.io/issues/PROJECT-1Z43'. Use instead of organizationSlug + issueId.
organizationSlug string optional The organization's slug. Use the find_organizations tool to list available organizations.
regionUrl string optional The region URL for the organization. For sentry.io, typically 'https://us.sentry.io'. Omit for self-hosted.
sentrymcp_execute_sentry_tool # Execute any available Sentry MCP tool discovered through the search_sentry_tools tool. Use this to call Sentry operations that are not exposed as direct top-level tools. 2 params

Execute any available Sentry MCP tool discovered through the search_sentry_tools tool. Use this to call Sentry operations that are not exposed as direct top-level tools.

Name Type Required Description
name string required The name of the Sentry tool to execute, as returned by search_sentry_tools. Example: 'find_projects', 'whoami', 'get_issue_details'.
arguments object optional Arguments for the target tool, matching the schema returned by search_sentry_tools. Example: {"organizationSlug": "my-org"}.
sentrymcp_find_organizations # Find organizations that the user has access to in Sentry. Supports filtering by name or slug. Returns up to 25 results. 1 param

Find organizations that the user has access to in Sentry. Supports filtering by name or slug. Returns up to 25 results.

Name Type Required Description
query string optional Search query to filter results by name or slug. Use this to narrow down results when there are many items.
sentrymcp_find_projects # Find projects within a Sentry organization. Supports filtering by name or slug. Returns up to 25 results. 3 params

Find projects within a Sentry organization. Supports filtering by name or slug. Returns up to 25 results.

Name Type Required Description
organizationSlug string required The organization's slug. Use the find_organizations tool to list available organizations.
query string optional Search query to filter results by project name or slug.
regionUrl string optional The region URL for the organization. For sentry.io, this is typically 'https://us.sentry.io'. Omit for self-hosted installations.
sentrymcp_get_sentry_resource # Fetch a Sentry resource by URL, or by resourceType plus resourceId. Supports issues, events, traces, spans, AI conversations, breadcrumbs, replays, monitors, and snapshots. Pass a Sentry URL directly when possible — the resource type is auto-detected. 4 params

Fetch a Sentry resource by URL, or by resourceType plus resourceId. Supports issues, events, traces, spans, AI conversations, breadcrumbs, replays, monitors, and snapshots. Pass a Sentry URL directly when possible — the resource type is auto-detected.

Name Type Required Description
organizationSlug string optional The organization's slug. Required when not providing a URL.
resourceId string optional Resource identifier. For issues: short ID like 'PROJECT-123'. For spans: 'traceId:spanId'. For snapshot images: 'snapshotId:image_file_name'. Required when not using a URL.
resourceType string optional Resource type to fetch. Use with resourceId when not providing a URL.
url string optional Sentry URL. The resource type is auto-detected from the URL pattern. Example: 'https://my-org.sentry.io/issues/PROJECT-123/'.
sentrymcp_search_events # Search Sentry events across datasets (errors, logs, spans, metrics, profiles, replays). Supports aggregations (counts, averages) and individual event queries. Use natural language or Sentry query syntax. 10 params

Search Sentry events across datasets (errors, logs, spans, metrics, profiles, replays). Supports aggregations (counts, averages) and individual event queries. Use natural language or Sentry query syntax.

Name Type Required Description
organizationSlug string required The organization's slug. Use the find_organizations tool to list available organizations.
dataset string optional Dataset to query: errors (exceptions), logs (log entries), spans (traces/performance), metrics (counters/gauges), profiles (profiling), replays (session replays).
fields array optional Fields to return. Include aggregate functions like count(), avg() for statistics. Example: ['issue', 'count()'].
includeExplanation boolean optional Include an explanation of how the query was interpreted or repaired.
limit number optional Maximum number of results to return (1–100). Default is 10.
projectSlug string optional Filter results to a specific project by slug.
query string optional Natural language or Sentry event search query. Example: 'how many errors today', 'level:error', 'span.op:db'.
regionUrl string optional The region URL for the organization. For sentry.io, typically 'https://us.sentry.io'. Omit for self-hosted.
sort string optional Sort field (prefix with - for descending). Example: '-count()' for most frequent, '-timestamp' for newest.
statsPeriod string optional Time period to query: 1h, 24h, 7d, 14d, 30d, etc.
sentrymcp_search_issues # Search for grouped issues/problems in Sentry. Returns a list of issues with metadata like title, status, and user count. Supports natural language or Sentry query syntax. Use search_events for counts/aggregations. 7 params

Search for grouped issues/problems in Sentry. Returns a list of issues with metadata like title, status, and user count. Supports natural language or Sentry query syntax. Use search_events for counts/aggregations.

Name Type Required Description
organizationSlug string required The organization's slug. Use the find_organizations tool to list available organizations.
includeExplanation boolean optional Include an explanation of how the query was interpreted or repaired by the AI.
limit number optional Maximum number of issues to return (1–100). Default is 10.
projectSlugOrId string optional Filter by project slug or numeric ID (optional).
query string optional Natural language or Sentry issue search query. Examples: 'is:unresolved', 'level:error firstSeen:-24h', 'assigned:me', 'critical bugs from last week'.
regionUrl string optional The region URL for the organization. For sentry.io, typically 'https://us.sentry.io'. Omit for self-hosted.
sort string optional Sort order for results: date (last seen), freq (frequency), new (first seen), user (user count).
sentrymcp_search_sentry_tools # Search the available Sentry MCP tool catalog by keyword. Use this to discover catalog tools and their schemas for any Sentry operation not directly exposed as a top-level tool (e.g. project management, documentation, DSNs, releases, attachments, snapshots). 2 params

Search the available Sentry MCP tool catalog by keyword. Use this to discover catalog tools and their schemas for any Sentry operation not directly exposed as a top-level tool (e.g. project management, documentation, DSNs, releases, attachments, snapshots).

Name Type Required Description
query string required Natural language keywords describing the Sentry operation or resource to find. Example: 'list projects', 'issue details', 'find dsn'.
limit integer optional Maximum number of matching tools to return (1–20). Default is 8.
sentrymcp_update_issue # Update a Sentry issue's status or assignment. Use to resolve, reopen, assign, or ignore an issue. Provide issueUrl or organizationSlug + issueId. At least one of status or assignedTo is required. 13 params

Update a Sentry issue's status or assignment. Use to resolve, reopen, assign, or ignore an issue. Provide issueUrl or organizationSlug + issueId. At least one of status or assignedTo is required.

Name Type Required Description
assignedTo string optional Assignee in format 'user:ID' or 'team:ID_OR_SLUG'. Example: 'user:123456', 'team:my-team-slug'.
ignoreCount integer optional Number of occurrences before the issue stops being ignored when ignoreMode is 'untilOccurrenceCount'.
ignoreDurationMinutes integer optional Minutes to ignore the issue when ignoreMode is 'forDuration'.
ignoreMode string optional How ignored issues should behave: untilEscalating (Sentry default), forever, forDuration, untilOccurrenceCount, or untilUserCount.
ignoreUserCount integer optional Number of affected users before the issue stops being ignored when ignoreMode is 'untilUserCount'.
ignoreUserWindowMinutes integer optional Optional time window in minutes for ignoreUserCount. Maximum 10080 (1 week).
ignoreWindowMinutes integer optional Optional time window in minutes for ignoreCount. Maximum 10080 (1 week).
issueId string optional The Issue ID, e.g. 'PROJECT-1Z43'. Required if issueUrl is not provided.
issueUrl string optional Full URL to the Sentry issue. Use instead of organizationSlug + issueId.
organizationSlug string optional The organization's slug. Required if issueUrl is not provided.
reason string optional Optional reason for the action. When provided, posted as a comment on the issue's activity feed.
regionUrl string optional The region URL for the organization. For sentry.io, typically 'https://us.sentry.io'. Omit for self-hosted.
status string optional New status for the issue: resolved, resolvedInNextRelease, unresolved, or ignored.