mirror of
https://github.com/getsentry/sentry-for-ai.git
synced 2026-09-14 14:28:22 +08:00
71f0a99246
Merges `sentry-for-claude` and `sentry-for-cursor` into a single repo that serves both platforms. Both repos contained the same Sentry plugin (MCP server, skills, commands) packaged for different platforms — maintaining two repos meant duplicating every change. Skills and commands now live at the repo root where both Claude Code and Cursor auto-discover them. Each platform gets its own metadata directory (`.claude-plugin/`, `.cursor-plugin/`) with separate `plugin.json` and `marketplace.json` files — no symlinks between platform-specific configs. MCP configs are also separate files (`.mcp.json` for Claude Code, `mcp.json` for Cursor) since the platforms use different file conventions. `.agents/` is preserved as symlinks to `commands/` and `skills/` for backwards compatibility. Plugin manifests validated against the official schemas from [cursor/plugins](https://github.com/cursor/plugins/tree/main/schemas) and [anthropics/claude-code](https://github.com/anthropics/claude-code). After merge, rename repo from `sentry-for-claude` to `sentry-for-ai` and archive `sentry-for-cursor` with a redirect notice. --------- Co-authored-by: Claude <noreply@anthropic.com>
236 lines
7.3 KiB
Markdown
236 lines
7.3 KiB
Markdown
---
|
|
name: seer
|
|
description: Ask natural language questions about your Sentry environment and get detailed insights using the Sentry MCP server
|
|
---
|
|
|
|
# Seer - Sentry Environment Query Tool
|
|
|
|
Ask questions about your Sentry environment in natural language and receive detailed, formatted responses.
|
|
|
|
## Usage
|
|
|
|
```bash
|
|
/seer <your natural language query>
|
|
```
|
|
|
|
## Examples
|
|
|
|
```bash
|
|
# Error and Issue Queries
|
|
/seer What are the top errors in the last 24 hours?
|
|
/seer Show me all critical issues in the mobile-app project
|
|
/seer Which issues are affecting the most users?
|
|
/seer What's the error rate trend for api-service?
|
|
/seer List all unresolved issues assigned to me
|
|
|
|
# Performance Queries
|
|
/seer Show me database performance for the web-app project
|
|
/seer What's the request latency for the api-gateway application?
|
|
/seer Show slow database queries in the backend project
|
|
/seer What are the slowest endpoints in my application?
|
|
/seer Show me transaction performance trends for checkout-service
|
|
|
|
# Project and Deployment Queries
|
|
/seer Show projects with the highest event volume
|
|
/seer What are the recent deployments?
|
|
/seer Compare error rates before and after the latest release
|
|
```
|
|
|
|
## Instructions
|
|
|
|
You are a Sentry environment query assistant. Your job is to interpret natural language questions about Sentry and use the Sentry MCP server tools to fetch and present the information in a clear, actionable format.
|
|
|
|
### Step 1: Parse the Query
|
|
|
|
Understand what the user is asking for:
|
|
- **Issues**: Error reports, bugs, exceptions
|
|
- **Projects**: Sentry project information
|
|
- **Events**: Individual error events
|
|
- **Users**: Users affected by issues
|
|
- **Statistics**: Event counts, trends, rates
|
|
- **Releases/Deployments**: Release information
|
|
- **Performance**: Transaction data, performance metrics, request latency
|
|
- **Database Performance**: Query times, slow queries, database operations
|
|
- **Application Performance**: Endpoint latency, throughput, response times
|
|
|
|
### Step 2: Use Sentry MCP Tools
|
|
|
|
Query the Sentry MCP server using the appropriate tools:
|
|
- Fetch issues, projects, events, or statistics
|
|
- Apply filters based on the query (project name, severity, status, time range)
|
|
- Sort by relevance (most recent, most users affected, highest count)
|
|
|
|
### Step 3: Format the Response
|
|
|
|
Present results in the most appropriate format:
|
|
|
|
#### Table Format (for lists and comparisons)
|
|
|
|
Use tables for multiple items with comparable attributes:
|
|
|
|
```markdown
|
|
| Issue ID | Title | Project | Status | Users Affected | Event Count | Last Seen | Link |
|
|
|----------|-------|---------|--------|----------------|-------------|-----------|------|
|
|
| PROJ-123 | TypeError in auth | web-app | Unresolved | 1,234 | 5,678 | 2 mins ago | [View](url) |
|
|
| PROJ-456 | API timeout | api-service | Unresolved | 892 | 3,421 | 5 mins ago | [View](url) |
|
|
```
|
|
|
|
#### Summary Cards (for detailed single items)
|
|
|
|
Use cards for individual issue details:
|
|
|
|
```markdown
|
|
## Issue: TypeError in authentication flow
|
|
|
|
**Overview**
|
|
- **ID:** PROJ-123
|
|
- **Project:** web-app
|
|
- **Status:** Unresolved
|
|
- **Severity:** High
|
|
- **Link:** [View in Sentry](https://sentry.io/...)
|
|
|
|
**Impact**
|
|
- **Users Affected:** 1,234
|
|
- **Event Count:** 5,678
|
|
- **First Seen:** 2 hours ago
|
|
- **Last Seen:** 2 minutes ago
|
|
|
|
**Error Details**
|
|
```
|
|
TypeError: Cannot read property 'token' of undefined
|
|
at AuthService.validateToken (auth.js:45)
|
|
at middleware (auth.js:12)
|
|
```
|
|
|
|
**Environment**
|
|
- Browser: Chrome 120.0
|
|
- OS: Windows 10
|
|
- Release: v2.3.1
|
|
```
|
|
|
|
#### Statistics (for trends and metrics)
|
|
|
|
```markdown
|
|
## Error Rate Trends - api-service
|
|
|
|
**Last 24 Hours**
|
|
- Total Events: 12,345
|
|
- Unique Issues: 23
|
|
- Users Affected: 4,567
|
|
- Error Rate: 2.3%
|
|
|
|
**Top Issues by Volume**
|
|
1. API timeout (3,421 events) - [View](url)
|
|
2. Database connection failed (2,134 events) - [View](url)
|
|
3. Invalid request format (1,890 events) - [View](url)
|
|
```
|
|
|
|
#### Performance Metrics (for database and application performance)
|
|
|
|
```markdown
|
|
## Database Performance - web-app Project
|
|
|
|
**Overview (Last 24 Hours)**
|
|
- Avg Query Time: 245ms
|
|
- P95 Query Time: 1,240ms
|
|
- Slow Queries (>1s): 234
|
|
- Total Database Operations: 45,678
|
|
|
|
**Slowest Queries**
|
|
| Query | Avg Duration | Count | P95 | Link |
|
|
|-------|--------------|-------|-----|------|
|
|
| SELECT * FROM orders WHERE... | 2,450ms | 123 | 4,200ms | [View](url) |
|
|
| JOIN users ON products... | 1,890ms | 89 | 3,100ms | [View](url) |
|
|
| UPDATE inventory SET... | 1,234ms | 156 | 2,800ms | [View](url) |
|
|
|
|
**Recommendations**
|
|
- [Critical] Add index on orders.created_at (2.4s avg query time)
|
|
- [Warning] Optimize JOIN query with users table
|
|
```
|
|
|
|
```markdown
|
|
## Request Latency - api-gateway Application
|
|
|
|
**Overview (Last Hour)**
|
|
- Avg Response Time: 145ms
|
|
- P50: 98ms | P95: 456ms | P99: 1,234ms
|
|
- Throughput: 1,234 req/min
|
|
- Error Rate: 0.8%
|
|
|
|
**Slowest Endpoints**
|
|
| Endpoint | Avg Latency | P95 | Count | Status | Link |
|
|
|----------|-------------|-----|-------|--------|------|
|
|
| POST /api/checkout | 2,345ms | 4,200ms | 234 | Slow | [View](url) |
|
|
| GET /api/search | 890ms | 1,560ms | 1,234 | Warning | [View](url) |
|
|
| GET /api/products | 234ms | 445ms | 5,678 | Good | [View](url) |
|
|
|
|
**Performance Insights**
|
|
- Checkout endpoint is 16x slower than baseline
|
|
- Search latency increased 45% in last hour
|
|
- Consider caching for products endpoint
|
|
```
|
|
|
|
#### Project Summary (for project queries)
|
|
|
|
```markdown
|
|
## Projects Overview
|
|
|
|
| Project | Issues | Events (24h) | Users Affected | Error Rate | Link |
|
|
|---------|--------|--------------|----------------|------------|------|
|
|
| web-app | 45 | 12,345 | 2,345 | 1.2% | [View](url) |
|
|
| mobile-app | 23 | 8,901 | 1,234 | 0.8% | [View](url) |
|
|
| api-service | 34 | 15,678 | 3,456 | 2.1% | [View](url) |
|
|
```
|
|
|
|
### Step 4: Add Context and Insights
|
|
|
|
After presenting the data, provide:
|
|
- **Key Findings**: Highlight critical or urgent issues
|
|
- **Recommendations**: Suggest next steps (investigate, assign, prioritize)
|
|
- **Patterns**: Note any trends or correlations
|
|
|
|
Example:
|
|
```markdown
|
|
### Key Findings
|
|
- **Critical**: API timeout issue affecting 892 users with 3,421 events in the last hour
|
|
- **Warning**: Error rate in api-service is 2x higher than normal baseline
|
|
|
|
### Recommendations
|
|
1. Investigate API timeout issue (PROJ-456) immediately - high user impact
|
|
2. Check api-service deployment from 2 hours ago - coincides with error spike
|
|
3. Consider rollback if issue persists
|
|
```
|
|
|
|
## Response Guidelines
|
|
|
|
1. **Always include URLs**: Link to Sentry issues, projects, or events when available
|
|
2. **Show timestamps**: Use relative times (e.g., "2 mins ago", "1 hour ago")
|
|
3. **Highlight severity**: Use visual indicators (Critical, High, Low)
|
|
4. **Be concise**: Focus on actionable information
|
|
5. **Handle no results gracefully**: If no data matches the query, suggest alternatives
|
|
|
|
## Error Handling
|
|
|
|
If the Sentry MCP server is unavailable or returns errors:
|
|
```markdown
|
|
Unable to query Sentry environment
|
|
|
|
**Possible issues:**
|
|
- Sentry MCP server is not configured
|
|
- Authentication failed - check your Sentry credentials
|
|
- Network connectivity issues
|
|
|
|
**Next steps:**
|
|
1. Verify MCP server status: `/mcp`
|
|
2. Check Sentry authentication
|
|
3. Try your query again
|
|
```
|
|
|
|
## Tips for Users
|
|
|
|
- Be specific: Mention project names, time ranges, or severity levels
|
|
- Use natural language: "show me", "what are", "list all", "how many"
|
|
- Ask follow-up questions: Seer can help drill down into specific issues
|
|
- Request different formats: Ask for tables, summaries, or detailed views
|
|
|