使用说明

项目简介

Sentry MCP服务器是一个原型项目,它基于模型上下文协议(MCP)构建,充当连接LLM客户端和Sentry API的中间件。此服务器旨在使LLM能够通过工具访问和利用Sentry的错误监控数据,从而增强LLM在软件开发和问题诊断方面的能力。

主要功能点

  • 错误详情检索工具 (get_error_details): 允许LLM根据Issue ID从Sentry检索详细的错误信息,包括堆栈跟踪和错误消息,帮助LLM理解错误的上下文。
  • 文件错误搜索工具 (search_errors_in_file): 允许LLM根据文件名搜索最近在特定文件中发生的错误,并按最后出现时间或计数排序,帮助LLM快速定位代码库中的错误热点。
  • OAuth 2.1 客户端认证: 使用OAuth 2.1协议进行客户端认证,保障MCP客户端安全访问Sentry数据。
  • 基于 Cloudflare Workers: 利用Cloudflare Workers的serverless特性部署和运行,提供高可用性和弹性。
  • SSE (Server-Sent Events) 通信: 通过Server-Sent Events协议与MCP客户端进行实时通信。

安装步骤

由于这是一个原型项目,本地开发和部署需要一定的技术基础。以下是简要的安装和运行步骤:

  1. 克隆仓库:

    git clone https://github.com/getsentry/sentry-mcp.git
    cd sentry-mcp
  2. 安装依赖:

    pnpm install
  3. 配置Sentry OAuth应用:

    • 在Sentry中创建OAuth应用 (Settings => API => Applications)。
    • Homepage URL: 填写 'http://localhost:8788' (本地开发) 或您的Worker部署域名。
    • Authorization callback URL: 填写 'http://localhost:8788/callback' (本地开发) 或 'https://[your-domain]/callback' (部署后域名)。
    • 记录 Client ID 和生成 Client secret
  4. 创建 '.dev.vars' 文件 (本地开发): 在项目根目录下创建 '.dev.vars' 文件,并填入您的Sentry OAuth应用信息:

    SENTRY_CLIENT_ID=your_development_github_client_id
    SENTRY_CLIENT_SECRET=your_development_github_client_secret
  5. 本地开发运行:

    pnpm dev

    服务器将在 'http://localhost:8788' 启动。

服务器配置

要使MCP客户端(如Claude Desktop, Cursor等)连接到Sentry MCP服务器,您需要配置客户端的MCP服务器设置。以下是配置示例,您需要根据您的实际部署情况进行调整。

Claude Desktop 配置示例:

打开 Claude Desktop 的配置文件 (Settings -> Developer -> Edit Config),替换内容为以下JSON配置。

{
  "mcpServers": {
    "sentry": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://[your-subdomain].workers.dev/sse"  // 将 [your-subdomain].workers.dev 替换为您的 Cloudflare Worker 域名
      ]
    }
  }
}

参数说明:

  • '"sentry"': 服务器名称,可以自定义。
  • '"command": "npx"': 启动命令,通常使用 'npx' 来运行 'mcp-remote'。
  • '"args"': 启动参数,包含:
    • '"mcp-remote"': MCP远程客户端工具。
    • '"https://[your-subdomain].workers.dev/sse"': 您的Sentry MCP服务器的SSE端点URL,请务必替换为您的实际Worker域名

Cursor 配置示例:

在 Cursor 中,选择 "Type": "Command",然后在 "Command" 字段中填写以下命令:

npx mcp-remote https://[your-subdomain].workers.dev/sse  // 将 [your-subdomain].workers.dev 替换为您的 Cloudflare Worker 域名

参数说明:

  • 'npx mcp-remote https://[your-subdomain].workers.dev/sse': 组合了命令和参数,直接指定了 'mcp-remote' 客户端以及服务器的SSE端点URL。请务必替换为您的实际Worker域名

基本使用方法

  1. 启动 MCP 服务器: 按照安装步骤启动 Sentry MCP 服务器。
  2. 配置 MCP 客户端: 根据您的MCP客户端类型(Claude Desktop, Cursor等),按照上述 "服务器配置" 部分的示例进行配置,并确保将URL替换为您的服务器地址。
  3. 连接 MCP 服务器: 在MCP客户端中连接到您配置的Sentry MCP服务器。您可能需要完成OAuth认证流程以授权客户端访问Sentry数据。
  4. 使用工具: 成功连接后,您可以在MCP客户端中看到 "get_error_details" 和 "search_errors_in_file" 两个工具。您可以指示LLM使用这些工具来检索Sentry的错误信息,例如:
    • "使用 get_error_details 工具获取 Issue ID 为 '12345' 的错误详情。"
    • "使用 search_errors_in_file 工具搜索文件名为 'user.py' 的错误。"

注意: 由于 Claude Desktop 对远程 MCP 服务器的支持尚不完善,您可能会看到一些错误消息,但工具通常仍然可用。请关注 Claude 界面右下角🔨图标,确认工具是否已成功加载。

信息

分类

开发者工具