Sentry MCP
offiziellOffizieller Sentry MCP-Server zur Untersuchung von Issues, Fehlerberichten, Traces und Performance-Monitoring-Daten von KI-Coding-Agenten.
Was kann man mit Sentry MCP machen?
- Fehler und Probleme untersuchen — Bitten Sie Ihren Assistenten, Sentry-Fehlerdetails, Stack-Traces und Problemkontext für das Debugging während Codierungssitzungen abzurufen.
- Leistungsprobleme nachverfolgen — Lassen Sie Ihren Assistenten verteilte Traces und Leistungsdaten analysieren, um langsame Transaktionen oder Engpässe zu identifizieren.
- Ereignisse mit natürlicher Sprache suchen — Verwenden Sie
search_events, damit Ihr Assistent einfache englische Abfragen in Sentrys Suchsyntax übersetzt, um relevante Ereignisse zu finden. - Probleme sichten und verwalten — Weisen Sie Ihren Assistenten an, den Problemstatus direkt aus Ihrem Codierungsworkflow zu überprüfen, zuzuweisen oder zu aktualisieren.
- Projekt- und Teaminformationen abfragen — Rufen Sie Sentry-Organisations-, Projekt- und Team-Metadaten ab, um Zuständigkeiten und Umfang beim Debugging zu verstehen.
Dokumentation
sentry-mcp
Sentrys MCP-Dienst ist in erster Linie für Coding-Agenten mit menschlicher Beteiligung (Human-in-the-Loop) konzipiert. Unsere Tool-Auswahl und Prioritäten konzentrieren sich auf Entwickler-Workflows und Debugging-Anwendungsfälle und nicht auf einen allgemeinen MCP-Server für die gesamte Sentry-Funktionalität.
Dieser Remote-MCP-Server fungiert als Middleware zur vorgelagerten Sentry-API und ist für Coding-Assistenten wie Cursor, Claude Code und ähnliche Entwicklungswerkzeuge optimiert. Er basiert auf Cloudflares Arbeit an Remote-MCPs.
Erste Schritte
Alles, was Sie wissen müssen, finden Sie, wenn Sie den bereitgestellten Dienst in Produktion besuchen:
Wenn Sie einen Beitrag leisten möchten, erfahren möchten, wie es funktioniert, oder dies für selbst gehostetes Sentry ausführen möchten, lesen Sie weiter unten.
Claude-Code-Plugin
Installieren Sie es als Claude-Code-Plugin für die automatische Subagenten-Delegation:
claude plugin marketplace add getsentry/sentry-mcp
claude plugin install sentry-mcp@sentry-mcp
Dies stellt einen sentry-mcp-Subagenten bereit, an den Claude automatisch delegiert, wenn Sie nach Sentry-Fehlern, Issues, Traces oder Performance fragen.
Für zukunftsorientierte Tool-Varianten und Funktionen:
claude plugin install sentry-mcp@sentry-mcp-experimental
Stdio vs. Remote
Während dieses Repository darauf ausgerichtet ist, als MCP-Dienst zu fungieren, unterstützen wir auch einen stdio-Transport. Dies ist noch in Arbeit, aber der einfachste Weg, das MCP gegen eine selbst gehostete Sentry-Installation auszuführen.
Hinweis: Die KI-gestützten Suchwerkzeuge (search_events, search_issues usw.) erfordern einen LLM-Anbieter (OpenAI, Azure OpenAI, Anthropic oder OpenRouter). Diese Werkzeuge verwenden Verarbeitung natürlicher Sprache, um Abfragen in Sentrys Abfragesyntax zu übersetzen. Ohne einen konfigurierten Anbieter sind diese spezifischen Werkzeuge nicht verfügbar, aber alle anderen Werkzeuge funktionieren normal.
Um den stdio-Transport zu nutzen, müssen Sie ein Benutzer-Authentifizierungstoken in Sentry mit den erforderlichen Berechtigungen erstellen. Zum Zeitpunkt der Erstellung dieses Dokuments sind dies:
org:read
project:read
project:write
team:read
team:write
event:write
Starten Sie den Transport:
npx @sentry/mcp-server@latest --access-token=sentry-user-token
Sie müssen sich mit einer selbst gehosteten Bereitstellung verbinden? Fügen Sie --host (nur Hostname, z. B. --host=sentry.example.com) hinzu, wenn Sie den Befehl ausführen. Fügen Sie für isolierte interne Bereitstellungen, die nur einfaches HTTP bereitstellen, außerdem --insecure-http hinzu.
Einige Funktionen (wie Seer) sind auf selbst gehosteten Instanzen möglicherweise nicht verfügbar. Sie können bestimmte Skills deaktivieren, um zu verhindern, dass nicht unterstützte Werkzeuge bereitgestellt werden:
npx @sentry/mcp-server@latest --access-token=TOKEN --host=sentry.example.com --disable-skills=seer
Für selbst gehostete Instanzen ohne TLS:
npx @sentry/mcp-server@latest --access-token=TOKEN --host=sentry.internal:9000 --insecure-http
Remote mit explizitem Sentry-Token
Remote-Clients, die benutzerdefinierte HTTP-Header unterstützen, können ein vorgelagertes Sentry-API-Token direkt an den Cloudflare-Transport übergeben:
{
"mcpServers": {
"sentry": {
"url": "https://mcp.sentry.dev/mcp",
"headers": {
"Authorization": "Sentry-Bearer ${SENTRY_ACCESS_TOKEN}"
}
}
}
}
Sentry-Bearer ist bewusst von Bearer getrennt: Bearer ist für MCP-OAuth-Zugriffstokens reserviert. Mit Sentry-Bearer speichert, validiert, tauscht oder aktualisiert der Worker das vorgelagerte Token nicht. Es leitet das Token über dieselben Sentry-API-Aufrufe weiter, die auch für OAuth-gestützte Sitzungen verwendet werden, und der Client oder der vorgelagerte Anbieter bleibt für die Token-Lebensdauer und -Aktualisierung verantwortlich.
Die direkte Remote-Authentifizierung verwendet standardmäßig alle aktiven MCP-Skills. Sie können die bereitgestellten Werkzeuge mit ?skills=inspect,triage oder ?disable-skills=seer eingrenzen.
Umgebungsvariablen
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')
Wichtig: Setzen Sie immer EMBEDDED_AGENT_PROVIDER, um Ihren LLM-Anbieter explizit anzugeben. Die automatische Erkennung allein anhand von API-Schlüsseln ist veraltet und wird in einer zukünftigen Version entfernt. Detaillierte Konfigurationsoptionen finden Sie in docs/operations/embedded-agents.md.
Beispiel-MCP-Konfiguration
{
"mcpServers": {
"sentry": {
"command": "npx",
"args": ["@sentry/mcp-server"],
"env": {
"SENTRY_ACCESS_TOKEN": "your-token",
"EMBEDDED_AGENT_PROVIDER": "openai",
"OPENAI_API_KEY": "sk-..."
}
}
}
}
Wenn Sie die Host-Variable nicht gesetzt lassen, zielt die CLI automatisch auf den Sentry-SaaS-Dienst. Setzen Sie die Überschreibung nur, wenn Sie selbst gehostetes Sentry betreiben.
Für selbst gehostete Instanzen, die Seer nicht unterstützen:
{
"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 enthält einen Inspector, um den Dienst einfach zu testen:
pnpm inspector
Geben Sie die MCP-Server-URL (http://localhost:5173) ein und klicken Sie auf Verbinden. Dies sollte den Authentifizierungsablauf für Sie auslösen.
Hinweis: Wenn Sie Probleme mit Ihrem OAuth-Ablauf haben, wenn Sie auf den Inspector unter 127.0.0.1 zugreifen, versuchen Sie stattdessen localhost zu verwenden, indem Sie http://localhost:6274 besuchen.
Lokale Entwicklung
Um Änderungen beizusteuern, müssen Sie Ihre lokale Umgebung einrichten:
-
Umgebung und Agenten-Skills einrichten:
make setup-env # Creates .env files and installs shared agent skillsDies führt auch
npx @sentry/dotagents installaus, um gemeinsame Skills aus getsentry/skills in.agents/skills/zu installieren (symbolisch verlinkt in.claude/skillsund.cursor/skills). Wenn Sie die Skills später aktualisieren müssen, führen Sie es direkt aus:npx @sentry/dotagents install -
Erstellen Sie eine OAuth-App in Sentry (Einstellungen => API => Anwendungen):
- Startseiten-URL:
http://localhost:5173 - Autorisierte Redirect-URIs:
http://localhost:5173/oauth/callback - Notieren Sie Ihre Client-ID und generieren Sie ein Client-Geheimnis
- Startseiten-URL:
-
Konfigurieren Sie Ihre Anmeldedaten:
- Bearbeiten Sie
.envim Stammverzeichnis und fügen Sie entwederOPENAI_API_KEYoderOPENROUTER_API_KEYhinzu - Bearbeiten Sie
packages/mcp-cloudflare/.envund fügen Sie hinzu:SENTRY_CLIENT_ID=your_development_sentry_client_idSENTRY_CLIENT_SECRET=your_development_sentry_client_secretCOOKIE_SECRET=my-super-secret-cookie
- Bearbeiten Sie
-
Starten Sie den Entwicklungsserver:
pnpm dev
Überprüfen
Führen Sie den Server lokal aus, um ihn unter http://localhost:5173 verfügbar zu machen:
pnpm dev
Um den lokalen Server zu testen, geben Sie http://localhost:5173/mcp in den Inspector ein und klicken Sie auf Verbinden. Sobald Sie den Aufforderungen folgen, können Sie „List Tools" verwenden.
Tests
Es sind drei Test-Suites enthalten: Unit-Tests, Evaluierungen und manuelle Tests.
Unit-Tests können wie folgt ausgeführt werden:
pnpm test
Evaluierungen erfordern eine .env-Datei im Projektstammverzeichnis mit einiger Konfiguration:
# .env (in project root)
OPENAI_API_KEY= # Use OpenAI-backed AI-powered tools
OPENROUTER_API_KEY= # Or use OpenRouter-backed AI-powered tools
Hinweis: Die Stammdatei .env stellt Standardwerte für alle Pakete bereit. Einzelne Pakete können ihre eigenen .env-Dateien haben, um diese Standardwerte während der Entwicklung zu überschreiben.
Sobald das erledigt ist, können Sie sie wie folgt ausführen:
pnpm eval
Manuelle Tests (bevorzugt zum Testen von MCP-Änderungen):
# 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"
Hinweis: Die CLI verwendet standardmäßig http://localhost:5173. Überschreiben Sie dies mit --mcp-host oder setzen Sie die Umgebungsvariable MCP_URL.
Umfassende Test-Playbooks:
- Stdio-Tests: Siehe
docs/testing/stdio.mdfür die vollständige Anleitung zum Erstellen, Ausführen und Testen der Stdio-Implementierung (IDEs, MCP Inspector) - Remote-Tests: Siehe
docs/testing/remote.mdfür die vollständige Anleitung zum Testen des Remote-Servers (OAuth, Web-UI, CLI-Client)
Entwicklungsnotizen
Automatisiertes Code-Review
Dieses Repository verwendet automatisierte Code-Review-Tools (wie Cursor BugBot), um potenzielle Probleme in Pull Requests zu identifizieren. Diese Tools bieten hilfreiches Feedback und Vorschläge, aber wir empfehlen nicht, diese Prüfungen als Pflicht zu machen, da die Genauigkeit sich noch weiterentwickelt und falsch-positive Ergebnisse erzeugen kann.
Die automatisierten Reviews sollten wie folgt behandelt werden:
- ✅ Hilfreiche Vorschläge, die während des Code-Reviews berücksichtigt werden sollten
- ✅ Ausgangspunkte für Diskussion und Verbesserung
- ❌ Keine blockierenden Anforderungen für das Zusammenführen von PRs
- ❌ Kein Ersatz für menschliches Code-Review
Wenn Sie automatisiertes Feedback bearbeiten, konzentrieren Sie sich auf die zugrunde liegenden Anliegen, anstatt strikt jedem Vorschlag zu folgen.
Dokumentation für Mitwirkende
Möchten Sie einen Beitrag leisten oder die vollständige Dokumentationsübersicht erkunden? Siehe CLAUDE.md (auch verfügbar als AGENTS.md) für Contributor-Workflows und den vollständigen Dokumentationsindex. Der Ordner docs/ enthält die themenbezogenen Anleitungen und tool-integrierten .md-Dateien.