关于 policyrecall
policyrecall 为需要检查工具调用合规性的 Agent 提供命令行和 stdio MCP 服务。它注册 Agent 身份,并使用本地 Ed25519 密钥为回忆与实时策略校准请求签名。
主要功能
- 01使用 Ed25519 注册 Agent 身份
- 02回忆合规的工具调用版本
- 03根据实时策略校准调用
- 04命令行与 stdio MCP 服务
适用场景
- 01检查拟议支付调用是否符合金融科技策略
- 02执行前校准工具调用
- 03注册 Agent 后发送签名请求
MCP 相关
其 stdio MCP 服务将身份注册、合规调用回忆和实时策略校准作为工具提供。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
3收录的工具列表 · 更新于 1 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| user_confirmed | boolean | 是 | 必须为 true:用户已确认注册新的 Agent 身份。 |
详细介绍
policyrecall
policyrecall 是托管式运行记忆服务的客户端。 注册 Agent 身份后,该服务可以找回即将发出的工具调用中经策略验证、符合规范的版本,并根据实时策略校准调用。 请求使用本地保存的 Ed25519 密钥签名,因此服务可以确认调用确实来自已注册的 Agent。 一个二进制文件同时提供命令行界面和 stdio MCP 服务。
身份与配置
在找回或校准功能生效前,必须先创建身份:
policyrecall achromat_register_identity --user-confirmed true
注册会生成一对新的 Ed25519 密钥,对公钥计算一个小型工作量证明,并将公钥发送给服务。
只有服务接受注册后,私钥才会以 PKCS#8 PEM 文件的形式保存,并设置仅所有者可访问的权限(0600)。
如果密钥文件已存在,再次注册会报错——现有密钥绝不会被覆盖。
没有密钥文件时,找回和校准会报错,提示必须设置身份并指出注册步骤。
以下两个环境变量用于配置客户端:
| 变量 | 默认值 |
|---|---|
ACHROMAT_BASE_URL | https://mom.achromat.ai |
ACHROMAT_AGENT_KEY_FILE | ~/.achromat/achromat_agent_key.pem |
与原始服务根据密钥状态动态提供工具不同,policyrecall 始终列出全部三个工具,并在调用工具时检查状态。
安装
npx @reneturcios/policyrecall --version
也可以运行容器映像:
docker run -i ghcr.io/cloudcorprecords/policyrecall
容器默认启动 MCP 服务(见下文)。传入 CLI 参数即可将其用作 CLI。
CLI
子命令与 MCP 工具名称对应:
policyrecall achromat_register_identity --user-confirmed true
policyrecall achromat_recall \
--domain fintech \
--tool-name send_payment \
--task-description "Pay a verified vendor invoice on time" \
--arguments '{"amount": 42, "currency": "USD"}'
policyrecall achromat_calibrate \
--domain robotics \
--tool-name move_arm \
--task-description "Move the arm to the loading position" \
--arguments '{"joint": 2, "angle": 45}' \
--trap-id trap-7
policyrecall --version
--arguments 接受一个 JSON 对象。结果会输出上游 JSON 载荷。退出代码:成功时为 0,调用失败时为 1(包括身份缺失或上游错误),用法错误时为 2。
MCP 服务
mcp 子命令会启动 stdio MCP 服务:
npx -y @reneturcios/policyrecall mcp
MCP 客户端配置:
{
"mcpServers": {
"policyrecall": {
"command": "npx",
"args": ["-y", "@reneturcios/policyrecall", "mcp"],
"env": { "ACHROMAT_BASE_URL": "https://mom.achromat.ai" }
}
}
}
工具
| 工具 | 输入 | 功能 |
|---|---|---|
achromat_register_identity | user_confirmed(必填,必须为 true) | 生成一对 Ed25519 密钥,完成小型工作量证明,注册公钥,并在本地保存私钥。 |
achromat_recall | domain、tool_name、task_description、arguments(均为必填) | 找回所述工具调用中经策略验证、符合规范的版本。 |
achromat_calibrate | domain、tool_name、task_description、arguments(必填),trap_id(可选) | 根据实时策略校准所述工具调用。 |
domain 可以是 fintech、industrial_iot、robotics 或
devsecops。task_description 长度为 16 至 1000 个字符,arguments 是调用的参数对象,不能为空。
找回和校准请求均使用本地密钥签名;服务会在 tool 字段中接收工具名称。
开发
npm install
npm run build # tsc -> dist/
npm test # node test runner over test/*.test.ts, fake fetch only
npm run dev # run the CLI from source via tsx
测试使用模拟 fetch,以及在临时目录中真实生成和签名的本地密钥;不会调用在线服务。
许可证
MIT — 参见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。