项目简介

Sentry MCP 服务器是一个 Model Context Protocol (MCP) 实现的后端应用,旨在将 Sentry 的应用监控能力(错误监控、性能监控等)通过标准化的接口暴露给大型语言模型 (LLM) 客户端。它充当 LLM 客户端和 Sentry API 之间的中间件。

主要功能点

  • 连接 Sentry 数据: 允许 LLM 访问您的 Sentry 组织、项目、团队信息。
  • 错误与性能分析: 通过 LLM 查询和获取详细的错误信息、堆栈跟踪、事务跟踪等,帮助理解和诊断应用问题。
  • 自动化工作流: 允许 LLM 调用 Sentry API 执行操作,例如创建团队、创建项目、创建 DSN (数据源名称),甚至启动 Sentry 的自动化故障排除 (Autofix) 流程。
  • 标准协议支持: 通过 JSON-RPC 协议和多种传输方式(如 Stdio、SSE、WebSocket)与兼容 MCP 的 LLM 客户端通信。

安装步骤

要自托管 Sentry MCP 服务器并使用 Stdio 模式连接到您的 Sentry 实例:

  1. 克隆仓库:
    git clone https://github.com/getsentry/sentry-mcp.git
    cd sentry-mcp
  2. 安装依赖:
    pnpm install
  3. 构建项目:
    pnpm build
  4. 获取 Sentry 个人 API Token: 在您的 Sentry 账户设置中创建一个个人 API Token (PAT)。需要授予至少以下权限:'org:read', 'project:read', 'project:write', 'team:read', 'team:write', 'event:read'。
  5. 配置环境变量: 在运行服务器的环境中设置以下环境变量,或者在启动命令中作为参数提供:
    • 'SENTRY_AUTH_TOKEN': 您的 Sentry 个人 API Token。
    • 'SENTRY_HOST': 您的 Sentry 实例主机名 (例如 'sentry.io' 或您的自托管域名)。

服务器配置 (供 MCP 客户端使用)

MCP 客户端需要知道如何连接到 Sentry MCP 服务器。配置信息通常以 JSON 格式提供给客户端。您需要配置服务器的名称、启动命令及其参数。

  • 服务器名称: 您可以为服务器指定一个友好名称,例如 '"Sentry"'。
  • 启动命令 (command): 根据您是连接到远程部署的服务器(如 Cloudflare Workers)还是通过 Stdio 连接本地服务器,命令会有所不同。
    • 连接远程 SSE/WebSocket 服务:通常使用 'npx mcp-remote' 工具作为命令。
    • 连接本地 Stdio 服务:使用 'pnpm' 作为命令。
  • 参数 (args): 命令的参数指定了如何建立连接和认证。
    • 'npx mcp-remote' 的参数是服务器的 URL (例如 'https://your-worker-url/sse')。可能还需要通过浏览器进行 OAuth 认证流程。
    • 'pnpm' 的参数是启动 Stdio 服务的脚本和您的 Sentry 凭证 (例如 'start:stdio --access-token=<您的 SENTRY PAT> --host=<您的 Sentry 主机名>')。您也可以通过环境变量提供凭证。

具体的 JSON 配置格式取决于您使用的 MCP 客户端。请参考您的 LLM 客户端的文档来了解如何添加自定义 MCP 服务器配置,并根据上述信息填写相应的名称、命令和参数。

基本使用方法

一旦 Sentry MCP 服务器成功运行并连接到您的 MCP 客户端(例如 Claude Desktop),您就可以通过自然语言与 LLM 交互来利用 Sentry 的功能。

  1. 检查工具列表: 在 LLM 客户端界面中查找表示可用工具的图标(例如 🔨),确认 Sentry MCP 提供的工具已经出现。
  2. 提出 Sentry 相关问题: 向 LLM 提问,例如:
    • "列出我在 Sentry 中的组织。" (List my Sentry organizations.)
    • "解释一下 CLOUDFLARE-MCP-41 这个问题。" (Explain issue CLOUDFLARE-MCP-41.)
    • "帮我查找在文件 'utils/index.ts' 中最近发生的错误。" (Search for recent errors in file 'utils/index.ts' for me.)
    • "在我的 Sentry 组织 'my-org' 中创建一个名为 'new-team' 的团队。" (Create a team named 'new-team' in my Sentry organization 'my-org'.)
  3. 查看工具输出: LLM 会根据您的请求调用相应的 Sentry MCP 工具,并将结果展示给您。

信息

分类

开发者工具