This is a prototype implementation of a Model Context Protocol (MCP) server for BugSplat integration.
- Add a local MCP server to Claude Desktop via
Settings > Developer > Edit Config
. Add the path tonpx
undercommand
and-y
,bugsplat-mcp@latest
underargs
. Finally add env values forBUGSPLAT_DATABASE
,BUGSPLAT_CLIENT_ID
, andBUGSPLAT_CLIENT_SECRET
.
{
"mcpServers": {
...
"bugsplat-mcp": {
"command": "npx",
"args": ["-y", "bugsplat-mcp@latest"],
"env": {
"BUGSPLAT_DATABASE": "fred",
"BUGSPLAT_CLIENT_ID": "***",
"BUGSPLAT_CLIENT_SECRET": "***"
}
}
}
}
- Open Claude and ask about BugSplat.
The server provides the following tools for interacting with BugSplat:
List BugSplat issues with optional filtering. The issues tool lists all crashes in the BugSplat database and is useful for determining the most recent crashes.
application
: Application name to filter byversion
: Version to filter bystackGroup
: Stack group to filter bystartDate
: Start date for filtering (ISO format)endDate
: End date for filtering (ISO format)pageSize
: Number of results per page (1-100, defaults to 10)
Get details of a specific BugSplat issue. The issue tool lists the details of a specific crash and is useful for determining the cause of and fixing a specific crash.
id
: Issue ID to retrieve
Get all crashes for a specific Stack Key ID (crash group). This tool lists all individual crashes that belong to the same crash group, which is useful for analyzing patterns within a specific type of crash.
stackKeyId
: The Stack Key ID to get crashes forpageSize
: Number of results per page (1-100, defaults to 10)
Get summary of BugSplat issues with optional filtering. The summary tool lists information about groups of crashes and is useful for determining what issues are most prevalent.
applications
: Array of application names to filter byversions
: Array of versions to filter bystartDate
: Start date for filtering (ISO format)endDate
: End date for filtering (ISO format)pageSize
: Number of results per page (1-20, defaults to 10)
Get list of attachments for a specific BugSplat issue. The attachments tool lists the attachments (log files, screenshots, etc.) for a specific crash and is useful for determining the cause of and fixing a specific crash.
id
: Issue ID to retrieve
Get a specific attachment for a BugSplat issue. Returns the file content as a base64 blob.
crashId
: The ID of the crash reportfile
: The name of the attachment file to retrieve
Create a new defect in a connected defect tracking system.
stackKeyId
: The Stack Key ID you'd like to log as a defectnotes
: Notes about the defect you'd like to log
Add a link between a BugSplat issue and an existing defect in a connected defect tracking system.
stackKeyId
: The Stack Key ID you'd like to log as a defectnotes
: Notes about the defect you'd like to loglinkDefectId
: The ID of the defect you'd like to link to
Remove the link between a BugSplat issue and a connected defect tracking system. The defect in the defect tracking system will not be deleted, but the link will be removed.
stackKeyId
: The Stack Key ID you'd like to remove the defect from
Get all documentation URLs from BugSplat docs sitemap with .md extensions. Returns an array of URLs that can be used to fetch documentation content.
Each tool will automatically use the credentials provided in your .env
file or the environment variables configured for the MCP server.
- Install dependencies:
npm install
- Create a
.env
file with your BugSplat credentials:
BUGSPLAT_DATABASE=your_database
BUGSPLAT_CLIENT_ID=your_client_id
BUGSPLAT_CLIENT_SECRET=your_client_secret
- Start the server:
npm run debug
- Open your browser to http://127.0.0.1:6274 to access the MCP Inspector interface.
The project uses Jasmine for testing. Due to ESM compatibility issues with ts-node, tests are run from built JavaScript files rather than directly from TypeScript.
npm test
This will:
- Build the TypeScript files into JavaScript
- Run the Jasmine test suite
You can debug tests using VS Code in two ways:
-
Using the Test Explorer:
- Open the Testing sidebar in VS Code
- Click the debug icon next to any test to start debugging
- Note: You must rebuild (
npm run build:test
) if you make changes to test files
-
Using Launch Configurations:
- Open the Run and Debug sidebar in VS Code
- Select "Debug Tests" from the dropdown
- Press F5 to start debugging
- The configuration will automatically build before running
- If you modify any test or source files, you need to rebuild before running tests again
- The build step is necessary because ts-node doesn't play well with ESM imports
- Tests have a 30-second timeout to accommodate API calls
- Environment variables from your
.env
file are automatically loaded