关于 Sigstore Rekor
Sigstore Rekor 为开发者和安全团队提供软件签名事件的公共透明日志查询,便于核验签名记录与来源。工具可按索引、制品哈希、邮箱或 UUID 查找条目,并查看日志状态。
主要功能
- 01查看日志状态与 Merkle 根
- 02按索引或 UUID 获取条目
- 03按制品哈希或邮箱搜索
- 04解码条目正文并查看包含证明
适用场景
- 01检查制品是否有公开签名记录
- 02查看签名证书与包含证明
- 03查询条目前检查 Rekor 日志状态
MCP 相关
通过 Pipeworx 网关或独立 stdio 服务提供查询 Sigstore Rekor 的 MCP 工具。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://gateway.pipeworx.io/sigstore-rekor/mcpclaude mcp add --transport http pipeworx-io-sigstore-rekor https://gateway.pipeworx.io/sigstore-rekor/mcp{"mcpServers":{"pipeworx-io-sigstore-rekor":{"type":"http","url":"https://gateway.pipeworx.io/sigstore-rekor/mcp"}}}在 Cursor 中打开{"servers":{"pipeworx-io-sigstore-rekor":{"type":"http","url":"https://gateway.pipeworx.io/sigstore-rekor/mcp"}}}在 VS Code 中打开{"mcpServers":{"pipeworx-io-sigstore-rekor":{"type":"http","url":"https://gateway.pipeworx.io/sigstore-rekor/mcp"}}}{"mcpServers":{"pipeworx-io-sigstore-rekor":{"serverUrl":"https://gateway.pipeworx.io/sigstore-rekor/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
@pipeworx/sigstore-rekor
Sigstore Rekor 公共透明日志——不可变、仅追加的软件签名事件记录,支撑着 cosign、npm 和 PyPI 来源证明以及 SLSA 证明。
属于 Pipeworx——一个将 AI Agent 连接到 1683+ 个实时数据源的 MCP 网关。
工具
rekor_log_info(...)— 当前日志状态:条目总数、签名树头、Merkle 根、已退役分片。调用它可获取log_index的上限。rekor_entry_by_index(log_index)— 按整数位置获取一条条目,并解码其主体。rekor_search_by_hash(hash | email)— 给定 sha256 工件摘要(或签名证书的电子邮件身份),返回所有为其签名的条目。返回 uuid。rekor_entry(uuid)— 按 uuid 获取一条条目,包含签名证书、集成时间和包含证明。
身份验证
无需密钥。
数据源
- https://rekor.sigstore.dev/api/v1/log — 签名树头和分片列表。
- https://rekor.sigstore.dev/api/v1/log/entries?logIndex=N — 按位置获取条目。
- https://rekor.sigstore.dev/api/v1/index/retrieve — POST
{hash}或{email},返回 uuid。 - https://rekor.sigstore.dev/api/v1/log/entries/{uuid} — 按 uuid 获取条目。
以下是一些细节,否则接手的人可能还得重新发现:
body是经过 base64 编码的 JSON。这里的每个工具都会将其解码到entry_body,并把工件摘要和条目类型提取到顶层;调用方若读取原始字段,只会得到一段不透明的数据。logIndex和uuid属于不同的标识符空间。rekor_search_by_hash返回 uuid,因此结果应传给rekor_entry,而不是rekor_entry_by_index。- 条目类型(
rekord、hashedrekord、intoto、dsse)的主体结构并不相同。summarize()会根据类型从相应位置查找各字段;若该类型没有对应字段,则返回 null——不要假设artifact_digest总会有值。 - 索引搜索要求使用
sha256:<hex>格式。其他工具输出的都是不带前缀的十六进制摘要,因此打包工具会接受这两种格式并进行规范化。 - 找不到某个摘要对应的条目,并不代表该工件有问题——这只能说明它没有公开的签名记录。工具会在
note中说明这一点。
快速开始
添加到你的 MCP 客户端(Claude Desktop、Cursor、Windsurf 等):
{
"mcpServers": {
"sigstore-rekor": {
"url": "https://gateway.pipeworx.io/sigstore-rekor/mcp"
}
}
}
此端点实际提供的内容
https://gateway.pipeworx.io/sigstore-rekor/mcp 上的 tools/list 会返回上表中的工具,还包括 Pipeworx 共享元工具——ask_pipeworx、discover_tools、search_within、remember/recall 以及网关范围内的其他工具。因此,你看到的工具数量会多于本表所列:目前,单一工具包端点除了该工具包自身的工具外,还会列出约 30 个共享工具。连接的 initialize 响应会说明其确切范围,是了解当天实际范围的权威依据。
这是有意为之,并非意外的多路复用。元工具可让限定范围的连接通过 ask_pipeworx 跨整个目录进行路由,从而回答本工具包未涵盖的问题,无需添加第二个 MCP 服务。目前无法在不包含这些元工具的情况下挂载工具包端点;如果额外的架构定义占用的上下文超过路由功能带来的价值,请连接一次完整网关,而不是连接多个工具包端点。
或者,连接到完整的 Pipeworx 网关,直接列出所有工具包的工具,而不只是当前工具包的工具:
{
"mcpServers": {
"pipeworx": {
"url": "https://gateway.pipeworx.io/mcp"
}
}
}
两个 URL 都会连接到同一网关和相同的 1683+ 个数据源。唯一的区别在于直接列出的是哪个工具包的工具;无论连接哪个端点,ask_pipeworx 都能访问所有工具。
没有 MCP 客户端?通过 HTTP 调用
curl -X POST https://gateway.pipeworx.io/v1/tools/rekor_log_info \
-H 'Content-Type: application/json' \
-d '{}'
首次调用无需账户。检查任意工具:GET https://gateway.pipeworx.io/v1/tools/rekor_log_info。查找工具:使用 {"query":"..."} 调用 POST https://gateway.pipeworx.io/v1/tools/search_packs。
独立运行(无需网关账户)
此软件包也可作为本地 stdio MCP 服务运行,无需 Pipeworx 账户,也无需经过网关往返:
{
"mcpServers": {
"sigstore-rekor": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-sigstore-rekor"]
}
}
}
也可以直接运行,确认它能正常启动:
npx -y @pipeworx/mcp-sigstore-rekor
它通过 stdin/stdout 使用 MCP 通信,并针对仅限此软件包的工具响应 initialize/tools/list/tools/call——不包含上方网关连接所添加的任何共享元工具。相同的源代码,相同的工具,无需 ask_pipeworx 路由。
使用 ask_pipeworx
你也可以用通俗的英语提问,而不是直接调用工具——这既适用于上方的软件包端点,也适用于完整网关:
ask_pipeworx({ question: "your question about Sigstore Rekor data" })
网关会选择合适的工具并自动填写参数。
更多信息
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。