mcpField
P
pp-sentry

pp-sentry

github.com/mvanhorn云与 DevOps2.1k278 次安装今天更新
代码仓库

关于 pp-sentry

pp-sentry 是用于访问 Sentry 可观测性数据的 Printing Press CLI 技能,面向 Agent 和自动化脚本。它支持组织、项目、问题等数据的结构化查询,以及本地同步、搜索和导出。

主要功能

  1. 01查询组织、项目、问题与事件
  2. 02获取 Sentry Seer 模型名称
  3. 03JSON 输出与字段筛选
  4. 04本地同步、搜索及导出

适用场景

  1. 01发现组织和项目标识
  2. 02筛选问题以辅助故障排查
  3. 03导出组织清单用于交接

MCP 相关

技能文档提供独立 MCP 服务的安装与 Claude Code 注册步骤,可供 MCP 客户端调用。

安装

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

$npx skills add https://github.com/mvanhorn/printing-press-library --skill pp-sentry

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

详细介绍

Sentry — Printing Press CLI

前提条件:安装 CLI

此技能使用 sentry-pp-cli 二进制文件。**在调用此技能中的任何命令之前,必须确认 CLI 已安装。**如果未安装,请先安装:

  1. 通过 Printing Press 安装程序安装。在 macOS/Linux 上,二进制文件默认安装到 $HOME/.local/bin;在 Windows 上,默认安装到 %LOCALAPPDATA%\Programs\PrintingPress\bin:
    npx -y @mvanhorn/printing-press-library install sentry --cli-only
    
  2. 验证:sentry-pp-cli --version
  3. 确保所报告的安装目录位于将调用此技能的 Agent/运行时的 $PATH 中。

如果 npx 安装失败(例如没有 Node、处于离线状态等),请改用直接 Go 安装(需要 Go 1.26.6 或更高版本):

go install github.com/mvanhorn/printing-press-library/library/monitoring/sentry/cmd/sentry-pp-cli@latest

如果安装后 --version 报告“command not found”,则运行时无法在 $PATH 中找到二进制文件目录。验证成功之前,请勿执行技能命令。

何时使用此 CLI

当 Agent 或脚本需要结构化访问 Sentry 组织、项目、问题、事件、发布、监控器、团队及相关可观测性数据时,请使用此 CLI。若需要本地二进制文件、本地同步/搜索/SQL、CSV/JSON 输出,或直接控制身份验证和区域路由,请优先选择它,而不是托管 MCP。

独特功能

其他用于此 API 的工具均不提供这些功能。

只读 Sentry 清单
  • organizations list — 以结构化输出列出已通过身份验证的令牌可访问的 Sentry 组织。

    当 Agent 需要发现用于 Sentry API 操作的组织 slug 时,请先使用此命令。

    sentry-pp-cli organizations list --json --select slug,name
    
  • seer — 列出可通过 Sentry Seer 使用的有效 LLM 模型名称。

    当 Agent 需要了解 Sentry 提供哪些由 Seer 支持的模型标识符时,请使用此命令。

    sentry-pp-cli seer --json
    

HTTP 传输

此 CLI 使用兼容 Chrome 的 HTTP 传输访问面向浏览器的端点。对于常规 API 调用,不需要常驻浏览器进程。

命令参考

organizations — 组织端点

  • sentry-pp-cli organizations list-your — 返回当前区域中已通过身份验证的会话可访问的组织列表。此命令尤其适用于……
  • sentry-pp-cli organizations retrieve-an — 返回单个组织的详细信息,包括成员访问权限和团队等信息。
  • sentry-pp-cli organizations update-an — 更新给定组织的各项属性和可配置设置。

projects — 项目端点

  • sentry-pp-cli projects delete-a — 将项目安排为待删除。删除操作会异步进行,因此不会立即完成。但……
  • sentry-pp-cli projects retrieve-a — 返回单个项目的详细信息。
  • sentry-pp-cli projects update-a — 更新给定项目的各项属性和可配置设置。请注意,仅拥有……

seer — Seer 功能端点

  • sentry-pp-cli seer — 获取 Seer 当前使用的 LLM 模型名称列表。返回当前使用的 AI 模型列表……

sentry-app-installations — 管理 sentry 应用安装

sentry-apps — 管理 sentry 应用

  • sentry-pp-cli sentry-apps delete-a-custom-integration — 删除自定义集成。
  • sentry-pp-cli sentry-apps retrieve-a-custom-integration-by-id-or-slug — 获取自定义集成。
  • sentry-pp-cli sentry-apps update-an-existing-custom-integration — 更新现有自定义集成。

teams — 团队端点

  • sentry-pp-cli teams delete-a — 将团队安排为待删除。**注意:**删除操作会异步进行,因此不会立即完成。团队将……
  • sentry-pp-cli teams retrieve-a — 返回单个团队的详细信息。
  • sentry-pp-cli teams update-a — 更新给定团队的各项属性和可配置设置。
查找合适的命令

知道要做什么,但不确定该用哪个命令时,可以直接询问 CLI:

sentry-pp-cli which "<capability in your own words>"

which 会根据自然语言能力查询,从此 CLI 精选的功能索引中找出最匹配的命令。退出码 0 表示至少找到一项匹配;退出码 2 表示未找到足够确定的匹配项——请改用 --help,或缩小查询范围。

示例

查找组织
sentry-pp-cli organizations list --json --select slug,name

查找供 Sentry 命令限定范围使用的组织 slug。

