MCP ExplorerExplorer

Mcp Sentry

@weekitmoon 10 months ago
1 MIT
FreeCommunity
AI Systems
MCP Sentry Server

Overview

What is Mcp Sentry

MCP Sentry is a Node.js and TypeScript implementation of the Model Context Protocol (MCP) Sentry server that integrates with Sentry for error reporting and stack trace retrieval.

Use cases

Use cases for MCP Sentry include tracking application errors in real-time, monitoring server performance, and providing developers with detailed error reports and stack traces to facilitate debugging.

How to use

To use MCP Sentry, clone the repository, install dependencies using ‘pnpm install’, configure your Sentry authentication token in a ‘.env’ file, build the project with ‘pnpm build’, and then start the server with ‘pnpm start’. You can also run it with SSE support using ‘pnpm start:sse’.

Key features

Key features include integration with the Sentry API for error tracking, support for standard MCP over stdin/stdout and SSE transport, and a configurable port for the SSE server (default: 3579).

Where to use

MCP Sentry can be used in web applications, backend services, and any environment where error tracking and monitoring are required, particularly in Node.js applications.

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.

中文文档

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 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

pnpm build

Run the Server

pnpm start

Alternatively, 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_here

Run with SSE Support

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

pnpm dev

MCP 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:

  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:

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:

pnpm test

Run unit tests:

pnpm test test/unit.test.ts

Run integration tests:

pnpm test test/integration.test.ts

View test coverage:

pnpm test -- --coverage

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers