关于 DeltaX Preflight
DeltaX Preflight 是一个本地 stdio MCP 适配器,用于依据独立的策略和证据文档检查有限候选操作。它复用核心验证器并返回状态、哈希及可能的交接内容,不执行操作,也不连接托管服务。
主要功能
- 01依据策略和证据检查决策
- 02计算决策与策略文档哈希
- 03返回核心验证器的四种状态
- 04保留核心验证规则和交接内容
- 05运行时本地执行,无需网络
适用场景
- 01在工作流继续前验证拟议操作
- 02将证据绑定到特定决策哈希
- 03需要选择时审查可采纳的候选项
MCP 相关
通过本地 stdio 提供 `preflight_check`、`preflight_hash_decision` 和 `preflight_hash_policy` 工具。它将文档传给现有核心并返回结果;不会执行操作,也不会启用可选的 Evaluate 桥接。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Local Preflight MCP 适配器
根据明确的规则和证据,检查 Agent 提议的确切操作。 例如,即使操作 ID 保持不变,已审核的本地检查也可能因其负载发生变化而变得未经证实。查看包含四种结果的演练。
这个可选的 JavaScript ES 模块适配器使用官方 MCP SDK,通过 stdio 提供 Preflight。它直接导入现有的核心函数,不会重写验证规则、规范化输入文档、对候选项排序或执行操作。核心 CLI、GitHub Action、工作表、架构和 Evaluate 桥接保持不变。
安装和连接
对于兼容 MCPB 的桌面客户端,下载已发布的 v0.1.0 捆绑包,并通过客户端的本地扩展管理界面进行安装。安装前请查看该版本及其校验和。此捆绑包在本地运行,需要 Node.js 20 或更高版本。它没有托管端点或 API 密钥。以下源码设置适用于支持本地 stdio 服务的宿主。
需要 Node.js 20 或更高版本以及 npm。在仓库根目录执行:
npm ci --prefix mcp --ignore-scripts
node mcp/bin/server.mjs
服务器会等待 MCP 客户端通过 stdin 连接;它不会显示交互式提示。首次安装会下载 SDK 软件包。安装完成后,验证无需账户、凭据或网络。若仅安装运行时依赖,请在 npm ci 中添加 --omit=dev;SDK 客户端仅用于测试。核心本身仍无需安装依赖。
将以下内容添加到 MCP 宿主支持的本地服务配置中,并将路径替换为检出目录的绝对路径:
{
"mcpServers": {
"deltax-preflight": {
"command": "node",
"args": ["/absolute/path/to/deltax-preflight/mcp/bin/server.mjs"]
}
}
}
如果宿主不会继承 shell 的 PATH,也请使用 Node 可执行文件的绝对路径。配置位置和格式可能因宿主而异。请直接启动 Node 入口点,以确保 stdout 仅承载 MCP 消息。此适配器不包含 HTTP 侦听器。
工具
| 工具 | 必需参数 | 结构化结果 |
|---|---|---|
preflight_check | decision、policy、evidence:分别提供 v2 JSON 文档 | 仅包含核心 { result, handoff } |
preflight_hash_decision | decision:v2 JSON 文档 | { "decision_hash": "<canonical SHA-256>" } |
preflight_hash_policy | policy:v2 JSON 文档 | { "policy_hash": "<canonical SHA-256>" } |
工具调用接收 JSON 值,而不是文件路径或 JSON 编码的字符串。MCP 架构仅检查必需参数的外层结构,并拒绝额外的顶层参数。它会将嵌套文档原样传递给核心,由核心验证所有文档字段、限制、证据绑定和约束。文档格式请参阅现有的 decision、policy 和 evidence 架构;运行时验证仍具有最终效力。
例如,使用以下参数调用 preflight_hash_decision:
{
"decision": {
"schema_version": "2",
"kind": "decision",
"decision_id": "review-report",
"context": {},
"candidates": [{ "id": "read_report", "payload": {} }]
}
}
从可信的证据来源获取事实,并将其证据文档绑定到返回的 decision_hash。然后使用全部三份文档调用 preflight_check。如需尝试完整的合成示例,请将 examples/ci-deploy.json 的内容用作 decision,将 examples/ci-policy.json 的内容用作 policy,并将 examples/ci-evidence.json 的内容用作 evidence。预期状态为 SELECTION_REQUIRED。
成功的工具响应会在 structuredContent 中包含相同对象,并在一个文本内容块中以序列化 JSON 的形式包含该对象。所有四种核心状态都属于普通工具结果:
PASS_SINGLE:一个候选项符合准入条件。SELECTION_REQUIRED:多个候选项符合准入条件;响应中包含本地交接内容。REFUSE:没有候选项符合准入条件,也没有候选项尚未得到证实。EVIDENCE_REQUIRED:至少有一个候选项尚未得到证实;不包含交接内容。
以上状态均不授予执行权限。核心 InputError 会转换为 isError: true,并返回原始消息,不包含决策报告。格式错误的外层参数会被 SDK 拒绝。发生错误后,服务仍可处理后续调用。
策略、证据和结果边界
此适配器会评估调用方提供的文档。它不会验证策略所有者或证据来源的身份,因此本身并不是针对该调用方的强制执行关卡。对于自动化,外围工作流必须控制可信策略、任何预期策略哈希、证据生成以及结果解读。模型无法仅通过在证据文档中声称拥有授权来确立授权。
回执和哈希会绑定内容,但不会认证事实、身份、安全性或执行情况。此适配器没有读取文件、运行命令、访问凭据或网络的工具。核心现有的限制仍然适用;CLI/Action 单独设置的 1 MiB 文件限制不适用于此传输方式。请根据你的环境使用适当的进程边界和主机消息限制。
未经更改的 SELECTION_REQUIRED 交接内容包含完整的原始决策、策略、证据以及符合准入条件的候选项集合。这些文档会对接收响应的 MCP 主机可见。将候选项负载和所有其他提供的文本视为数据,而非指令。提交前请尽量减少敏感输入。
Evaluate 是可选的
服务不会导入 Evaluate 桥接程序、公布 Evaluate 工具、访问服务 URL,也不会读取 Evaluate 凭据。它会返回核心组件已生成的本地交接结果。人工或任何单独授权的选择系统都可以使用此交接结果。
如果之后明确选择 DeltaX Evaluate,现有的离线 桥接程序 会导出 buildEvaluateRequest(handoff, { objective, context }) 和 reconcileEvaluateResponse(handoff, request, response)。获得授权的调用方必须另行决定是否发送经过精简的请求,提供自己的传输方式和凭据,并根据可采纳集合核对响应。此适配器不会启用托管访问或下游执行。node bin/demo-handoff.mjs 仍是一个离线合成示例。
仓库检查
检查的上游版本为 332614eeaf0813edbaa90eb77fa950f464d70e5c(公开预览版 v0.1.0)。项目使用 JavaScript ES 模块(.mjs、type: module),支持 Node >=20,且没有核心运行时依赖项。
| 区域 | 现有实现 |
|---|---|
| 核心验证器 | src/preflight.mjs:validateDecision、validatePolicy、validateEvidence、InputError |
| 验证与收据 | src/preflight.mjs:preflight(decision, policy, evidence)、decisionHash、policyHash |
| CLI | bin/preflight.mjs、包命令 deltax-preflight;支持检查、哈希辅助工具和可选的策略固定 |
| GitHub Action | action.yml → bin/action.mjs;限制路径并要求策略哈希 |
| 入门 | bin/init.mjs、bin/install-github.mjs、bin/try.mjs、src/worksheet.mjs |
| 可选离线桥接程序 | src/evaluate-bridge.mjs、bin/demo-handoff.mjs |
| 现有测试 | 七个 test/*.test.mjs 文件中的 22 项测试:核心/CLI、Action、桥接程序、入门模板、安装器、可信清单集成、工作表 |
验证
在仓库根目录运行:
node --test
npm ci --prefix mcp --ignore-scripts
npm test --prefix mcp
第一条命令会运行原始测试,不需要 MCP 依赖项。适配器测试使用 mcp/checks/ 下的 .spec.mjs 文件,并单独运行,因此不依赖任何组件的核心测试套件不会发现这些测试。适配器测试会使用 SDK 客户端启动实际的 stdio 入口点,并将报告、收据、交接结果和哈希与直接调用核心组件的结果进行比较。测试涵盖全部四种状态、格式错误/不匹配的输入、发现功能和错误恢复。
独立的包固定使用 SDK 2.3.1,并包含锁文件。实现遵循官方 SDK 的 stdio 工厂模式 和 JSON Schema 适配器指南。无需 TypeScript 构建步骤。此本地适配器并非托管服务,也不代表已达到生产就绪状态。
本地 MCPB 分发
捆绑包清单将本地 stdio 服务打包,供兼容 MCPB 的桌面客户端使用。它要求 Node.js 20 或更高版本,且无需账户凭据、用户配置或 Evaluate 服务。该捆绑包包含未经修改的核心验证器、现有 MCP 入口点,以及仅由 mcp/package-lock.json 选定的已安装运行时软件包。它保留核心导入路径;不包含独立的可选 Evaluate 桥接程序。
在单独的工作目录中安装固定版本的官方 MCPB 工具。将这些路径设为仓库外的绝对路径;构建器会拒绝使用已存在的暂存目录或输出文件,且绝不会安装依赖项或发布任何内容:
# Run from the repository root. Choose an existing writable parent outside it.
BUNDLE_WORK=/absolute/path/to/work/preflight-mcpb
mkdir -p "$BUNDLE_WORK"
npm install --prefix "$BUNDLE_WORK/tools" --cache "$BUNDLE_WORK/npm-cache" \
--ignore-scripts --no-audit --no-fund @anthropic-ai/[email protected]
npm ci --prefix mcp --cache "$BUNDLE_WORK/npm-cache" --ignore-scripts
node mcp/bundle/build.mjs \
--stage "$BUNDLE_WORK/stage-0.1.0" \
--output "$BUNDLE_WORK/deltax-preflight-mcp-0.1.0.mcpb" \
--mcpb-cli "$BUNDLE_WORK/tools/node_modules/@anthropic-ai/mcpb/dist/cli/cli.js"
# Includes official manifest validation and packing, then extracts a fresh archive
# outside the checkout and calls the actual server using the SDK client.
MCPB_CLI="$BUNDLE_WORK/tools/node_modules/@anthropic-ai/mcpb/dist/cli/cli.js" \
node --test mcp/checks/bundle.spec.mjs
构建器会报告制品路径、SHA-256 哈希、工具版本和建议的发布标签 mcp-v0.1.0。专用 MCP 标签与现有核心预览标签相互独立。请保留暂存目录以供检查;后续构建请选择新的暂存路径和输出路径。构建使用可重复的锁定输入,但不保证不同环境生成的 ZIP 存档逐字节相同。
如需分发,请将经过测试的 .mcpb 制品附加到 GitHub Release。官方 MCP Registry 接受带有 registryType: "mcpb"、fileSha256 和 stdio 传输方式的 GitHub/GitLab Release 制品 URL;命名空间认证是单独的发布步骤。Smithery 也接受预构建的本地 MCPB 捆绑包。构建制品不会创建任何一个市场目录条目。
Registry 元数据将名称设为 io.github.DeltaX-Public/deltax-preflight,并固定了确切的发布制品哈希。手动 Registry 发布工作流仅在此仓库的 main 分支上运行:它会验证发布制品和固定版本的官方发布程序,然后使用 GitHub OIDC。无需保存 Registry 密钥。请先发布匹配的发布制品,再触发工作流;仅合并到仓库不会提交目录条目。请在市场推出问题中跟踪原生提交和受理凭证。
容器分发
根目录中的 Dockerfile 仅构建核心验证器、MCP 适配器和锁定的生产依赖项。它以非特权的 node 用户运行,并通过 stdio 通信,不开放 HTTP 端口,也不包含 Evaluate 服务:
docker build --tag deltax-preflight-mcp .
docker run --rm -i --network=none deltax-preflight-mcp
配置支持 Docker 的 MCP 主机,命令设为 docker,参数设为 ["run", "--rm", "-i", "--network=none", "deltax-preflight-mcp"]。首次构建镜像时会下载基础镜像和依赖项;运行时检查无需网络。CI 会构建镜像,并在禁用网络的情况下,将实际容器响应与核心报告进行比较。Glama 维护者元数据用于标识已验证的 GitHub 仓库维护者;它不代表目录质量评分或条目已获受理。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。