mcpField
S
sentry

sentry

github.com/letta-ai云与 DevOps152109 次安装4 周前更新
代码仓库

关于 sentry

用于只读查询 Sentry 问题和事件详情的技能,通过 Sentry API 获取数据。可按组织、项目、时间范围和查询条件筛选,辅助排查问题。

主要功能

  1. 01列出并筛选问题
  2. 02获取问题详情
  3. 03列出问题事件
  4. 04获取事件详情
  5. 05分页并重试暂时性错误

适用场景

  1. 01查看生产环境中未解决的问题
  2. 02通过短 ID 查找问题
  3. 03查看事件信息而不输出原始堆栈跟踪

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/letta-ai/skills --skill sentry

安装后在 Claude Code 中输入/sentry确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

LICENSE.txt
agents/
openai.yaml
assets/
sentry-small.svg
scripts/
sentry_api.py

详细介绍

Sentry(只读可观测性)

快速开始

  • 如果尚未通过身份验证,请让用户提供有效的 SENTRY_AUTH_TOKEN(只读权限范围,例如 project:read、event:read),或先登录并创建令牌,再运行命令。
  • 将 SENTRY_AUTH_TOKEN 设置为环境变量。
  • 可选默认值:SENTRY_ORG、SENTRY_PROJECT、SENTRY_BASE_URL。
  • 默认值:组织/项目 {your-org}/{your-project},时间范围 24h,环境 prod,数量上限为 20(最多 50)。
  • 始终调用 Sentry API(不使用启发式方法,也不缓存)。

如果缺少令牌,请向用户提供以下步骤:

  1. 创建 Sentry 身份验证令牌:https://sentry.io/settings/account/api/auth-tokens/
  2. 创建具有只读权限范围的令牌,例如 project:read、event:read 和 org:read。
  3. 在其系统中将 SENTRY_AUTH_TOKEN 设置为环境变量。
  4. 如有需要,主动指导他们为其操作系统/Shell 设置环境变量。
  • 切勿要求用户在聊天中粘贴完整令牌。请他们在本地设置令牌,并在准备就绪后确认。

核心任务(使用捆绑脚本)

使用 scripts/sentry_api.py 执行确定性的 API 调用。该脚本会处理分页,并在遇到临时错误时重试一次。

技能路径(设置一次)

# Set to the directory containing this SKILL.md
export SENTRY_API="<path-to-skill>/scripts/sentry_api.py"

将 <path-to-skill> 替换为实际的技能安装目录(例如 .skills/sentry 或 ~/.letta/skills/sentry)。

1)列出问题(按最近时间排序)
python3 "$SENTRY_API" \
  list-issues \
  --org {your-org} \
  --project {your-project} \
  --environment prod \
  --time-range 24h \
  --limit 20 \
  --query "is:unresolved"
2)将问题短 ID 转换为问题 ID
python3 "$SENTRY_API" \
  list-issues \
  --org {your-org} \
  --project {your-project} \
  --query "ABC-123" \
  --limit 1

使用返回的 id 获取问题详情或事件。

3)问题详情
python3 "$SENTRY_API" \
  issue-detail \
  1234567890
4)问题事件
python3 "$SENTRY_API" \
  issue-events \
  1234567890 \
  --limit 20
5)事件详情(默认不包含堆栈跟踪)
python3 "$SENTRY_API" \
  event-detail \
  --org {your-org} \
  --project {your-project} \
  abcdef1234567890

API 要求

始终使用以下端点(仅 GET):

  • 列出问题:/api/0/projects/{org_slug}/{project_slug}/issues/
  • 问题详情:/api/0/issues/{issue_id}/
  • 问题事件:/api/0/issues/{issue_id}/events/
  • 事件详情:/api/0/projects/{org_slug}/{project_slug}/events/{event_id}/

输入和默认值

  • org_slug、project_slug:默认值为 {your-org}/{your-project}(避免使用非生产环境的组织)。
  • time_range:默认值为 24h(作为 statsPeriod 传入)。
  • environment:默认值为 prod。
  • limit:默认值为 20,最多 50(持续分页,直到达到数量上限)。
  • search_query:可选的 query 参数。
  • issue_short_id:先通过列出问题的查询进行解析。

输出格式规则

  • 问题列表:显示标题、短 ID、状态、首次出现时间、最近出现时间、次数、环境和热门标签;按最近时间排序。
  • 事件详情:包含 culprit、时间戳、环境、版本和 URL。
  • 如果没有结果,请明确说明。
  • 对输出中的个人身份信息(PII)进行脱敏(邮箱、IP 地址)。不要输出原始堆栈跟踪。
  • 切勿回显身份验证令牌。

黄金测试输入

  • 组织:{your-org}
  • 项目:{your-project}
  • 问题短 ID:{ABC-123}

示例提示词:“列出过去 24h 内 prod 环境中排名前 10 的未解决问题。” 预期:按顺序列出标题、短 ID、次数和最近出现时间。

评论

支持 Markdown