|
5 | 5 | "description": "Read-only access to core Sentry data: issues, events, traces, replays, releases, cron monitors, uptime monitors, profiles, documentation, and project metadata", |
6 | 6 | "defaultEnabled": true, |
7 | 7 | "order": 1, |
8 | | - "toolCount": 37, |
| 8 | + "toolCount": 38, |
9 | 9 | "tools": [ |
10 | 10 | { |
11 | 11 | "name": "find_alert_rules", |
|
162 | 162 | "description": "Get details for a Sentry uptime monitor, including recent checks.\n\nUse this tool when you need to:\n- Inspect an uptime monitor's URL, interval, thresholds, and status\n- Review recent HTTP check results (success/failure, status code, duration)\n- Debug why an uptime monitor is failing\n\nThis is separate from cron monitors (`get_monitor_details`).\n\nRequest bodies are never returned. Sensitive header values are redacted.\n\n<examples>\nget_uptime_monitor_details(organizationSlug='my-organization', projectSlug='backend', uptimeMonitorId='12345')\nget_uptime_monitor_details(organizationSlug='my-organization', projectSlug='backend', uptimeMonitorId='12345', period='7d', checkLimit=20)\n</examples>", |
163 | 163 | "requiredScopes": ["project:read"] |
164 | 164 | }, |
| 165 | + { |
| 166 | + "name": "onboarding_status_update", |
| 167 | + "description": "Update the progress shown in Sentry's agentic onboarding UI.\n\nUse this tool only when an onboarding workflow provides a run token. Call it at the workflow boundaries described by the onboarding skill.\n\n<hints>\n- Progress updates are operational UI state, not user analytics.\n- Keep eventNote brief and limited to context useful in the progress UI.\n- Do not include source code, repository paths, credentials, error output, or other sensitive data.\n- status is required for every update.\n- Set runStatus to completed or failed only when the entire onboarding run reaches that state.\n- A failed status requires a brief failureReason.\n- failureReason is valid only with status failed.\n</hints>", |
| 168 | + "requiredScopes": ["org:read"] |
| 169 | + }, |
165 | 170 | { |
166 | 171 | "name": "search_ai_conversations", |
167 | 172 | "description": "Search Sentry AI Conversations and return one summary row per conversation.\n\nUse this tool to find or list AI Conversations. Results are conversation summaries, not raw span rows.\nEach row includes title (when available), cost, tokens, call counts, previews, and other list metadata.\nUse get_ai_conversation_details with a conversationId to fetch the transcript. Use get_sentry_resource for Sentry conversation URLs.\n\n<examples>\nsearch_ai_conversations(organizationSlug='my-org', query='failed conversations', period='7d')\nsearch_ai_conversations(organizationSlug='my-org', query='checkout', project='backend')\n</examples>", |
|
200 | 205 | "description": "Sentry's AI debugger that helps you analyze, root cause, and fix issues", |
201 | 206 | "defaultEnabled": true, |
202 | 207 | "order": 2, |
203 | | - "toolCount": 11, |
| 208 | + "toolCount": 12, |
204 | 209 | "tools": [ |
205 | 210 | { |
206 | 211 | "name": "analyze_issue_with_seer", |
|
237 | 242 | "description": "Fetch a Sentry resource by URL, or by resourceType plus resourceId.\nPass a Sentry URL directly when possible; the resource type is auto-detected.\n\nSupports issues, events, traces, spans, AI conversations, replays, preprod snapshots, and snapshot images.\nTrace lookups return a condensed overview by default.\n\nAI 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_ai_conversations. Conversations are NOT issues — do not use search_issues for conversation queries.\n\nFor preprod snapshot URLs (matching 'sentry.io/preprod/snapshots/'):\n- Without ?selectedSnapshot=: returns the snapshot diff summary (changed, added, removed images)\n- With ?selectedSnapshot=<image_file_name>: returns the image preview and metadata. Full-resolution snapshot image bytes are not available in this session.\n\nResource IDs:\n- snapshot: <snapshotId>\n\n<examples>\nget_sentry_resource(url='https://sentry.io/issues/PROJECT-123/')\nget_sentry_resource(resourceType='issue', organizationSlug='my-org', resourceId='PROJECT-123')\nget_sentry_resource(resourceType='ai_conversation', organizationSlug='my-org', resourceId='conversation-123')\nget_sentry_resource(url='https://sentry.sentry.io/preprod/snapshots/123/')\nget_sentry_resource(url='https://sentry.sentry.io/preprod/snapshots/123/?selectedSnapshot=login_screen.png')\n</examples>", |
238 | 243 | "requiredScopes": ["event:read", "project:read"] |
239 | 244 | }, |
| 245 | + { |
| 246 | + "name": "onboarding_status_update", |
| 247 | + "description": "Update the progress shown in Sentry's agentic onboarding UI.\n\nUse this tool only when an onboarding workflow provides a run token. Call it at the workflow boundaries described by the onboarding skill.\n\n<hints>\n- Progress updates are operational UI state, not user analytics.\n- Keep eventNote brief and limited to context useful in the progress UI.\n- Do not include source code, repository paths, credentials, error output, or other sensitive data.\n- status is required for every update.\n- Set runStatus to completed or failed only when the entire onboarding run reaches that state.\n- A failed status requires a brief failureReason.\n- failureReason is valid only with status failed.\n</hints>", |
| 248 | + "requiredScopes": ["org:read"] |
| 249 | + }, |
240 | 250 | { |
241 | 251 | "name": "search_ai_conversations", |
242 | 252 | "description": "Search Sentry AI Conversations and return one summary row per conversation.\n\nUse this tool to find or list AI Conversations. Results are conversation summaries, not raw span rows.\nEach row includes title (when available), cost, tokens, call counts, previews, and other list metadata.\nUse get_ai_conversation_details with a conversationId to fetch the transcript. Use get_sentry_resource for Sentry conversation URLs.\n\n<examples>\nsearch_ai_conversations(organizationSlug='my-org', query='failed conversations', period='7d')\nsearch_ai_conversations(organizationSlug='my-org', query='checkout', project='backend')\n</examples>", |
|
266 | 276 | "defaultEnabled": false, |
267 | 277 | "deprecated": true, |
268 | 278 | "order": 3, |
269 | | - "toolCount": 5, |
| 279 | + "toolCount": 6, |
270 | 280 | "tools": [ |
271 | 281 | { |
272 | 282 | "name": "find_organizations", |
|
283 | 293 | "description": "Fetch the full markdown content of a Sentry documentation page.\n\nUse this tool when you need to:\n- Read the complete documentation for a specific topic\n- Get detailed implementation examples or code snippets\n- Access the full context of a documentation page\n- Extract specific sections from documentation\n\n<examples>\n### Get the Next.js integration guide\n\n```\nget_doc(path='/platforms/javascript/guides/nextjs.md')\n```\n</examples>\n\n<hints>\n- Use the path from search_docs results for accurate fetching\n- Paths should end with .md extension\n</hints>", |
284 | 294 | "requiredScopes": [] |
285 | 295 | }, |
| 296 | + { |
| 297 | + "name": "onboarding_status_update", |
| 298 | + "description": "Update the progress shown in Sentry's agentic onboarding UI.\n\nUse this tool only when an onboarding workflow provides a run token. Call it at the workflow boundaries described by the onboarding skill.\n\n<hints>\n- Progress updates are operational UI state, not user analytics.\n- Keep eventNote brief and limited to context useful in the progress UI.\n- Do not include source code, repository paths, credentials, error output, or other sensitive data.\n- status is required for every update.\n- Set runStatus to completed or failed only when the entire onboarding run reaches that state.\n- A failed status requires a brief failureReason.\n- failureReason is valid only with status failed.\n</hints>", |
| 299 | + "requiredScopes": ["org:read"] |
| 300 | + }, |
286 | 301 | { |
287 | 302 | "name": "search_docs", |
288 | 303 | "description": "Search Sentry documentation for SDK setup, instrumentation, and configuration guidance.\n\nUse this tool when you need to:\n- Set up Sentry SDK or framework integrations (Django, Flask, Express, Next.js, etc.)\n- Configure features like performance monitoring, error sampling, or release tracking\n- Implement custom instrumentation (spans, transactions, breadcrumbs)\n- Configure data scrubbing, filtering, or sampling rules\n\nReturns snippets only. Use the Sentry tool `get_doc` to fetch full documentation content.\n\n<examples>\n```\nsearch_docs(query='Django setup configuration SENTRY_DSN', guide='python/django')\nsearch_docs(query='source maps webpack upload', guide='javascript/nextjs')\n```\n</examples>\n\n<hints>\n- Use guide parameter to filter to specific technologies (e.g., 'javascript/nextjs')\n- Include specific feature names like 'beforeSend', 'tracesSampleRate', 'SENTRY_DSN'\n</hints>", |
|
301 | 316 | "description": "Resolve, assign, and update issues", |
302 | 317 | "defaultEnabled": false, |
303 | 318 | "order": 4, |
304 | | - "toolCount": 17, |
| 319 | + "toolCount": 18, |
305 | 320 | "tools": [ |
306 | 321 | { |
307 | 322 | "name": "add_issue_note", |
|
358 | 373 | "description": "Fetch a Sentry resource by URL, or by resourceType plus resourceId.\nPass a Sentry URL directly when possible; the resource type is auto-detected.\n\nSupports issues, events, traces, spans, AI conversations, replays, preprod snapshots, and snapshot images.\nTrace lookups return a condensed overview by default.\n\nAI 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_ai_conversations. Conversations are NOT issues — do not use search_issues for conversation queries.\n\nFor preprod snapshot URLs (matching 'sentry.io/preprod/snapshots/'):\n- Without ?selectedSnapshot=: returns the snapshot diff summary (changed, added, removed images)\n- With ?selectedSnapshot=<image_file_name>: returns the image preview and metadata. Full-resolution snapshot image bytes are not available in this session.\n\nResource IDs:\n- snapshot: <snapshotId>\n\n<examples>\nget_sentry_resource(url='https://sentry.io/issues/PROJECT-123/')\nget_sentry_resource(resourceType='issue', organizationSlug='my-org', resourceId='PROJECT-123')\nget_sentry_resource(resourceType='ai_conversation', organizationSlug='my-org', resourceId='conversation-123')\nget_sentry_resource(url='https://sentry.sentry.io/preprod/snapshots/123/')\nget_sentry_resource(url='https://sentry.sentry.io/preprod/snapshots/123/?selectedSnapshot=login_screen.png')\n</examples>", |
359 | 374 | "requiredScopes": ["event:read", "project:read"] |
360 | 375 | }, |
| 376 | + { |
| 377 | + "name": "onboarding_status_update", |
| 378 | + "description": "Update the progress shown in Sentry's agentic onboarding UI.\n\nUse this tool only when an onboarding workflow provides a run token. Call it at the workflow boundaries described by the onboarding skill.\n\n<hints>\n- Progress updates are operational UI state, not user analytics.\n- Keep eventNote brief and limited to context useful in the progress UI.\n- Do not include source code, repository paths, credentials, error output, or other sensitive data.\n- status is required for every update.\n- Set runStatus to completed or failed only when the entire onboarding run reaches that state.\n- A failed status requires a brief failureReason.\n- failureReason is valid only with status failed.\n</hints>", |
| 379 | + "requiredScopes": ["org:read"] |
| 380 | + }, |
361 | 381 | { |
362 | 382 | "name": "search_ai_conversations", |
363 | 383 | "description": "Search Sentry AI Conversations and return one summary row per conversation.\n\nUse this tool to find or list AI Conversations. Results are conversation summaries, not raw span rows.\nEach row includes title (when available), cost, tokens, call counts, previews, and other list metadata.\nUse get_ai_conversation_details with a conversationId to fetch the transcript. Use get_sentry_resource for Sentry conversation URLs.\n\n<examples>\nsearch_ai_conversations(organizationSlug='my-org', query='failed conversations', period='7d')\nsearch_ai_conversations(organizationSlug='my-org', query='checkout', project='backend')\n</examples>", |
|
396 | 416 | "description": "Create and modify projects, teams, DSNs, and uptime monitors", |
397 | 417 | "defaultEnabled": false, |
398 | 418 | "order": 5, |
399 | | - "toolCount": 15, |
| 419 | + "toolCount": 16, |
400 | 420 | "tools": [ |
401 | 421 | { |
402 | 422 | "name": "add_team_to_project", |
|
448 | 468 | "description": "Find teams in an organization in Sentry.\n\nUse this tool when you need to:\n- View teams in a Sentry organization\n- Find a team's slug and numeric ID to aid other tool requests\n- Search for specific teams by name or slug\n\nReturns up to 25 results. When hasMore is true, use the query parameter to narrow down results.", |
449 | 469 | "requiredScopes": ["team:read"] |
450 | 470 | }, |
| 471 | + { |
| 472 | + "name": "onboarding_status_update", |
| 473 | + "description": "Update the progress shown in Sentry's agentic onboarding UI.\n\nUse this tool only when an onboarding workflow provides a run token. Call it at the workflow boundaries described by the onboarding skill.\n\n<hints>\n- Progress updates are operational UI state, not user analytics.\n- Keep eventNote brief and limited to context useful in the progress UI.\n- Do not include source code, repository paths, credentials, error output, or other sensitive data.\n- status is required for every update.\n- Set runStatus to completed or failed only when the entire onboarding run reaches that state.\n- A failed status requires a brief failureReason.\n- failureReason is valid only with status failed.\n</hints>", |
| 474 | + "requiredScopes": ["org:read"] |
| 475 | + }, |
451 | 476 | { |
452 | 477 | "name": "remove_team_from_project", |
453 | 478 | "description": "Revoke a team's access to an existing Sentry project.\n\nUse this tool when you need to:\n- Remove a team from a project\n- Revoke team access without changing project metadata\n- Check project team assignments before removing access\n\nBe careful when using this tool because it revokes project access.\n\n<examples>\nremove_team_from_project(organizationSlug='my-organization', projectSlug='my-project', teamSlug='my-team')\n</examples>\n\n<hints>\n- The team must already be assigned to the project.\n- This tool will not remove the last team assigned to a project.\n</hints>", |
|
0 commit comments