列出组织的项目
sentry-pp-cli organizations projects list-an-organization-s my-org --json --select slug,name

在执行限定项目范围的事件查询前,查找项目 slug。

精简列出问题
sentry-pp-cli organizations issues list-an-organization-s my-org --agent --select shortId,title,count,userCount

在分流当前问题时,让 Agent 上下文保持聚焦。

导出组织清单
sentry-pp-cli export organizations --format json --output sentry-organizations.json

同步或列出数据后,创建可移植的事件交接文件。

检查 CLI 功能
sentry-pp-cli agent-context --pretty

在选择 Sentry 操作前,向 Agent 提供实时命令和身份验证信息。

身份验证设置

将 SENTRY_AUTH_TOKEN 设置为具有 org:read、project:read 和 event:read 等读取权限的 Sentry 用户令牌或组织令牌。对于欧盟区域的 SaaS 组织,请设置 SENTRY_REGION=de;如果生成的配置支持,则为可自托管的 Sentry 配置基础 URL。

运行 sentry-pp-cli doctor 以验证设置。

Agent 模式

在任意命令中添加 --agent。它会展开为:--json --compact --no-input --no-color --yes。

  • 可通过管道传递 — JSON 输出到 stdout,错误输出到 stderr

  • 可筛选 — --select 保留部分字段。点分路径可深入嵌套结构;数组会逐元素遍历。对于输出冗长的 API,这对缩小上下文至关重要:

    sentry-pp-cli organizations list-your --agent --select id,name,status
    
  • 可预览 — --dry-run 显示请求,但不会发送

  • 适合离线使用 — 有本地 SQLite 存储时,同步和搜索命令可使用该存储

  • 非交互式 — 绝不显示提示,所有输入都通过标志提供

响应封装

从本地存储或 API 读取数据的命令会将输出封装在来源信息中:

{
  "meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
  "results": <data>
}

解析 .results 获取数据,并通过 .meta.source 判断数据来自实时 API 还是本地存储。只有在 stdout 连接到终端时,才会将人类可读的 N results (live) 摘要打印到 stderr;通过管道传递或由 Agent 消费时,stdout 只包含纯 JSON。

Agent 反馈

当你(或 Agent)发现此 CLI 有异常之处时,请记录下来:

sentry-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
sentry-pp-cli feedback --stdin < notes.txt
sentry-pp-cli feedback list --json --limit 10

条目会本地存储在 ~/.sentry-pp-cli/feedback.jsonl。除非设置了 SENTRY_FEEDBACK_ENDPOINT,并且同时传入 --send 或设置 SENTRY_FEEDBACK_AUTO_SEND=true,否则绝不会通过 POST 发送。默认仅在本地存储。

写下让你感到意外的地方,而不是提交错误报告。简短、具体,写成一行:这才是能不断累积价值的部分。

输出交付

每个命令都接受 --deliver <sink>。输出会写入指定的目标位置,并且还会输出到 stdout,或取代 stdout 输出,以便 Agent 无需手动通过管道即可路由命令结果。支持三种目标:

目标效果
stdout默认值;仅写入 stdout
file:<path>将输出原子写入 <path>(临时文件 + 重命名)
webhook:<url>将输出正文 POST 到 URL(使用 --compact 时,内容类型为 application/json 或 application/x-ndjson)

对于未知方案,会拒绝处理,并返回列出受支持方案的结构化错误。Webhook 请求失败时会返回非零退出码,并在 stderr 中记录 URL 和 HTTP 状态码。

命名配置

配置是保存的一组标志值,可在多次调用中重复使用。如果计划任务中的 Agent 每次运行都以相同配置调用同一命令,请使用配置——这就是 HeyGen 的“Beacon”模式。

sentry-pp-cli profile save briefing --json
sentry-pp-cli --profile briefing organizations list-your
sentry-pp-cli profile list --json
sentry-pp-cli profile show briefing
sentry-pp-cli profile delete briefing --yes

显式标志始终优先于配置值;配置值优先于默认值。agent-context 会在 available_profiles 下列出所有可用配置,以便 Agent 在运行时发现它们。

退出码

代码含义
0成功
2用法错误(参数错误)
3未找到资源
4需要身份验证
5API 错误(上游问题)
7请求过于频繁(等待后重试)
10配置错误

参数解析

解析 $ARGUMENTS:

  1. 为空、help 或 --help → 显示 sentry-pp-cli --help 输出
  2. 以 install 开头 → 以 mcp 结尾 → 安装 MCP;否则 → 参见上文的先决条件
  3. 其他情况 → 直接使用(作为带有 --agent 的 CLI 命令执行)

MCP 服务安装

  1. 安装 MCP 服务:
    go install github.com/mvanhorn/printing-press-library/library/monitoring/sentry/cmd/sentry-pp-mcp@latest
    
  2. 在 Claude Code 中注册:
    claude mcp add sentry-pp-mcp -- sentry-pp-mcp
    
  3. 验证:claude mcp list

直接使用

  1. 检查是否已安装:which sentry-pp-cli 如果未找到,则提供安装选项(参见本技能顶部的先决条件)。
  2. 将用户查询与上文“独特功能”和“命令参考”中的最佳命令匹配。
  3. 使用 --agent 标志执行:
    sentry-pp-cli <command> [subcommand] [args] --agent
    
  4. 如果不明确,可深入查看子命令帮助:sentry-pp-cli <command> --help。

评论

支持 Markdown