mcpField
D
DeltaX Preflight

DeltaX Preflight

本地服务
github.com/DeltaX-PublicAI 与智能体12 天前更新

关于 DeltaX Preflight

DeltaX Preflight 是一个本地 stdio MCP 适配器,用于依据独立的策略和证据文档检查有限候选操作。它复用核心验证器并返回状态、哈希及可能的交接内容,不执行操作,也不连接托管服务。

主要功能

  1. 01依据策略和证据检查决策
  2. 02计算决策与策略文档哈希
  3. 03返回核心验证器的四种状态
  4. 04保留核心验证规则和交接内容
  5. 05运行时本地执行,无需网络

适用场景

  1. 01在工作流继续前验证拟议操作
  2. 02将证据绑定到特定决策哈希
  3. 03需要选择时审查可采纳的候选项

MCP 相关

通过本地 stdio 提供 `preflight_check`、`preflight_hash_decision` 和 `preflight_hash_policy` 工具。它将文档传给现有核心并返回结果;不会执行操作,也不会启用可选的 Evaluate 桥接。

配置

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

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
mcpbdeltax-preflight-mcp-0.1.0.mcpb

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

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_checkdecision、policy、evidence:分别提供 v2 JSON 文档仅包含核心 { result, handoff }
preflight_hash_decisiondecision:v2 JSON 文档{ "decision_hash": "<canonical SHA-256>" }
preflight_hash_policypolicy: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
CLIbin/preflight.mjs、包命令 deltax-preflight;支持检查、哈希辅助工具和可选的策略固定
GitHub Actionaction.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 仓库维护者;它不代表目录质量评分或条目已获受理。

评论

支持 Markdown

第一次接触 MCP?

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

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