Sentry MCP
officielServeur MCP officiel de Sentry pour enquêter sur les problèmes, les rapports d'erreurs, les traces et les données de surveillance des performances provenant des agents de codage IA.
Que pouvez-vous faire avec Sentry MCP ?
- Examiner les erreurs et les problèmes — Demandez à votre assistant de récupérer les détails d'erreur Sentry, les traces de pile et le contexte des problèmes pour déboguer pendant les sessions de codage.
- Suivre les problèmes de performance — Faites analyser par votre assistant les traces distribuées et les données de performance pour identifier les transactions lentes ou les goulots d'étranglement.
- Rechercher des événements en langage naturel — Utilisez
search_eventspour permettre à votre assistant de traduire des requêtes en anglais simple vers la syntaxe de recherche de Sentry afin de trouver les événements pertinents. - Trier et gérer les problèmes — Demandez à votre assistant de consulter, d'assigner ou de mettre à jour le statut des problèmes directement depuis votre flux de travail de codage.
- Interroger les informations sur les projets et les équipes — Récupérez les métadonnées d'organisation, de projet et d'équipe Sentry pour comprendre la propriété et la portée pendant le débogage.
Documentation
sentry-mcp
Le service MCP de Sentry est principalement conçu pour les agents de codage avec intervention humaine. Notre sélection d'outils et nos priorités sont axées sur les flux de travail des développeurs et les cas d'utilisation de débogage, plutôt que de fournir un serveur MCP généraliste pour toutes les fonctionnalités de Sentry.
Ce serveur MCP distant agit comme un intermédiaire vers l'API Sentry en amont, optimisé pour les assistants de codage comme Cursor, Claude Code et autres outils de développement similaires. Il est basé sur le travail de Cloudflare vers les MCP distants.
Pour commencer
Vous trouverez tout ce que vous devez savoir en visitant le service déployé en production :
Si vous souhaitez contribuer, comprendre son fonctionnement ou l'exécuter pour Sentry auto-hébergé, continuez ci-dessous.
Plugin Claude Code
Installez-le comme plugin Claude Code pour la délégation automatique de sous-agents :
claude plugin marketplace add getsentry/sentry-mcp
claude plugin install sentry-mcp@sentry-mcp
Ceci fournit un sous-agent sentry-mcp auquel Claude délègue automatiquement lorsque vous posez des questions sur les erreurs, les problèmes, les traces ou les performances de Sentry.
Pour les variantes d'outils et fonctionnalités tournées vers l'avenir :
claude plugin install sentry-mcp@sentry-mcp-experimental
Stdio vs Remote
Bien que ce dépôt soit axé sur le rôle de service MCP, nous prenons également en charge un transport stdio. C'est encore un travail en cours, mais c'est le moyen le plus simple d'adapter et d'exécuter le MCP contre une installation Sentry auto-hébergée.
Remarque : Les outils de recherche basés sur l'IA (search_events, search_issues, etc.) nécessitent un fournisseur LLM (OpenAI, Azure OpenAI, Anthropic ou OpenRouter). Ces outils utilisent le traitement du langage naturel pour traduire les requêtes dans la syntaxe de requête de Sentry. Sans fournisseur configuré, ces outils spécifiques seront indisponibles, mais tous les autres outils fonctionneront normalement.
Pour utiliser le transport stdio, vous devrez créer un jeton d'authentification utilisateur dans Sentry avec les scopes nécessaires. Au moment de la rédaction, voici ces scopes :
org:read
project:read
project:write
team:read
team:write
event:write
Lancez le transport :
npx @sentry/mcp-server@latest --access-token=sentry-user-token
Besoin de vous connecter à un déploiement auto-hébergé ? Ajoutez --host (nom d'hôte uniquement, par ex. --host=sentry.example.com) lorsque vous exécutez la commande. Pour les déploiements internes isolés qui n'exposent que du HTTP simple, ajoutez également --insecure-http.
Certaines fonctionnalités (comme Seer) peuvent ne pas être disponibles sur les instances auto-hébergées. Vous pouvez désactiver des compétences spécifiques pour empêcher l'exposition d'outils non pris en charge :
npx @sentry/mcp-server@latest --access-token=TOKEN --host=sentry.example.com --disable-skills=seer
Pour les instances auto-hébergées sans TLS :
npx @sentry/mcp-server@latest --access-token=TOKEN --host=sentry.internal:9000 --insecure-http
Remote avec un jeton Sentry explicite
Les clients distants qui prennent en charge les en-têtes HTTP personnalisés peuvent transmettre un jeton API Sentry en amont directement au transport Cloudflare :
{
"mcpServers": {
"sentry": {
"url": "https://mcp.sentry.dev/mcp",
"headers": {
"Authorization": "Sentry-Bearer ${SENTRY_ACCESS_TOKEN}"
}
}
}
}
Sentry-Bearer est intentionnellement séparé de Bearer : Bearer est réservé aux jetons d'accès OAuth MCP. Avec Sentry-Bearer, le worker ne stocke, ne valide, n'échange ni ne rafraîchit le jeton en amont. Il transmet le jeton via les mêmes appels API Sentry utilisés pour les sessions authentifiées par OAuth, et le client ou le fournisseur en amont reste responsable de la durée de vie et du rafraîchissement du jeton.
L'authentification distante directe active par défaut toutes les compétences MCP actives. Vous pouvez restreindre les outils exposés avec ?skills=inspect,triage ou ?disable-skills=seer.
Variables d'environnement
SENTRY_ACCESS_TOKEN= # Required: Your Sentry auth token
# LLM Provider Configuration (required for AI-powered search tools)
EMBEDDED_AGENT_PROVIDER= # Required when multiple provider keys are set: 'openai', 'azure-openai', 'anthropic', or 'openrouter'
OPENAI_API_KEY= # Required if using OpenAI
ANTHROPIC_API_KEY= # Required if using Anthropic
OPENROUTER_API_KEY= # Required if using OpenRouter
OPENROUTER_MODEL= # Optional OpenRouter model, defaults to 'openai/gpt-5.6-luna'
OPENROUTER_REASONING_EFFORT= # Optional OpenRouter reasoning effort, defaults to 'high'
# Optional overrides
SENTRY_HOST= # For self-hosted deployments
MCP_DISABLE_SKILLS= # Disable specific skills (comma-separated, e.g. 'seer')
Important : Définissez toujours EMBEDDED_AGENT_PROVIDER pour spécifier explicitement votre fournisseur LLM. La détection automatique basée uniquement sur les clés API est obsolète et sera supprimée dans une prochaine version. Consultez docs/operations/embedded-agents.md pour les options de configuration détaillées.
Exemple de configuration MCP
{
"mcpServers": {
"sentry": {
"command": "npx",
"args": ["@sentry/mcp-server"],
"env": {
"SENTRY_ACCESS_TOKEN": "your-token",
"EMBEDDED_AGENT_PROVIDER": "openai",
"OPENAI_API_KEY": "sk-..."
}
}
}
}
Si vous laissez la variable d'hôte non définie, la CLI cible automatiquement le service SaaS Sentry. Ne définissez la valeur de remplacement que lorsque vous opérez un Sentry auto-hébergé.
Pour les instances auto-hébergées qui ne prennent pas en charge Seer :
{
"mcpServers": {
"sentry": {
"command": "npx",
"args": ["@sentry/mcp-server"],
"env": {
"SENTRY_ACCESS_TOKEN": "your-token",
"SENTRY_HOST": "sentry.example.com",
"MCP_DISABLE_SKILLS": "seer"
}
}
}
}
MCP Inspector
MCP inclut un Inspector pour tester facilement le service :
pnpm inspector
Saisissez l'URL du serveur MCP (http://localhost:5173) et cliquez sur connecter. Cela devrait déclencher le flux d'authentification pour vous.
Remarque : Si vous rencontrez des problèmes avec votre flux OAuth lors de l'accès à l'inspecteur sur 127.0.0.1, essayez d'utiliser localhost à la place en visitant http://localhost:6274.
Développement local
Pour contribuer des modifications, vous devrez configurer votre environnement local :
-
Configurer l'environnement et les compétences d'agent :
make setup-env # Creates .env files and installs shared agent skillsCela exécute également
npx @sentry/dotagents installpour installer les compétences partagées depuis getsentry/skills dans.agents/skills/(liées en symlink dans.claude/skillset.cursor/skills). Si vous devez mettre à jour les compétences plus tard, exécutez-le directement :npx @sentry/dotagents install -
Créer une application OAuth dans Sentry (Paramètres => API => Applications) :
- URL de la page d'accueil :
http://localhost:5173 - URI de redirection autorisés :
http://localhost:5173/oauth/callback - Notez votre identifiant client et générez un secret client
- URL de la page d'accueil :
-
Configurer vos identifiants :
- Modifiez
.envdans le répertoire racine et ajoutez soitOPENAI_API_KEYsoitOPENROUTER_API_KEY - Modifiez
packages/mcp-cloudflare/.envet ajoutez :SENTRY_CLIENT_ID=your_development_sentry_client_idSENTRY_CLIENT_SECRET=your_development_sentry_client_secretCOOKIE_SECRET=my-super-secret-cookie
- Modifiez
-
Démarrer le serveur de développement :
pnpm dev
Vérification
Exécutez le serveur localement pour le rendre disponible à http://localhost:5173
pnpm dev
Pour tester le serveur local, saisissez http://localhost:5173/mcp dans Inspector et cliquez sur connecter. Une fois que vous avez suivi les invites, vous pourrez « Lister les outils ».
Tests
Il y a trois suites de tests incluses : les tests unitaires, les évaluations et les tests manuels.
Les tests unitaires peuvent être exécutés avec :
pnpm test
Les évaluations nécessitent un fichier .env à la racine du projet avec une certaine configuration :
# .env (in project root)
OPENAI_API_KEY= # Use OpenAI-backed AI-powered tools
OPENROUTER_API_KEY= # Or use OpenRouter-backed AI-powered tools
Remarque : Le fichier .env racine fournit les valeurs par défaut pour tous les packages. Chaque package peut avoir ses propres fichiers .env pour remplacer ces valeurs par défaut pendant le développement.
Une fois cela fait, vous pouvez les exécuter avec :
pnpm eval
Les tests manuels (préférés pour tester les modifications MCP) :
# Test with local dev server (default: http://localhost:5173)
pnpm -w run cli "who am I?"
# Test against production
pnpm -w run cli --mcp-host=https://mcp.sentry.dev "query"
# Test with local stdio mode (requires SENTRY_ACCESS_TOKEN)
pnpm -w run cli --access-token=TOKEN "query"
Remarque : La CLI utilise par défaut http://localhost:5173. Remplacez avec --mcp-host ou définissez la variable d'environnement MCP_URL.
Playbooks de tests complets :
- Tests Stdio : Voir
docs/testing/stdio.mdpour le guide complet sur la construction, l'exécution et le test de l'implémentation stdio (IDE, MCP Inspector) - Tests distants : Voir
docs/testing/remote.mdpour le guide complet sur le test du serveur distant (OAuth, interface web, client CLI)
Notes de développement
Revue de code automatisée
Ce dépôt utilise des outils de revue de code automatisés (comme Cursor BugBot) pour aider à identifier les problèmes potentiels dans les demandes de tirage. Ces outils fournissent des retours et des suggestions utiles, mais nous ne recommandons pas de rendre ces vérifications obligatoires, car la précision est encore en évolution et peut produire des faux positifs.
Les revues automatisées doivent être traitées comme :
- ✅ Des suggestions utiles à considérer lors de la revue de code
- ✅ Des points de départ pour la discussion et l'amélioration
- ❌ Non bloquantes pour la fusion des PR
- ❌ Non des remplacements de la revue de code humaine
Lorsque vous traitez les retours automatisés, concentrez-vous sur les préoccupations sous-jacentes plutôt que de suivre strictement chaque suggestion.
Documentation pour les contributeurs
Vous souhaitez contribuer ou explorer la carte complète de la documentation ? Voir CLAUDE.md (également disponible sous AGENTS.md) pour les flux de travail des contributeurs et l'index complet des documents. Le dossier docs/ contient les guides par sujet et les fichiers .md intégrés aux outils.