@weekit/mcp-sentry
v1.0.9
Published
MCP Sentry Server - Node.js implementation
Maintainers
Readme
MCP Sentry Server (Node.js)
This is a Node.js + TypeScript implementation of the Model Context Protocol (MCP) Sentry server. It provides integration with Sentry for retrieving error reports and stacktraces through MCP.
Features
- Integration with Sentry API for error tracking and monitoring
- Support for both standard MCP over stdin/stdout and SSE (Server-Sent Events) transport
- Configurable port for the SSE server (default: 3579)
Prerequisites
- Node.js >= 20.0.0
- pnpm >= 10.5.2
Installation
Clone the repository and install dependencies:
pnpm installConfiguration
Create a .env file in the root directory with your Sentry authentication token:
SENTRY_TOKEN=your_sentry_auth_token_hereYou can obtain your Sentry authentication token from your Sentry account settings.
Usage
Build the Project
pnpm buildRun the Server
pnpm startAlternatively, you can specify the Sentry authentication token and API base as command-line arguments:
pnpm start --auth-token your_sentry_auth_token_here --api-base your_sentry_api_base_hereRun with SSE Support
pnpm start:sseThis will start an Express server with SSE support on port 3579 (default). You can access the SSE endpoint at:
http://localhost:3579/sseYou can also customize the environment variables using a .env.local file.
Development Mode
pnpm devMCP Configuration
{
"mcpServers": {
"sentry-server": {
"command": "npx",
"args": ["-y","@weekit/[email protected]"],
"env": {
"SENTRY_TOKEN": "your_sentry_auth_token_here",
"SENTRY_API_BASE": "https://your_sentry_api_base_here"
}
}
}
}Using local build:
{
"mcpServers": {
"my-sentry": {
"command": "node",
"args": ["path/to/dist/index.js"],
"env": {
"SENTRY_TOKEN": "your_sentry_auth_token_here",
"SENTRY_API_BASE": "https://your_sentry_api_base_here"
}
}
}
}Communication Protocols
The MCP Sentry server supports two communication protocols:
- Standard MCP Protocol: Communication over standard input/output streams
- SSE Transport: Server-Sent Events for web-based communication via HTTP (port 3579)
MCP Features
The MCP Sentry server provides the following features through the MCP protocol:
Prompts
sentry-issue: Retrieve a Sentry issue by ID or URLmost-triggered-issue: Find the issue affecting the most users from a Sentry issues list URL
Tools
get_sentry_issue: Retrieve and analyze a Sentry issue by ID or URLget_sentry_issues_list: Retrieve and analyze a list of Sentry issues from a URL
API
The server communicates using the Model Context Protocol over standard input/output streams and provides the following functionalities:
- Listing available prompts and tools
- Retrieving Sentry issue information including:
- Issue title and ID
- Status and severity level
- First and last seen timestamps
- Event count
- Detailed stacktrace
MCP Workflow
Below is the workflow diagram of the MCP Sentry server:
flowchart TD
A[Client/LLM] -->|1. Send MCP Request| B[MCP Sentry Server]
B -->|2. Parse Request Type| C{Determine Request Type}
C -->|Prompt Request| D[Handle Prompt\nsentry-issue]
C -->|Tool Request| E[Handle Tool\nget_sentry_issue]
D -->|3. Extract Issue ID| F[Call Sentry API]
E -->|3. Extract Issue ID| F
F -->|4. Get Issue Data| G[Sentry API]
G -->|5. Return Issue Data| F
F -->|6. Get Event Data| G
G -->|7. Return Event Data| F
F -->|8. Parse Data| H[Create SentryIssueData Object]
H -->|9. Format Data| I{Response Type}
I -->|Prompt Response| J[Convert to PromptResult Format]
I -->|Tool Response| K[Convert to ToolResult Format]
J -->|10. Return Response| B
K -->|10. Return Response| B
B -->|11. Send MCP Response| ATesting
Run all tests:
pnpm testRun unit tests:
pnpm test test/unit.test.tsRun integration tests:
pnpm test test/integration.test.tsView test coverage:
pnpm test -- --coverage