关于 MCP Sentry Server (Node.js)
MCP Sentry Server (Node.js) 将 MCP 客户端连接到 Sentry 问题数据,包括报告和堆栈跟踪。它支持 stdin/stdout 与 SSE 传输,并提供查询问题的工具和提示词。
主要功能
- 01获取 Sentry 问题和堆栈跟踪
- 02支持 stdin/stdout 与 SSE
- 03提供问题查询工具和提示词
- 04可配置 SSE 端口
适用场景
- 01按 ID 或 URL 检查 Sentry 问题
- 02从列表中查找触发次数最多的问题
- 03通过 SSE 端点连接
MCP 相关
该服务通过 MCP 提供 Sentry 问题查询工具和提示词,支持 stdin/stdout 或 SSE 传输。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP Sentry 服务(Node.js)
这是一个基于 Node.js + TypeScript 实现的 Model Context Protocol(MCP)Sentry 服务。它通过 MCP 集成 Sentry,以检索错误报告和堆栈跟踪。
功能
- 集成 Sentry API,用于错误跟踪和监控
- 支持通过标准输入/输出进行标准 MCP 通信,以及 SSE(Server-Sent Events)传输
- 可配置 SSE 服务端口(默认值:3579)
前提条件
- Node.js >= 20.0.0
- pnpm >= 10.5.2
安装
克隆仓库并安装依赖:
pnpm install
配置
在根目录中创建 .env 文件,并填入 Sentry 身份验证令牌:
SENTRY_TOKEN=your_sentry_auth_token_here
你可以在 Sentry 账户设置中获取 Sentry 身份验证令牌。
使用方法
构建项目
pnpm build
运行服务
pnpm start
或者,你可以通过命令行参数指定 Sentry 身份验证令牌和 API 基础地址:
pnpm start --auth-token your_sentry_auth_token_here --api-base your_sentry_api_base_here
启用 SSE 支持运行
pnpm start:sse
这将在端口 3579(默认值)上启动一个支持 SSE 的 Express 服务。你可以通过以下地址访问 SSE 端点:
http://localhost:3579/sse
你也可以使用 .env.local 文件自定义环境变量。
开发模式
pnpm dev
MCP 配置
{
"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"
}
}
}
}
使用本地构建:
{
"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"
}
}
}
}
通信协议
MCP Sentry 服务支持两种通信协议:
- 标准 MCP 协议:通过标准输入/输出流进行通信
- SSE 传输:通过 HTTP(端口 3579)进行基于 Web 的 Server-Sent Events 通信
MCP 功能
MCP Sentry 服务通过 MCP 协议提供以下功能:
提示词
sentry-issue:通过 ID 或 URL 检索 Sentry 问题most-triggered-issue:从 Sentry 问题列表 URL 中查找影响用户最多的问题
工具
get_sentry_issue:通过 ID 或 URL 检索并分析 Sentry 问题get_sentry_issues_list:从 URL 检索并分析 Sentry 问题列表
API
此服务通过标准输入/输出流使用 Model Context Protocol 进行通信,并提供以下功能:
- 列出可用的提示词和工具
- 检索 Sentry 问题信息,包括:
- 问题标题和 ID
- 状态和严重级别
- 首次和最后一次出现的时间戳
- 事件数量
- 详细堆栈跟踪
MCP 工作流
以下是 MCP Sentry 服务的工作流图:
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
测试
运行所有测试:
pnpm test
运行单元测试:
pnpm test test/unit.test.ts
运行集成测试:
pnpm test test/integration.test.ts
查看测试覆盖率:
pnpm test -- --coverage
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。