Model Context Protocol server for Sentry error tracking and issue management
Server has 9 tools with basic schemas and descriptions, but significant gaps limit production readiness. Tool names follow verb_noun convention (search_issues, get_issue_details, update_issue), which is good. However, descriptions are generic (avg ~60 chars, well below the 194-char baseline for A+ tools). Most critically: parameter descriptions are sparse or missing entirely. For example, search_issues has 4 params but only 2-3 have meaningful descriptions; sortBy enum is documented but query and organizationSlug lack context. The use_sentry tool is particularly problematic, it's a meta-tool that delegates to an embedded agent, making it opaque to the calling LLM and violating single-responsibility principle. Output schemas are not documented anywhere in the provided code. Error handling is absent, no recovery guidance, no categorization of retryable vs fatal errors. The server does expose authentication (via Sentry API tokens) but no evidence of secret injection patterns. Overall, this is a functional but immature implementation.
Discover available Sentry organizations
Discover available Sentry projects within an organization
Retrieve detailed information about a specific Sentry issue
Search for events within Sentry issues
Search for events within a specific Sentry issue
Search for Sentry issues with filtering and sorting capabilities
Update the status or properties of a Sentry issue
use_sentry tool violates single-responsibility principle. It's a meta-tool that delegates to an embedded agent with only a 'goal' parameter. This makes the tool opaque to the calling LLM, it cannot predict what side effects will occur, cannot compose it with other tools reliably, and cannot recover from failures inside the delegated agent.
Parameter descriptions are missing or minimal across all tools. For example, search_issues has 'query' with no description of expected format (free text? Sentry query syntax?), and organizationSlug lacks context on how to obtain it. LLMs cannot infer parameter meaning from names alone.
Output schemas are not documented. The provided code shows input schemas in mcp.json but no return type documentation. LLMs cannot plan downstream tool calls or extract required fields (e.g., does search_issues return issue_id for use in get_issue_details?).
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | <=2025-11-25 | v2 |
Embedded agent tool for autonomous Sentry operations with constrained parameters
Get information about the authenticated user and their permissions
No error handling or recovery guidance. Tools have no documented error responses, retryability, or actionable error messages. An LLM receiving a 404 or 401 has no guidance on what to do next.
update_issue tool modifies state but description does not explicitly state this. LLMs need to know which calls are safe to retry and which have irreversible consequences. Description should say 'Updates the status of a Sentry issue (irreversible operation).'