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 des erreurs Sentry, les traces de pile et le contexte des problèmes pour le débogage.
- Suivre les problèmes de performance — Faites analyser par votre assistant les traces distribuées et les données de performance pour identifier les ralentissements.
- Rechercher en langage naturel — Utilisez la recherche assistée par IA pour interroger les erreurs, les traces, les journaux ou les problèmes en décrivant ce que vous cherchez en anglais simple.
- Trier et gérer les projets — Demandez à votre assistant d'inspecter la santé du projet, de passer en revue les affectations d'équipe ou de gérer la configuration au niveau du projet.
- Configurer pour Sentry auto-hébergé — Pointez le serveur MCP vers votre propre instance Sentry et ajustez les compétences activées (comme
inspectouseer).
Serveur MCP hébergé
npx add-mcp 'https://mcp.sentry.dev/mcp'S’installe dans Claude Code, Codex, Cursor et plus
Documentation
Sentry Toolkit
Ce dépôt contient le CLI Sentry, le serveur MCP Sentry et des packages partagés. Pour le CLI, consultez le guide CLI et la documentation publiée à https://cli.sentry.dev/. L'index de documentation couvre à la fois les produits et les conseils de contribution partagés.
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 des 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
Cela fournit un sous-agent sentry-mcp que 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 les 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 l'exécution du MCP à une installation Sentry auto-hébergée.
Remarque : Les outils de recherche basés sur l'IA (search_errors, search_traces, search_logs, 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 portées nécessaires. Au moment de la rédaction, c'est :
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 exemple --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.
Seer ne fait pas partie de Sentry auto-hébergé, donc la compétence seer est laissée de côté dans l'ensemble de compétences par défaut chaque fois que --host pointe vers un hôte non-sentry.io. Si votre déploiement auto-hébergé exécute Seer, réactivez-le explicitement :
npx @sentry/mcp-server@latest --access-token=TOKEN --host=sentry.example.com --skills=inspect,seer
Vous pouvez également désactiver toute autre compétence 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=project-management
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 d'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 pas, ne valide pas, n'échange pas et ne rafraîchit pas le jeton en amont. Il transmet le jeton via les mêmes appels API Sentry utilisés par les sessions basées sur 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 est par défaut activée pour toutes les compétences MCP actives. Vous pouvez réduire 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 (drops 'seer' from the default skills)
MCP_SKILLS= # Grant specific skills (comma-separated, e.g. 'inspect,seer')
MCP_DISABLE_SKILLS= # Disable specific skills (comma-separated, e.g. 'project-management')
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 version future. 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, le CLI cible automatiquement le service Sentry SaaS. Ne définissez la substitution que lorsque vous utilisez Sentry auto-hébergé.
Définir SENTRY_HOST sur un hôte auto-hébergé supprime également la compétence seer de l'ensemble par défaut, car Seer n'est pas disponible sur Sentry auto-hébergé. Pour un déploiement auto-hébergé qui exécute Seer, activez avec MCP_SKILLS :
{
"mcpServers": {
"sentry": {
"command": "npx",
"args": ["@sentry/mcp-server"],
"env": {
"SENTRY_ACCESS_TOKEN": "your-token",
"SENTRY_HOST": "sentry.example.com",
"MCP_SKILLS": "inspect,seer"
}
}
}
}
MCP Inspector
MCP inclut un Inspector, pour tester facilement le service :
pnpm inspector
Entrez 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 aux modifications, vous devrez configurer votre environnement local :
-
Configurez l'environnement et les compétences de l'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 symboliquement dans.claude/skillset.cursor/skills). Si vous devez mettre à jour les compétences plus tard, exécutez-le directement :npx @sentry/dotagents install -
Créez 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 ID client et générez un secret client
- URL de la page d'accueil :
-
Configurez 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émarrez 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, entrez http://localhost:5173/mcp dans Inspector et cliquez sur connecter. Une fois que vous suivez les invites, vous pourrez « Lister les outils ».
Tests
Trois suites de tests sont incluses : tests unitaires, évaluations et tests manuels.
Tests unitaires peuvent être exécutés avec :
pnpm test
É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
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 : Le CLI utilise par défaut http://localhost:5173. Remplacez avec --mcp-host ou définissez la variable d'environnement MCP_URL.
Playbooks de test complets :
- Tests Stdio : Consultez
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 Remote : Consultez
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 évolue encore et peut produire des faux positifs.
Les revues automatisées doivent être traitées comme :
- ✅ Suggestions utiles à considérer lors de la revue de code
- ✅ Points de départ pour la discussion et l'amélioration
- ❌ Exigences non bloquantes pour la fusion des PR
- ❌ Pas des remplacements pour 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 ? Commencez par l'index de documentation Toolkit
pour les guides CLI, MCP et partagés. Consultez AGENTS.md pour les règles du dépôt et
packages/cli/AGENTS.md pour les règles spécifiques au CLI.