Bugsnag MCP Server
Provides tools for interacting with Bugsnag's error monitoring and issue management platform, enabling investigation of errors, viewing stacktraces, searching issues, and managing projects.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Bugsnag MCP ServerList my Bugsnag organizations"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Bugsnag MCP Server
A Model Context Protocol (MCP) server for interacting with Bugsnag. This server allows LLM tools like Cursor and Claude to investigate and resolve issues in Bugsnag.
✨ Features
Error Monitoring & Analysis
Organization & Project Navigation: Easily browse your Bugsnag hierarchy
Error & Event Filtering: Find specific issues with powerful filtering options
Detailed Stacktrace Viewing: See formatted stacktraces with source code context and highlighted error lines
Exception Chain Visualization: Understand the root cause by viewing the full exception chain
Code Intelligence
Project vs. Library Code Distinction: Clearly identify your code vs third-party libraries
Source Code Context: View relevant code snippets around error locations
Error Patterns: Identify recurring patterns across multiple errors
Issue Management
Search Capabilities: Find issues by error class, message, or app version
Error Details: Get comprehensive information about each error
Event History: View all occurrences of a specific error
Related MCP server: Bugsink MCP Server
🚀 Quick Setup
Setting up the Bugsnag MCP server is simple and doesn't require any installation or downloading source code.
For Cursor
Add the Bugsnag MCP server configuration:
{ "mcpServers": { "bugsnag": { "command": "npx", "args": ["-y", "bugsnag-mcp-server"], "env": { "BUGSNAG_API_KEY": "your-bugsnag-api-key" }, "disabled": false, "alwaysAllow": [] } } }Replace
your-bugsnag-api-keywith your Bugsnag API key
For Claude Desktop
Add the Bugsnag MCP server configuration:
{ "mcpServers": { "bugsnag": { "command": "npx", "args": ["-y", "bugsnag-mcp-server"], "env": { "BUGSNAG_API_KEY": "your-bugsnag-api-key" }, "disabled": false, "alwaysAllow": [] } } }Replace
your-bugsnag-api-keywith your Bugsnag API key
🔑 Obtaining a Bugsnag API Key
To use this MCP server, you'll need a Bugsnag API key:
Log in to your Bugsnag account at https://app.bugsnag.com/
Go to Settings > Organization settings > Access tokens
Create a new personal access token with the following permissions:
Read projects
Read and write errors
Read and write comments
Copy the generated token for use with the MCP server
📋 Usage Examples
Once configured, you can use the Bugsnag MCP server with your LLM tool. Here are some example prompts:
Exploring Your Bugsnag Account
List all my Bugsnag organizationsShow me all projects in organization "org_12345"Finding and Analyzing Errors
List the open errors in my Bugsnag project "project_12345"Show me the details for Bugsnag error ID "error_12345"Show me the detailed stacktrace for event "event_12345" in project "project_12345"View the exception chain for event "event_12345" in project "project_12345"Searching for Specific Issues
Search for Bugsnag issues in project "project_12345" related to "NullPointerException"List all events for error "error_12345" in project "project_12345"📚 Available Tools
The Bugsnag MCP server provides the following tools:
Organization & Project Management
list_organizations
Lists available Bugsnag organizations.
Parameters:
None required
list_projects
Lists projects in an organization.
Parameters:
organization_id(required): Bugsnag organization ID
Error & Event Management
list_errors
Lists errors in a project with filtering options.
Parameters:
project_id(required): Bugsnag project IDstatus: Filter by error status ("open", "fixed", "ignored")sort: Sort order for errors ("newest", "oldest", "priority")limit: Maximum number of errors to return
view_error
Gets detailed information about a specific error.
Parameters:
error_id(required): Bugsnag error ID
list_error_events
Lists events (occurrences) for a specific error.
Parameters:
project_id(required): Bugsnag project IDerror_id(required): Bugsnag error IDlimit: Maximum number of events to return
view_latest_event
Views the latest event for an error.
Parameters:
error_id(required): Bugsnag error ID
view_event
Views detailed information about a specific event.
Parameters:
project_id(required): Bugsnag project IDevent_id(required): Bugsnag event ID
Stacktrace Analysis
view_stacktrace
Extracts and formats stacktrace information from an event.
Parameters:
project_id(required): Bugsnag project IDevent_id(required): Bugsnag event IDinclude_code: Include source code context if available (default: true)
view_exception_chain
Views the full chain of exceptions for an event.
Parameters:
project_id(required): Bugsnag project IDevent_id(required): Bugsnag event ID
Issue Management
search_issues
Searches for issues using various criteria.
Parameters:
project_id(required): Bugsnag project IDquery: Search queryerror_class: Filter by error classapp_version: Filter by app version
🛠️ Advanced Usage
Testing Your API Key
You can test if your Bugsnag API key is valid using:
npx bugsnag-mcp-server test-api-key your-bugsnag-api-keyIf your API key is valid, this will display a list of your Bugsnag projects with their IDs.
Installation Options
While using npx is recommended for most users, you can also install the package globally if you prefer:
npm install -g bugsnag-mcp-serverFor Developers
If you're interested in contributing or modifying the code:
Clone the repository:
git clone https://github.com/yourusername/bugsnag-mcp.git cd bugsnag-mcpInstall dependencies:
npm installBuild the project:
npm run buildRun tests:
npm testRun tests with coverage:
npm run test:coverageFormat code:
npm run formatCheck code formatting:
npm run format:checkContinuous Integration
This project uses GitHub Actions for continuous integration. The workflows automatically:
Runs on push to the main branch and on pull requests
Tests against multiple Node.js versions (18.x and 20.x)
Runs the test suite
Generates and uploads test coverage reports
Checks code formatting with Prettier
You can view the workflow configurations in:
.github/workflows/test.yml- For running tests.github/workflows/prettier.yml- For checking code formatting
License
MIT
Available Tools
11 toolslist_error_eventsA
List events (occurrences) for a specific error
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of events to return | |
| error_id | Yes | Bugsnag error ID | |
| project_id | Yes | Bugsnag project ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden of behavioral disclosure. It only clarifies that events are occurrences, but does not mention pagination, ordering, response format, or any other runtime behavior. For a read-only list operation, this leaves the agent without important context such as whether results are paginated or ordered.
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 a single, front-loaded sentence that avoids unnecessary words. It is concise and clearly structured, making it easy for an agent to quickly grasp the tool's purpose.
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 simple nature of the tool and full schema coverage for inputs, the description is adequate but not complete. With no output schema, it does not describe the return format or pagination behavior, and it omits any usage guidelines beyond the core purpose. Overall, it is minimally viable but lacks richer 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 provides descriptions for all three parameters, achieving 100% coverage. The description itself adds no additional parameter semantics beyond what the schema already provides, so the baseline score of 3 is appropriate.
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 'List events (occurrences) for a specific error' uses a specific verb (List), identifies the resource (events/occurrences), and scopes it to a specific error. This clearly distinguishes it from sibling tools like list_errors (lists errors) and view_event (views a single event).
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 implies this tool is used when you need event occurrences for a given error, but it does not explicitly state when to prefer this over alternatives like list_errors or view_event, nor does it mention any exclusions. The usage context is clear from the wording but not fully elaborated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_errorsC
List errors in a project with filtering options
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort order for errors | |
| limit | No | Maximum number of errors to return | |
| status | No | Filter by error status | |
| project_id | Yes | Bugsnag project ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It simply says 'list errors' without disclosing behavioral traits such as read-only safety, pagination limits, default sorting, or authentication requirements. The description adds little beyond the tool's name.
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 a single concise sentence with no redundant information. It is front-loaded with the core function and is appropriately sized for a simple list operation.
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 absence of an output schema and annotations, the description is incomplete. It does not explain the return format, pagination behavior, default limit, or how filtering interacts with sorting. For a list tool with four parameters, more context is needed to ensure correct invocation and interpretation of results.
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 provides descriptions for all four parameters, resulting in 100% schema description coverage. The description's phrase 'filtering options' adds no additional meaning beyond the schema's documented sort, limit, and status parameters. Baseline of 3 is appropriate as the schema already handles parameter semantics.
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 (list), resource (errors), and scope (in a project), and mentions filtering options. However, it does not explicitly distinguish from siblings like search_issues or list_error_events, so it is clear but not maximally differentiating.
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?
No guidance is provided on when to use this tool versus alternatives. The description only states the basic function without any context, exclusions, or alternative tool references. It does not mention when to choose list_errors over search_issues or list_error_events.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_organizationsA
List available Bugsnag organizations
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description implies a read-only operation but provides no explicit behavioral details such as authentication requirements, pagination, or data scope. With no annotations, the description carries the full burden, yet it only states the action.
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 a single concise sentence with no wasted words. It is front-loaded with the action and resource.
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?
While the tool is simple with no parameters and no output schema, the description lacks details about response format, pagination, or whether it lists all organizations or only user-accessible ones. It is minimally sufficient but leaves room for clarification.
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 tool has zero parameters, and the schema coverage is effectively complete (empty schema). The description does not need to explain parameters, so a baseline of 4 is appropriate.
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 lists organizations in Bugsnag, using a specific verb and resource. It distinguishes from siblings like list_projects and list_errors by the resource type.
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?
No guidance is provided on when to use this tool versus alternatives, such as list_projects or search_issues. It does not mention any exclusions or preferred contexts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_projectsA
List projects in an organization
| Name | Required | Description | Default |
|---|---|---|---|
| organization_id | Yes | Bugsnag organization ID |
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. The verb 'list' implies a read-only operation, but the description does not disclose any behavioral traits such as pagination, response format, or authentication requirements. It is adequate but minimal.
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 a single concise sentence ('List projects in an organization') with no wasted words. It is front-loaded and immediately informative.
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 simple one-parameter list tool, the description is mostly sufficient, but it lacks context about how the returned data is structured or how one might use the organization_id. There is no output schema, and no mention of whether the result is an array of project objects or if there are limit/pagination considerations.
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 only parameter, organization_id, is already described in the schema as 'Bugsnag organization ID' with 100% coverage. The description adds no additional meaning beyond this, so the schema carries the burden. Baseline 3 applies.
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 uses a specific verb 'list' with a clear resource 'projects', scoped by 'in an organization'. This clearly distinguishes it from sibling tools like list_organizations (which lists organizations) and list_errors (which lists errors), so the purpose is unambiguous.
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?
There is no guidance on when to use this tool versus alternatives. For instance, it doesn't mention that an organization_id would come from list_organizations, nor does it state any prerequisites. The usage is only implied by the name and description, not explicitly explained.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_issuesC
Search for issues using various criteria
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Search query | |
| project_id | Yes | Bugsnag project ID | |
| app_version | No | Filter by app version | |
| error_class | No | Filter by error class |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits but only restates the function. It doesn't mention return format, pagination, sorting, how criteria combine, or whether it searches within a project. This is a significant gap for a search 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 a single, front-loaded sentence with no wasted words. However, the brevity sacrifices useful detail, making it concise but not optimally informative.
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 complexity (4 parameters, no output schema, no annotations) and the presence of overlapping siblings, the description is too minimal. It fails to explain what 'issues' are, how the search behaves, or what the result set looks like, leaving significant gaps for an 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% with each parameter having a minimal description (e.g., 'Filter by app version'). The description adds only 'various criteria' and doesn't expand on parameter behavior, so it meets the baseline of 3 but adds no extra 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 uses the specific verb 'search' with resource 'issues', but 'various criteria' is vague and doesn't enumerate what those criteria are. It does not distinguish itself from the sibling tool list_errors, which may also return issues. A clear but under-specified purpose.
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?
No guidance is given on when to use this tool versus alternatives like list_errors or view_error. There is no mention of when to prefer search_issues over list_errors or vice versa, leaving the agent without clear selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
view_errorB
Get detailed information about a specific error
| Name | Required | Description | Default |
|---|---|---|---|
| error_id | Yes | Bugsnag error ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full transparency burden. It only says 'Get detailed information' without describing what information is returned, required permissions, or potential side effects, leaving the agent with limited behavioral context.
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 a single, front-loaded sentence with no unnecessary words. It clearly states the action and object, making it easy to parse.
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 simple one-parameter tool without an output schema, the description is adequate for selection and invocation. However, 'detailed information' is vague about the actual return value; without an output schema, more specificity about what details are returned would improve completeness.
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 fully documents the single error_id parameter with a clear description ('Bugsnag error ID') at 100% coverage. The tool description adds no additional meaning beyond that, matching the baseline for complete schema coverage.
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 uses a specific verb ('Get') and resource ('detailed information about a specific error'), distinguishing it from sibling tools like list_errors and view_event. The 'specific' qualifier makes it clear this targets a single error by ID.
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?
No usage guidance is provided. The description does not state when to prefer this tool over alternatives like view_event or view_latest_event, nor does it mention any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
view_eventA
View detailed information about a specific event
| Name | Required | Description | Default |
|---|---|---|---|
| event_id | Yes | Bugsnag event ID | |
| project_id | Yes | Bugsnag project ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It indicates a read-only operation ('view') but does not disclose any additional behavioral traits such as required permissions, output format, or error behavior. For a simple view-by-ID tool, this is minimally adequate but lacks depth.
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 a single sentence with no wasted words, directly conveying the core purpose. It is concise and well-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?
As a simple 'get by ID' tool, the description covers the basic purpose. However, without an output schema or annotations, it does not clarify what 'detailed information' includes or how it differs from related views like view_error or view_exception_chain. It is adequate but could be more informative.
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 schema already provides full documentation for both parameters (event_id and project_id) with clear descriptions. The tool description adds no extra meaning beyond the schema, so a baseline score of 3 is appropriate given the 100% schema coverage.
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 function: viewing detailed information about a specific event. This distinguishes it from sibling tools like view_latest_event (which targets the most recent event) and list_error_events (which lists events).
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 implies usage when a user has a specific event ID and wants its details, but it does not explicitly mention when to use this tool over alternatives or when not to use it. No exclusions or comparisons to sibling tools are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
view_exception_chainB
View the full chain of exceptions for an event
| Name | Required | Description | Default |
|---|---|---|---|
| event_id | Yes | Bugsnag event ID | |
| project_id | Yes | Bugsnag project ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses no behavioral traits beyond the read-only nature implied by 'View'. It does not explain whether the chain is exhaustive, how it is ordered, or any performance characteristics.
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 a single sentence, front-loaded with the verb, and contains no redundant information. It is concise and well-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?
For a simple two-parameter read tool, the description conveys the core purpose. However, it lacks output format details (e.g., list vs. tree, inclusion of stack traces) and with no output schema, this leaves some ambiguity for the 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?
The input schema already fully describes both parameters with clear descriptions ('Bugsnag event ID', 'Bugsnag project ID'). The tool description adds no additional parameter-specific semantics, so the baseline of 3 is appropriate.
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 ('View') and resource ('full chain of exceptions') scoped to an event. This distinguishes it from siblings like view_stacktrace and view_error, which focus on different aspects of an error/event.
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?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, exclusions, or comparison to sibling tools like view_stacktrace or view_event.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
view_latest_eventC
View the latest event for an error
| Name | Required | Description | Default |
|---|---|---|---|
| error_id | Yes | Bugsnag error ID | |
| include_full_details | No | Include all event details (may exceed token limits). Default: false for efficiency. |
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 without disclosing how 'latest' is determined, what data is returned, or the impact of include_full_details on token limits or response size. This leaves the agent without essential behavioral context.
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 extremely concise at six words, with the key verb and object front-loaded. It earns its place but is arguably too brief, providing no contextual or behavioral details, which prevents a score of 5.
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?
This is a simple tool with two parameters and no output schema, so the description is minimally viable. However, it lacks context about how the latest event is selected and how this relates to sibling tools, leaving some gaps for an agent deciding whether to invoke it.
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 baseline is 3. The parameters are fully described in the schema (error_id as Bugsnag error ID, include_full_details with default and token-limit warning). The description adds no additional parameter semantics beyond what the schema already provides.
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 uses a specific verb ('view') + resource ('latest event') + scope ('for an error'), clearly indicating what the tool does. It is distinguishable from siblings like list_error_events and view_event by focusing on the latest event, though it does not explicitly differentiate itself.
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 no guidance on when to use this tool versus alternatives such as view_event or list_error_events. There is no mention of prerequisites, typical use cases, or scenarios where a sibling might be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
view_stacktraceC
Extract and format stacktrace information from an event
| Name | Required | Description | Default |
|---|---|---|---|
| event_id | Yes | Bugsnag event ID | |
| max_frames | No | Maximum number of stacktrace frames to return (default: 20 for token efficiency) | |
| project_id | Yes | Bugsnag project ID | |
| include_code | No | Include source code context if available |
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 only says 'extract and format' without explaining side effects, permissions, rate limits, or the structure of the returned data. For a read operation, this is a significant gap.
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 a single concise sentence that conveys the essential purpose without wasted words. It is front-loaded and easy to parse.
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?
Despite having four parameters and no output schema, the description does not explain the return format or how parameters like max_frames and include_code affect the output. It is too terse to give a complete picture for an AI agent selecting this tool.
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 covers all four parameters with descriptive text, giving 100% schema description coverage. The description adds little beyond the schema, but the schema itself is sufficient, so the baseline of 3 is appropriate.
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 identifies the action ('Extract and format') and resource ('stacktrace information from an event'), which is specific and distinguishes it from other event-viewing siblings like view_event. However, it does not explicitly name alternatives, so it misses the full sibling differentiation mark.
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?
There is no guidance on when to use this tool versus alternatives such as view_event or view_exception_chain. The description implies a focused stacktrace use case, but it lacks any explicit when-to-use or when-not-to-use context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
view_tabsA
View all event data tabs including app, device, user, request, breadcrumbs, metadata, and stacktrace
| Name | Required | Description | Default |
|---|---|---|---|
| event_id | Yes | Bugsnag event ID | |
| max_frames | No | Maximum number of stacktrace frames to return (default: 20 for token efficiency) | |
| project_id | Yes | Bugsnag project ID | |
| include_code | No | Include source code context in stacktrace if available | |
| max_breadcrumbs | No | Maximum number of breadcrumbs to return, taken from the most recent (default: 10 for token efficiency) |
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. It does describe the output scope (all tabs) and implies a read-only operation, but it does not disclose behaviors such as default truncation of breadcrumbs/stacktrace frames, potential absence of tabs, or any performance implications. The schema descriptions cover some of this, but the description itself adds limited behavioral context beyond the factual listing of tabs.
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 a single, clearly worded sentence that front-loads the action ('View') and resource, then lists the tabs. There is zero waste and no redundant content.
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?
The tool has 5 parameters (2 required) and no output schema, so the description should help the agent understand what the tool returns and when to use it. The tab list is helpful, but the description omits details about the combined response structure, whether all tabs are always present, and how optional parameters affect the output. It is adequate for basic selection but not fully complete for a complex multi-tab viewer.
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% (every parameter has a clear description), so the baseline is 3. The description itself adds value by linking tabs to parameters (e.g., breadcrumbs, stacktrace, include_code), but it does not explain parameter formats or defaults beyond what the schema already provides. This is a standard case 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 uses a specific verb ('View') and resource ('all event data tabs') and enumerates the included tabs (app, device, user, request, breadcrumbs, metadata, stacktrace), making it clear what this tool does. It distinguishes itself from siblings like view_stacktrace (which focuses on one tab) and view_event by offering a comprehensive multi-tab view.
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 does not state when to use this tool versus alternatives like view_event, view_stacktrace, or view_latest_event. It only describes what it does, leaving the agent to infer usage from the tab list. There is no explicit guidance on when to choose this over a narrower tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
11 tool updates
v1.1.0- First observed
list_error_events - First observed
list_errors - First observed
list_organizations - First observed
list_projects - First observed
search_issues - First observed
view_error - First observed
view_event - First observed
view_exception_chain - First observed
view_latest_event - First observed
view_stacktrace - First observed
view_tabs
TDQS
Scored across 11 tools
Most tools are clearly distinct, but list_errors and search_issues overlap in purpose (both list/filter errors/issues). view_latest_event is a convenience that could be derived from view_event, and view_stacktrace/view_exception_chain/view_tabs are similar views of event details, though their specific purposes are clear.
All tools follow a consistent verb_noun pattern (list_*, view_*, search_*) with snake_case throughout. The names are predictable and match their actions.
11 tools is well within the ideal range for an error-monitoring server. Each tool covers a distinct aspect of browsing organizations, projects, errors, and events without being excessive.
The tool set covers the main read-only workflows for Bugsnag: listing organizations/projects/errors/events, viewing details, and inspecting stacktraces. Minor gaps include no direct 'get project' tool and no ability to list events across a project (only per error), but these are workable.
Maintenance
Related MCP Connectors
Investigate errors, track deployments, analyze performance, and manage application monitoring
- SuperlogOAuthsh.superlog
Open-source agent that observes and fixes your application. Query logs, traces, metrics, incidents.
Interact with the Stitch API using natural language commands.
- mcpOAuthcom.vibgrate
Query your team's drift, vulnerability, and upgrade data from any AI assistant. OAuth 2.1, 51 tools.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables interaction with Glitchtip error tracking platform through natural language. Provides access to issues, events, projects, teams, and organization management for comprehensive error monitoring and debugging.742 npm3AGPL 3.0
- AlicenseBqualityFmaintenanceEnables AI assistants to query and analyze errors from Bugsink self-hosted error tracking instances. Supports listing projects, teams, issues, and viewing detailed error events with stacktraces.16637 npm16MIT
- AlicenseAqualityDmaintenanceEnables AI assistants to query, analyze, and resolve errors within the GlitchTip error tracking platform by providing access to issue details and stacktraces. It allows users to list unresolved issues and mark them as fixed using natural language commands.32MIT
- AlicenseBqualityDmaintenanceIntegrates GlitchTip error monitoring with AI assistants to fetch, analyze, and debug production errors. It enables users to list issues, retrieve event details, and perform guided triage of application errors through natural language.232 npm11MIT