Aggrete 是一个 MCP(Model Context Protocol)代理,其核心作用是在连接器之间强制执行一份行为准则(code-of-conduct)文档,并借助跨调用、跨会话累积的按用户记忆来判断请求是否合规。它针对的问题是:单独看每一次工具调用可能都不敏感,但若干个体合法的问题组合起来就能拼出敏感结果(例如拼出一份裁员名单),传统的按服务器或按单次调用的授权机制不会触发任何护栏。Aggrete 正是用来拦截这种组合的层——判断“本次调用,加上此人今天已经拉取的全部内容,是否属于行为准则禁止的行为”。
主要能力
- 在上游取数之前拒绝:使用 YAML 策略和跨调用、跨会话的按用户记忆,而不是仅做单次调用授权。提供的示例 check 工具可以预演一个计划,在真正取数之前返回裁决结果。
- 结果脱敏:在结果到达模型之前,对邮箱、社会安全号(SSN)、银行卡号和令牌进行脱敏;对无权调用的用户隐藏受保护的工具。
- 提示注入与工具投毒防护:会话读取过不可信内容之后的任何写入都会被拒绝;同时标记工具描述中隐藏的指令。
- 凭据托管:上游凭据由代理自身持有(避免混淆代理问题),并可选支持按用户以 on-behalf-of 方式访问。
- 防篡改审计:每个决策都记录为一条哈希链式 JSON 行(aggrete-audit),可转发到 SIEM 或 OpenTelemetry 收集器,并提供 Prometheus 指标和健康检查端点。
- 操作方式:check 可预览任意序列,scenarios 列出可尝试的场景;action: approve 会暂停一次调用,直到条款负责人从 Slack、终端或控制台批准,且批准是有时限、可审计的授权。
- 扫描:aggrete scan 可以加固现有 MCP 配置,发现跨服务器的泄露路径、被投毒的描述、配置中的密钥、绕过代理的服务器,并提供一条命令修复(--fix)。
- 合规检查:aggrete conformance 对真实组件运行十六项检查,并映射到 OWASP MCP Top 10、OWASP Agentic Top 10、CoSAI 和 AIUC-1;--url 可对任意网关以黑盒方式运行相同场景。
- 适配器模式:可在 agentgateway(通过 gRPC 的原生 ExtMCP,aggrete extmcp)、Docker MCP Gateway、IBM ContextForge 或任何支持 AuthZEN 的网关内运行引擎。
使用方式 可以通过在线演示试用,无需安装;也可以运行 uvx aggrete --demo。首先可以执行扫描(aggrete scan)来发现并修复现有 MCP 设置中的问题。策略使用 coc.yaml 模式编写,支持规则类型和 arg_match,并可用 aggrete-ingest 从你的手册中起草策略。部署方面提供架构说明、部署矩阵、HTTP + OAuth、连接 Claude 以及按用户凭据的方式。构建连接器时,可以暴露读/写工具并治理任意系统(Google Drive 是参考实现)。还提供 Agent 技能,可教 Claude Code 或任意 MCP 客户端安装和操作 Aggrete(/plugin marketplace add aggrete/aggrete,或从运行中的代理读取 skill://aggrete/SKILL.md)。
适用场景 需要在多个连接器(如 Slack、Google Drive、GitHub 等)之间实施统一治理、防止跨系统数据组合泄露、防范提示注入和工具投毒、并保留可审计决策记录的 MCP 部署环境。
限制
- 调用后的拒绝只能脱敏,不能“取消取数”,因此优先使用可在调用前判定的规则。
- stdio 身份是建议性的,真正强制需要带 OAuth 的可流式 HTTP,并在 IdP 层面阻止直接连接器授权,使代理成为唯一路径。
- 聚合只能被收窄,无法被彻底解决:用户如果把请求间隔拉长到窗口之外,或跨代理未覆盖的系统进行改写,仍可能绕过。它提高成本并留下审计线索,但不是绝对上限。
- 它不是网关,不具备多租户、令牌保险库或高可用能力。生产环境应将它运行在 agentgateway、Docker 网关或 IBM ContextForge 之后,由它们调用它(适配器模式)。