mcpField
A
attested

attested

本地服务
github.com开发工具06 天前更新

关于 attested

attested 是供编码 Agent 使用的 MCP 服务,可运行测试并返回 Sigstore 签名回执。测试失败时,它会提供经过脱敏的故障数据包,供创建拉取请求前审查。

主要功能

  1. 01通过 attested CLI 运行测试
  2. 02返回签名测试回执
  3. 03提供脱敏故障数据包
  4. 04检查证明判定结果

适用场景

  1. 01创建拉取请求前运行测试
  2. 02测试失败后查看脱敏详情
  3. 03验证签名测试证明

MCP 相关

MCP 服务提供运行测试、获取并校验最新故障数据包以及检查证明状态的工具。除非配置 ATTESTED_BIN,否则它运行随附的 attested CLI。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"praxso-attested": {
"command": "npx",
"args": [
"-y",
"@praxso/attested-mcp"
]
}
}
}
启动命令npx -y @praxso/attested-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@praxso/attested-mcp0.1.2

工具

3

收录的工具列表 · 更新于 1 周前

参数类型必填说明
cwdstring否要在其中运行的项目目录(默认:服务端工作目录)。
commandstring是测试命令,通过 sh -c 运行,例如 "pnpm exec playwright test"。必须将 CTRF 报告写入 attested/ctrf.json。
target_urlstring否可选的部署 URL;其 /healthz 必须报告预期的 sha,否则测试前运行会停止。
allow_dirtyboolean否允许未提交的更改(默认:本地迭代时为 true;回执会记录 dirty: true)。
expected_shastring否可选的提交 sha,HEAD 必须与其相等。

详细介绍

@praxso/attested-mcp

面向 attested 的 MCP 服务:编码 Agent 运行测试,并生成带签名、可验证的回执;在创建拉取请求前,先读取经过脱敏的失败信息包。

工具

  • attested_run:通过 attested 运行测试命令并返回回执摘要;测试失败时,返回失败信息包。
  • attested_packet:检查失败信息包的结构后,返回最新的信息包。如果信息包是符号链接,或解析后指向项目目录之外,则会拒绝返回。
  • attested_status:返回 verified,即已签名证明中的判定结果;gh attestation verify 会根据所需检查的策略接受该结果(从 GitHub API 或 run_id/source_ref 获取证明运行及其 ref,以及头部提交),并返回 localReceipt,即项目自身的回执字段,标记为未经验证。

服务运行随附的 attested CLI。若要运行其他版本,请在服务自身的 MCP 配置中设置 ATTESTED_BIN;绝不会使用项目中的 node_modules/.bin/attested。如果无法解析随附的 CLI,attested_run 会报错说明原因;绝不会回退到其他版本。

设置

Claude Code:

claude mcp add attested -- npx -y @praxso/[email protected]

Codex,在 ~/.codex/config.toml 中:

[mcp_servers.attested]
command = "npx"
args = ["-y", "@praxso/[email protected]"]

Cursor 和 Copilot 配置、Claude Code 插件以及 Codex 技能请参阅仓库 README:https://github.com/Praxso/attested#agents-mcp-server-and-skills

需要 Node 22 或更高版本。

许可证

Apache-2.0

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。