Content
# 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.
[中文文档](./README_CN.md)
## 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:
```bash
pnpm install
```
## Configuration
Create a `.env` file in the root directory with your Sentry authentication token:
```
SENTRY_TOKEN=your_sentry_auth_token_here
```
You can obtain your Sentry authentication token from your Sentry account settings.
## Usage
### Build the Project
```bash
pnpm build
```
### Run the Server
```bash
pnpm start
```
Alternatively, you can specify the Sentry authentication token and API base as command-line arguments:
```bash
pnpm start --auth-token your_sentry_auth_token_here --api-base your_sentry_api_base_here
```
### Run with SSE Support
```bash
pnpm start:sse
```
This will start an Express server with SSE support on port 3579 (default). You can access the SSE endpoint at:
```
http://localhost:3579/sse
```
You can also customize the environment variables using a `.env.local` file.
### Development Mode
```bash
pnpm dev
```
### MCP Configuration
```json
{
"mcpServers": {
"sentry-server": {
"command": "npx",
"args": ["-y","@weekit/mcp-sentry@1.0.9"],
"env": {
"SENTRY_TOKEN": "your_sentry_auth_token_here",
"SENTRY_API_BASE": "https://your_sentry_api_base_here"
}
}
}
}
```
Using local build:
```json
{
"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:
1. **Standard MCP Protocol**: Communication over standard input/output streams
2. **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 URL
- `most-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 URL
- `get_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:
1. Listing available prompts and tools
2. 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:
```mermaid
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| A
```
## Testing
Run all tests:
```bash
pnpm test
```
Run unit tests:
```bash
pnpm test test/unit.test.ts
```
Run integration tests:
```bash
pnpm test test/integration.test.ts
```
View test coverage:
```bash
pnpm test -- --coverage
```
Connection Info
You Might Also Like
everything-claude-code
Complete Claude Code configuration collection - agents, skills, hooks,...
markitdown
MarkItDown-MCP is a lightweight server for converting URIs to Markdown.
cc-switch
All-in-One Assistant for Claude Code, Codex & Gemini CLI across platforms.
servers
Model Context Protocol Servers
servers
Model Context Protocol Servers
Time
A Model Context Protocol server for time and timezone conversions.