Sentry MCP
Officialsentry-mcp
Der MCP-Dienst von Sentry ist in erster Linie für Coding-Agenten mit menschlicher Beteiligung (Human-in-the-loop) konzipiert. Unsere Werkzeugauswahl und Prioritäten konzentrieren sich auf Entwickler-Workflows und Debugging-Anwendungsfälle, anstatt einen universellen MCP-Server für alle Sentry-Funktionen bereitzustellen.
Dieser Remote-MCP-Server fungiert als Middleware für die vorgelagerte Sentry-API und ist für Coding-Assistenten wie Cursor, Claude Code und ähnliche Entwicklungstools optimiert. Er basiert auf Cloudflares Arbeit an Remote-MCPs.
Erste Schritte
Alles, was Sie wissen müssen, finden Sie auf dem bereitgestellten Dienst in der Produktion:
Wenn Sie einen Beitrag leisten, erfahren möchten, wie es funktioniert, oder dies für eine selbst gehostete Sentry-Instanz ausführen möchten, lesen Sie unten weiter.
Claude Code Plugin
Installieren Sie es als Claude Code-Plugin für die automatische Delegation an Unteragenten:
claude plugin marketplace add getsentry/sentry-mcp
claude plugin install sentry-mcp@sentry-mcpDies stellt einen sentry-mcp-Unteragenten 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-experimentalStdio vs. Remote
Obwohl sich dieses Repository darauf konzentriert, als MCP-Dienst zu fungieren, unterstützen wir auch einen stdio-Transport. Dies ist noch in Arbeit, ist aber der einfachste Weg, das MCP für eine selbst gehostete Sentry-Installation anzupassen.
Hinweis: Die KI-gestützten Suchwerkzeuge (search_events, search_issues usw.) erfordern einen LLM-Anbieter (OpenAI oder Anthropic). Diese Werkzeuge verwenden natürliche Sprachverarbeitung, um Abfragen in die Sentry-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 in Sentry ein Benutzer-Authentifizierungs-Token mit den erforderlichen Scopes erstellen. Zum Zeitpunkt der Erstellung dieses Dokuments ist dies:
org:read
project:read
project:write
team:read
team:write
event:writeStarten Sie den Transport:
npx @sentry/mcp-server@latest --access-token=sentry-user-tokenMüssen Sie eine Verbindung zu einer selbst gehosteten Bereitstellung herstellen? Fügen Sie --host (nur Hostname, z. B. --host=sentry.example.com) hinzu, wenn Sie den Befehl ausführen.
Einige Funktionen (wie Seer) sind auf selbst gehosteten Instanzen möglicherweise nicht verfügbar. Sie können bestimmte Fähigkeiten 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=seerUmgebungsvariablen
SENTRY_ACCESS_TOKEN= # Required: Your Sentry auth token
# LLM Provider Configuration (required for AI-powered search tools)
EMBEDDED_AGENT_PROVIDER= # Required: 'openai' or 'anthropic'
OPENAI_API_KEY= # Required if using OpenAI
ANTHROPIC_API_KEY= # Required if using Anthropic
# 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 auf Basis von API-Schlüsseln ist veraltet und wird in einer zukünftigen Version entfernt. Siehe docs/embedded-agents.md für detaillierte Konfigurationsoptionen.
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 setzen, zielt die CLI automatisch auf den Sentry SaaS-Dienst ab. Setzen Sie die Überschreibung nur, wenn Sie Sentry selbst hosten.
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 inspectorGeben 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 beim Zugriff auf den Inspector unter 127.0.0.1 haben, versuchen Sie es stattdessen mit localhost, indem Sie http://localhost:6274 aufrufen.
Related MCP server: Sentry MCP Server
Lokale Entwicklung
Um Änderungen beizusteuern, müssen Sie Ihre lokale Umgebung einrichten:
Umgebung und Agenten-Fähigkeiten einrichten:
make setup-env # Creates .env files and installs shared agent skillsDies führt auch
npx @sentry/dotagents installaus, um freigegebene Fähigkeiten von getsentry/skills in.agents/skills/zu installieren (symbolisch verknüpft mit.claude/skillsund.cursor/skills). Wenn Sie Fähigkeiten später aktualisieren müssen, führen Sie dies direkt aus:npx @sentry/dotagents installErstellen Sie eine OAuth-App in Sentry (Einstellungen => API => Anwendungen):
Homepage-URL:
http://localhost:5173Autorisierte Redirect-URIs:
http://localhost:5173/oauth/callbackNotieren Sie Ihre Client-ID und generieren Sie ein Client-Secret
Konfigurieren Sie Ihre Anmeldedaten:
Bearbeiten Sie
.envim Stammverzeichnis und fügen Sie IhrenOPENAI_API_KEYhinzuBearbeiten 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
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 devUm den lokalen Server zu testen, geben Sie http://localhost:5173/mcp in den Inspector ein und klicken Sie auf Verbinden. Sobald Sie den Anweisungen folgen, können Sie "List Tools" auswählen.
Tests
Es sind drei Testsuiten enthalten: Unit-Tests, Evaluierungen und manuelle Tests.
Unit-Tests können wie folgt ausgeführt werden:
pnpm testEvaluierungen erfordern eine .env-Datei im Projektstammverzeichnis mit etwas Konfiguration:
# .env (in project root)
OPENAI_API_KEY= # Also required for AI-powered search tools in productionHinweis: Die .env-Datei im Stammverzeichnis bietet Standardwerte für alle Pakete. Einzelne Pakete können ihre eigenen .env-Dateien haben, um diese Standardwerte während der Entwicklung zu überschreiben.
Sobald dies erledigt ist, können Sie sie wie folgt ausführen:
pnpm evalManuelle Tests (bevorzugt für das Testen von MCP-Änderungen):
# Test with local dev server (default: http://localhost:5173)
pnpm -w run cli "who am I?"
# Test agent mode (use_sentry tool only)
pnpm -w run cli --agent "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 eine vollständige Anleitung zum Erstellen, Ausführen und Testen der Stdio-Implementierung (IDEs, MCP Inspector)Remote-Tests: Siehe
docs/testing-remote.mdfür eine vollständige Anleitung zum Testen des Remote-Servers (OAuth, Web-UI, CLI-Client)
Entwicklungshinweise
Automatisierte Code-Überprüfung
Dieses Repository verwendet automatisierte Code-Überprüfungstools (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 erforderlich festzulegen, da die Genauigkeit sich noch entwickelt und zu falsch-positiven Ergebnissen führen kann.
Die automatisierten Überprüfungen sollten wie folgt behandelt werden:
✅ Hilfreiche Vorschläge, die während der Code-Überprüfung berücksichtigt werden sollten
✅ Ausgangspunkte für Diskussionen und Verbesserungen
❌ Keine blockierenden Anforderungen für das Zusammenführen von PRs
❌ Kein Ersatz für menschliche Code-Überprüfung
Konzentrieren Sie sich bei der Bearbeitung von automatisiertem Feedback auf die zugrunde liegenden Bedenken, anstatt jeden Vorschlag strikt zu befolgen.
Mitwirkenden-Dokumentation
Möchten Sie einen Beitrag leisten oder die vollständige Dokumentationsübersicht erkunden? Siehe CLAUDE.md (auch verfügbar als AGENTS.md) für Workflows für Mitwirkende und den vollständigen Dokumentationsindex. Der Ordner docs/ enthält die themenspezifischen Anleitungen und die in Werkzeuge integrierten .md-Dateien.
Available Tools
7 toolscreate_projectB
Create a new project in Sentry, giving you access to a new SENTRY_DSN.
Use this tool when you need to:
Create a new project in a Sentry organization
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The name of the project to create. Typically this is commonly the name of the repository or service. It is only used as a visual label in Sentry. | |
| organizationSlug | No | The organization's slug. This will default to the first org you have access to. | |
| platform | No | The platform for the project (e.g., python, javascript, react, etc.) | |
| teamSlug | Yes | The team's slug. This will default to the first team you have access to. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions the outcome ('giving you access to a new SENTRY_DSN') but doesn't disclose behavioral traits such as required permissions, rate limits, whether the operation is idempotent, or error handling. This is a significant gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with two sentences and a bullet point, front-loaded with the main purpose. It avoids redundancy, though the bullet point could be integrated more smoothly for better flow.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a mutation tool with no annotations and no output schema, the description is incomplete. It lacks details on behavioral aspects (e.g., permissions, side effects) and return values, leaving gaps for an AI agent to operate effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all 4 parameters. The description adds no parameter-specific information beyond what's in the schema, resulting in a baseline score of 3 as it doesn't compensate but doesn't detract either.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Create') and resource ('new project in Sentry'), specifying it provides access to a new SENTRY_DSN. However, it doesn't explicitly differentiate from sibling tools like 'create_team' beyond mentioning the resource type, missing a direct comparison.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a bullet point stating 'Use this tool when you need to: - Create a new project in a Sentry organization,' which implies context but lacks explicit guidance on when to use alternatives (e.g., 'list_projects' for viewing existing ones) or prerequisites like required permissions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_teamB
Create a new team in Sentry.
Use this tool when you need to:
Create a new team in a Sentry organization
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The name of the team to create. | |
| organizationSlug | No | The organization's slug. This will default to the first org you have access to. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states it 'creates' a new team. It lacks details on permissions required, whether the operation is idempotent, what happens on duplicate names, or error conditions. For a mutation tool with zero annotation coverage, this is insufficient behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded with the main purpose, followed by a usage guideline. Both sentences are relevant, though the second sentence could be more efficiently integrated. There's minimal waste, but it's not perfectly structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given this is a mutation tool with no annotations and no output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., team ID, success confirmation), error handling, or dependencies like required permissions. For a create operation, this leaves significant gaps for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters ('name' and 'organizationSlug') adequately. The description adds no additional parameter information beyond what's in the schema, meeting the baseline for high coverage but not enhancing understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create a new team') and resource ('in Sentry'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'create_project' beyond mentioning 'team' vs 'project', which is implicit but not explicit about when to choose one over the other.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a bullet point stating 'Use this tool when you need to: Create a new team in a Sentry organization', which gives basic context. However, it doesn't specify when NOT to use it or mention alternatives like 'list_teams' for checking existing teams, leaving some ambiguity about usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_error_detailsA
Retrieve error details from Sentry for a specific Issue ID, including the stacktrace and error message. Either issueId or issueUrl MUST be provided.
Use this tool when you need to:
Investigate a specific production error
Access detailed error information and stacktraces from Sentry
| Name | Required | Description | Default |
|---|---|---|---|
| issueId | No | The Issue ID. e.g. `PROJECT-1Z43` | |
| issueUrl | No | The URL of the issue to retrieve details for. | |
| organizationSlug | No | The organization's slug. This will default to the first org you have access to. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly indicates this is a read operation ('Retrieve'), which is helpful. However, it doesn't mention important behavioral aspects like authentication requirements, rate limits, error handling, or what happens when neither issueId nor issueUrl is provided despite stating one MUST be provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is perfectly structured with a clear purpose statement followed by a bulleted list of usage scenarios. Every sentence earns its place, with no redundant information. The constraint about required parameters is efficiently integrated into the first sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 3 parameters, no annotations, and no output schema, the description provides adequate but incomplete coverage. It clearly explains the purpose and usage scenarios, but lacks details about authentication, error responses, rate limits, and the format/structure of the returned error details. The absence of an output schema means the description should ideally provide more information about what the tool returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters thoroughly. The description adds the critical constraint that 'Either issueId or issueUrl MUST be provided,' which provides important semantic context beyond the schema. However, it doesn't explain the relationship between these parameters or provide additional context about the organizationSlug default behavior beyond what's in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Retrieve error details'), resource ('from Sentry'), and scope ('for a specific Issue ID'). It explicitly mentions what information is included ('stacktrace and error message'), distinguishing it from sibling tools like search_errors_in_file which appears to search rather than retrieve details for a specific issue.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage scenarios ('when you need to investigate a specific production error' and 'access detailed error information and stacktraces from Sentry'), giving good context for when to use this tool. However, it doesn't explicitly state when NOT to use it or directly compare it to alternatives like search_errors_in_file, which would be needed for a perfect score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_organizationsB
List all organizations that the user has access to in Sentry.
Use this tool when you need to:
View all organizations in Sentry
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions the scope ('all organizations that the user has access to'), which is useful, but lacks details on behavioral traits like pagination, rate limits, authentication needs, or response format. For a tool with zero annotation coverage, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the main purpose in the first sentence, followed by a bullet point for usage. It's efficient with minimal waste, though the bullet point could be integrated more seamlessly into the flow.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and 0 parameters, the description is adequate for a simple list tool but lacks completeness. It doesn't explain what the return value looks like (e.g., list of objects with fields) or any constraints, which could hinder agent effectiveness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add param info, which is appropriate here, but since there are no params, it doesn't compensate for any gaps. Baseline is 4 as per rules for 0 parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('List') and resource ('organizations'), specifying that it returns all organizations the user has access to in Sentry. It distinguishes from siblings like 'list_projects' and 'list_teams' by focusing on organizations, but doesn't explicitly contrast with them in the text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a usage scenario ('when you need to view all organizations in Sentry'), which gives implied context. However, it doesn't explicitly state when NOT to use this tool or name alternatives (e.g., when to use 'list_projects' instead), leaving some guidance gaps.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_projectsB
Retrieve a list of projects in Sentry.
Use this tool when you need to:
View all projects in a Sentry organization
| Name | Required | Description | Default |
|---|---|---|---|
| organizationSlug | No | The organization's slug. This will default to the first org you have access to. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. While it indicates this is a retrieval/read operation, it doesn't mention important behavioral aspects like pagination, rate limits, authentication requirements, or what happens when organizationSlug isn't provided. The description is insufficient for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately concise with two sentences that directly address purpose and usage. It's front-loaded with the core purpose and follows with specific usage scenarios. There's minimal wasted verbiage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations and no output schema, the description is incomplete. It doesn't explain what the return format looks like, whether results are paginated, or what authentication context is required. Given the lack of structured metadata, the description should provide more operational context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents the single parameter. The description doesn't add any additional semantic context about the parameter beyond what's in the schema. This meets the baseline expectation when schema coverage is high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Retrieve' and resource 'list of projects in Sentry', making the purpose unambiguous. However, it doesn't explicitly distinguish this tool from sibling tools like 'list_organizations' or 'list_teams' beyond mentioning projects specifically.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use this tool ('when you need to view all projects in a Sentry organization'), which is helpful. However, it doesn't mention when NOT to use it or provide alternatives for more specific project queries that might be needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_teamsA
List all teams in an organization in Sentry.
Use this tool when you need to:
View all teams in a Sentry organization
| Name | Required | Description | Default |
|---|---|---|---|
| organizationSlug | No | The organization's slug. This will default to the first org you have access to. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the basic action ('List all teams') without mentioning behavioral traits like pagination, rate limits, authentication needs, or what happens if no organization slug is provided (defaulting to the first org). This leaves significant gaps for a tool that likely interacts with an API.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded, with the core purpose stated first followed by concise usage guidelines in bullet points. Every sentence earns its place without redundancy, making it efficient and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (1 parameter, no output schema, no annotations), the description is minimally complete for a basic list operation. However, it lacks details on output format, error handling, or dependencies (e.g., needing an organization slug from 'list_organizations'), which could be helpful for an agent in this context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the parameter 'organizationSlug' clearly documented in the schema. The description doesn't add any parameter-specific information beyond what's in the schema, so it meets the baseline of 3 for high schema coverage without compensating value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('List') and resource ('all teams in an organization in Sentry'), making it immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'list_organizations' or 'list_projects' beyond the resource type, which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidelines with bullet points specifying when to use this tool ('View all teams in a Sentry organization'), which gives clear context. However, it doesn't mention when not to use it or name alternatives (e.g., using 'list_organizations' first to get the organization slug), so it falls short of a perfect score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_errors_in_fileA
Search for errors recently occurring in a specific file. This is a suffix based search, so only using the filename or the direct parent folder of the file. The parent folder is preferred when the filename is in a subfolder or a common filename.
Use this tool when you need to:
Search for production errors in a specific file
Analyze error patterns and frequencies
Find recent or frequently occurring errors.
| Name | Required | Description | Default |
|---|---|---|---|
| filename | Yes | The filename to search for errors in. | |
| organizationSlug | No | The organization's slug. This will default to the first org you have access to. | |
| sortBy | No | Sort the results either by the last time they occurred or the count of occurrences. | last_seen |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It adds valuable context about the search being 'suffix based' and preferring parent folders for subfolders/common filenames, which helps the agent understand how to structure queries. However, it doesn't mention rate limits, authentication needs, or pagination behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear opening sentence explaining the tool's function, followed by a usage guidelines section. It's appropriately sized and front-loaded, though the bulleted list could be slightly more concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (3 parameters, no output schema, no annotations), the description provides good contextual completeness. It explains the search behavior and usage scenarios well, though it could benefit from mentioning what the output looks like since there's no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema, maintaining the baseline score of 3 where the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('search for errors') and resources ('in a specific file'), and distinguishes it from siblings by focusing on file-based error searching rather than project/team management or general listing operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidelines with a bulleted list of when to use this tool ('search for production errors in a specific file', 'analyze error patterns', 'find recent/frequent errors'), though it doesn't explicitly state when not to use it or name alternatives among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Most tools have distinct purposes, such as create_project vs. list_projects, but get_error_details and search_errors_in_file could potentially overlap in error investigation scenarios, which might cause slight confusion. Overall, the boundaries are clear with only minor ambiguity.
All tools follow a consistent verb_noun naming pattern using snake_case, such as create_project, list_organizations, and search_errors_in_file. This uniformity makes the tool set predictable and easy to understand.
With 7 tools, the count is reasonable for a Sentry-focused server, covering core operations like project, team, and error management. However, it feels slightly thin as it lacks update or delete operations, which are common in such domains.
The tool set covers creation and listing for projects, teams, and organizations, plus error retrieval and search, but it has notable gaps. Missing update/delete tools for projects and teams, and no error resolution or comment features, limit full lifecycle coverage for Sentry's domain.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Enable secure connectivity between Sentry issues and debugging data, and LLM clients, using a Model Context Protocol (MCP) server.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
The Telnyx MCP server is an official implementation of the Model Context Protocol that enables AI clients (like Claude Desktop, Cursor, and OpenAI Agents) to interact with Telnyx's telephony, messaging, and AI assistant APIs. It provides comprehensive capabilities including making and managing phone calls, sending SMS/MMS messages, purchasing and configuring phone numbers, creating AI assistants with custom instructions, managing cloud storage buckets, scraping and embedding website content, and handling integration secrets. The server exists as both a local implementation and a remotely hosted version, allowing developers to integrate real-world communication infrastructure directly into AI applications.
A Model Context Protocol server for Wix AI tools
Related MCP Servers
- FlicenseBqualityDmaintenanceA Model Context Protocol server that retrieves and analyzes Sentry.io issues, allowing users to inspect error reports, stacktraces, and debugging information from their Sentry account.222
- FlicenseBqualityFmaintenanceA Model Context Protocol server that enables AI assistants to interact with Sentry for error tracking and monitoring, allowing retrieval and analysis of error data, project management, and performance monitoring through the Sentry API.1121
- FlicenseNot gradedqualityDmaintenanceA TypeScript implementation of a Model Context Protocol server that connects to Sentry error tracking service, allowing AI models to query and analyze error reports and events.31
- AlicenseNot gradedqualityDmaintenanceA TypeScript server that allows AI agents to access, retrieve, and analyze Sentry error data through the Modern Context Protocol.442MIT
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/getsentry/sentry-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server