Sentry Issue MCP Server

使用说明

项目简介

Sentry Issue MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型 (LLM) 应用提供 Sentry 错误追踪系统中的 issue 数据。通过提供预定义的工具,该服务器允许 LLM 客户端安全、便捷地访问 Sentry 平台的 issue 信息,从而增强 LLM 在软件开发和运维领域的应用能力。

主要功能点

  • 获取单个Issue (get-issue): 允许通过 Issue ID 或 Sentry Issue URL 获取指定的 issue 详情。这使得 LLM 能够针对特定错误进行分析和处理。
  • 获取Issue列表 (get-issues): 支持根据 Sentry 项目 ID 或组织 ID 获取 issue 列表。这为 LLM 提供了批量分析和监控错误趋势的能力。

安装步骤

由于仓库中未提供明确的安装步骤,根据 'README.md' 中的 'QuickStart' 部分,推测该 MCP 服务器可能通过 'npx' 直接运行,无需显式安装步骤。更严谨的安装方式可能是全局安装 npm 包,但此处假设最简便的 'npx' 运行方式。

推测的安装步骤 (可能非必要):

  1. 确保已安装 Node.js 和 npm 或 npx。
  2. (可能)无需额外安装,直接使用 'npx' 运行。

服务器配置

以下是 MCP 客户端配置 'Sentry Issue MCP Server' 的示例 JSON,用于定义如何启动和连接到该服务器。

{
  "mcpServers": {
    "sentry-issue-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "sentry-issues-mcp@latest"
      ],
      "env": {
        "SENTRY_HOST": "<your_sentry_host>",  // 您的 Sentry 主机地址,例如 "sentry.example.com"
        "SENTRY_ORG": "<your_sentry_org>",    // 您的 Sentry 组织 ID 或 Slug
        "SENTRY_PROJ": "<your_sentry_proj>",   // (可选) 您的 Sentry 项目 ID 或 Slug,如果需要限定项目范围
        "SENTRY_USER_TOKEN": "<your_sentry_user_token>" // 您的 Sentry 用户 Token,需要具有访问 issue 信息的权限
      }
    }
  }
}

配置参数说明:

  • server name: 'sentry-issue-mcp' - 服务器名称,客户端用于唯一标识和引用该服务器。
  • type: 'stdio' - 指定 MCP 服务器使用标准输入输出 (stdio) 进行通信。
  • command: 'npx' - 运行 MCP 服务器的命令,这里使用 'npx' 直接运行 npm 包。
  • args:
    • '-y' - 'npx' 参数,自动确认安装包。
    • 'sentry-issues-mcp@latest' - 要运行的 npm 包名称和版本,'@latest' 表示使用最新版本。
  • env: 环境变量配置,用于传递 Sentry API 访问所需的凭据和主机信息。
    • 'SENTRY_HOST': Sentry 主机地址。
    • 'SENTRY_ORG': Sentry 组织 ID 或 Slug。
    • 'SENTRY_PROJ': (可选) Sentry 项目 ID 或 Slug。
    • 'SENTRY_USER_TOKEN': Sentry 用户 Token。

注意: 请务必替换 '<your_sentry_host>'、'<your_sentry_org>'、'<your_sentry_proj>' 和 '<your_sentry_user_token>' 为您实际的 Sentry 配置信息。 获取 Sentry User Token 的方法请参考 Sentry 官方文档。

基本使用方法

  1. 启动 MCP 客户端: 配置并启动支持 MCP 协议的 LLM 客户端。
  2. 配置 MCP 服务器: 在客户端配置中添加上述 'sentry-issue-mcp' 服务器配置,确保配置中的环境变量正确设置。
  3. 通过 LLM 客户端与 MCP 服务器交互: 在 LLM 客户端中,可以使用自然语言指令来调用 'sentry-issue-mcp' 服务器提供的工具。

使用示例:

  • 分析特定 Issue: 向 LLM 输入类似 '"分析这个 issue,告诉我原因和修复方法:{sentry_issue_url}"' 的指令,其中 '{sentry_issue_url}' 替换为实际的 Sentry issue URL。如果 LLM 具备工具调用能力,它将自动调用 'get-issue' 工具,获取 issue 数据并进行分析。

  • 查找今日高危 Issue: 向 LLM 输入 '"查找今天最危险的 issue,并告诉我原因和修复方法"' 的指令。 LLM 可能会调用 'get-issues' 工具(默认时间范围为 24 小时),获取 issue 列表,并根据 issue 的严重程度进行排序和分析。

提示: LLM 的智能程度决定了工具调用的效果。确保使用的 LLM 客户端支持 MCP 协议和工具调用,并能够理解自然语言指令并将其转化为工具调用请求。

服务器信息