关于 Marchward
Marchward 是面向生产环境 AI Agent 的开源运行时控制层,可在工具调用执行前实施策略并记录防篡改审计日志。它支持凭据中介、支出上限和人工审批,可本地自托管。
主要功能
- 01按策略允许、阻止或升级调用
- 02中介凭据并隐藏真实密钥
- 03设置 Agent 支出上限
- 04对不可逆操作设置人工审批
- 05写入可离线验证的防篡改日志
适用场景
- 01限制生产 Agent 可执行的操作
- 02避免 Agent 访问真实服务凭据
- 03为破坏性操作设置人工审批
- 04审计并验证 Agent 的决策记录
MCP 相关
本地代理可包装任意 MCP 服务,并在每次 tools/call 执行前按策略允许、阻止或升级审批。决策会写入可离线验证的哈希链审计日志。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Marchward · AI Agent 的运行时管控层
Marchward
管控 AI Agent 可以_做什么_。 Marchward 是一个开放层,位于 Agent 的工具调用之前,会在任何操作运行前执行四项管控,然后为每项决策写入防篡改记录。可自托管,采用 Apache-2.0 许可,与框架无关。
- 凭证中介。 Agent 只持有一个 Marchward 密钥,绝不会接触你真实的 GitHub、Stripe 或数据库凭证。执行时才会注入真实密钥,Agent 始终看不到它。
- 推理开支上限。 为 Agent 开支设定硬性上限,避免失控循环耗尽预算。
- 审批关卡。 不可逆操作会暂停并等待人工审批,而不会在无人值守的情况下运行。
- 防篡改审计。 每项决策都会追加到哈希链日志中,你可以离线验证。结果可证明,而不只是记录下来。
此领域中的大多数工具只涵盖其中一项。Marchward 将这四项整合到一处,开放且可自托管。
输出护栏会检查 Agent_说什么_(毒性、PII、主题)。Marchward 管控 Agent_做什么_(开支、删除、操作)。检查 Agent 的输出,无法阻止仍持有密钥、可以改为执行其他调用的 Agent。Marchward 管控的是操作本身。
专为已在生产环境运行 Agent 的团队打造(LangGraph、LangChain、原始 SDK、任何 MCP 服务,或任何运行时发起的一次 HTTP 调用)。这些团队需要 Agent 能自主运行,同时又不能耗尽预算、在无人值守时执行不可逆操作,或在没有审计记录的情况下采取行动。
快速入门:60 秒内管控 Agent(完全本地运行,无需账户)
marchward-proxy 会将任何 MCP 服务封装为子进程,并在运行前根据策略评估每个 tools/call(阻止、允许或暂停并等待人工审批),整个过程都在你的机器上进行,使用你自己的凭证。
# Write a policy (escalate anything destructive, allow the rest)
cat > policy.json <<'EOF'
{ "rules": [
{ "match": { "toolPattern": "*delete*" }, "decision": "ESCALATE" },
{ "match": { "toolPattern": "*" }, "decision": "ALLOW" }
]}
EOF
# Put Marchward in front of your agent's MCP server, local mode, no API
npx -p @marchward/proxy marchward-proxy \
--command "node my-mcp-server.js" \
--policy-file ./policy.json \
--local
现在,Agent 发出的每个工具调用都会先经过策略管控,并写入本地防篡改(哈希链)审计日志,你可以离线验证。无需账户,也不会向我们发起网络调用。
更喜欢使用 SDK?运行 pip install marchward,并用 marchward.execute() 封装调用。将它指向你自己的自托管环境,或托管平面(如下所述)。
开源版与托管版的区别
此仓库中的开源包是功能完整的自托管管控器。一些运维功能需要共享状态,因此在托管平面上运行(免费套餐,无需信用卡):
| 开源版(自托管,位于此仓库) | 托管平面(Marchward Cloud) | |
|---|---|---|
| 执行管控:根据策略允许/阻止/升级处理工具调用 | 是 | 是 |
| 本地管控器(拦截 MCP/HTTP,使用你自己的凭证) | 是 | 是 |
| 防篡改审计:哈希链原语 + 离线验证 | 是 | 保留、可查询、可监控 |
| 审批关卡决策 | 是 | + 托管工作流(通知、审批、恢复) |
| 推理成本上限 | 本地核算 | 强制执行(滚动窗口开支) |
| 凭证中介(Agent 持有一个密钥,注入真实凭证,Agent 始终看不到凭证) | 是,使用你自己的本地密钥存储 | 是,使用托管保管库 |
| 托管凭证保管库、多租户、SSO/RBAC | 否 | 是 |
因此:自托管此项目,即可获得执行管控、通过自己的本地存储实现凭证中介、本地成本上限和本地审计日志;添加免费托管套餐,即可使用托管凭证保管库(轮换、团队共享)、审批工作流、托管审计即服务,以及跨 Agent 管控。底层使用相同的引擎。代理的 --remote 模式只需指向该平面。
工作原理
- 你的 Agent 发起工具调用(MCP、HTTP 或通过 SDK)。
- Marchward 根据你的策略进行评估。风险依据解析后的操作判定:任何破坏性操作(
DELETE、被标记为破坏性的POST)都会受到管控,无论工具的_名称_是什么,因此自定义命名的破坏性工具也无法绕过管控。 - 决策 ALLOW / ESCALATE / BLOCK 会在调用执行前强制实施,并追加到哈希链审计日志中。
- 凭据中介机制意味着你的 Agent 只持有 Marchward 密钥。代理会注入真实的服务凭据(可自托管时从你自己的本地存储中获取,或在托管平面上从托管保险库中获取),因此恶意的“其他工具调用”无法滥用 Agent 从未持有的凭据。
软件包
@marchward/engine:确定性决策引擎 + 哈希链审计基元(零依赖)。@marchward/proxy:本地管控器(MCP + HTTP),支持--local或--remote。@marchward/sdk(TypeScript)和marchward(Python,可在 PyPI 上获取):客户端。
项目
- 贡献:
CONTRIBUTING.md(DCO 签署,git commit -s) - 安全:
SECURITY.md· 行为准则:CODE_OF_CONDUCT.md· 治理:GOVERNANCE.md - 商标:
TRADEMARK.md。代码是开源的(Apache-2.0);名称不是。 - 开源与商业版的区别:
OPEN-VS-COMMERCIAL.md· 我们的许可承诺(引擎将保持开源,不会突然更改许可)。 - 许可证: Apache-2.0。
- 托管版免费套餐: https://app.marchward.ai/signup(每月 500 次决策,无需银行卡)。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。