Aggrete

io.github.Aggrete由 GitHub 账号 Aggrete 发布v0.8.3更新于 Oct 24, 2026

MCP policy proxy: enforces a code of conduct across connectors before the upstream is called.

已验证STDIO仅桌面开发者工具安全与监控

概览

AI 生成的概览

Aggrete 是一个本地 MCP 策略代理,在调用上游连接器之前,依据行为准则文档和跨调用累积的用户记忆检查工具调用。

可以做什么
预演一组计划中的工具调用,在获取任何数据之前给出允许或拒绝的结论,并在拒绝时引用对应的政策条款。依据 YAML 行为准则跨连接器执行策略,并使用跨调用、跨会话累积的每用户记忆。对结果中的邮箱、社保号、卡号和令牌进行脱敏,并向无权调用的用户隐藏相应工具。在会话读取过不可信内容后拒绝写操作,并标记工具描述中的隐藏指令。将调用暂停等待人工审批,并把每个决定写入哈希链审计日志,同时提供指标和健康检查端点。扫描现有 MCP 客户端配置,查找跨服务器的泄露路径、被投毒的描述和配置中的密钥。
适用场景
当同时使用多个 MCP 连接器、风险来自把单独无害的调用组合起来时适用;也适合在持有敏感数据的连接器前加一道可审计、由策略驱动的关卡。在扩大部署前用扫描加固现有 MCP 配置同样有用。
运行要求
作为本地 stdio 进程运行,通过 pip 或 uv 从 PyPI 安装并用 uvx 启动;演示模式不需要配置、认证或网络。实际使用需要代理配置文件和 YAML 政策文档。清单中未声明任何环境变量或请求头。
安装前请注意
它自行保管上游凭据,并可选地代表单个用户行事,因此本身成为敏感的凭据持有者。它会拒绝、脱敏、隐藏工具,并可暂停调用等待审批,还会写入可能转发到 SIEM 或 OpenTelemetry 采集器的审计日志。README 说明 stdio 身份仅为建议性,调用后的拒绝无法撤回已获取的数据,且通过拉开请求间隔可绕过聚合限制。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Aggrete,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Aggrete

[PyPI version] [Python versions] [License] [Glama quality] [FOSSA Status]

An MCP proxy that enforces a code-of-conduct document across connectors, with per-user memory that accumulates across calls.

Four individually-authorized questions can assemble a layoff list — no single one is sensitive, so no guardrail fires. Aggrete is the layer that catches the combination: is this call, together with everything this person already pulled today, something the code of conduct forbids?

Try it live — nothing to install · or uvx aggrete --demo

Start with a scan

bash
pip install aggrete && aggrete scan

Finds every MCP server your clients use, connects to each, and prints what no per-server scanner does: tool combinations across servers that form a leak path, hidden instructions in descriptions, secrets in client configs, servers that bypass the proxy. --fix writes the config and policy that close them. Details.

Install

bash
pip install aggrete                 # or: uv tool install aggreteuvx aggrete --demo                  # the walkthrough — no config, auth, or networkaggrete --config proxy.config.yaml  # run it for real

The one example

The check tool dry-runs a plan and returns the verdict before anything is fetched:

Plan check: REFUSED.  1. hr__recent_joiners     [hr-personnel]  ->  allowed  2. finance__budget_roles  [finance-comp]  ->  allowed  3. ops__oncall_draft      [ops-rota]      ->  REFUSED   COC-HR-004     Personnel, compensation, and operational rosters may not be combined to     derive the planned departure of identifiable individuals.

Each call is fine alone. The third completes a forbidden set across three domains that overlap on the same people, so it's denied before the upstream call — the data is never fetched.

What it does

  • Refuses before fetching, using a YAML policy and per-user memory across calls and sessions — not single-call authorization.
  • Redacts emails, SSNs, cards, and tokens from results before they reach the model; hides walled tools from users who can't call them.
  • Shields against prompt injection — any write after a session reads untrusted content is refused — and against tool poisoning, flagging hidden instructions in tool descriptions.
  • Holds upstream credentials itself (confused-deputy safe), with optional per-user on-behalf-of access.
  • Audits tamper-evidently — every decision is one hash-chained JSON line (aggrete-audit), forwarded to a SIEM or an OpenTelemetry collector, with Prometheus metrics and health endpoints for operations.
  • Ask before you act — check previews any sequence, scenarios lists things to try.
  • Hold for a human — action: approve pauses a call until the clause owner approves it, from Slack, the terminal, or the console; the approval is a time-limited, audited grant.

Learn more

  • Writing policy — the coc.yaml schema, rule types, arg_match, and drafting from your handbook with aggrete-ingest
  • Deploying — architecture, the deploy matrix, HTTP + OAuth, connecting Claude, and per-user credentials
  • Building a connector — expose read/write tools and govern any system (Google Drive is the reference)
  • Adapter mode — run the engine inside agentgateway (native ExtMCP over gRPC, aggrete extmcp), Docker MCP Gateway, IBM ContextForge or any AuthZEN-speaking gateway
  • What it does not stop — supply chain, host execution, client bugs, memory poisoning: where a proxy is the wrong control and what is
  • Scanning — aggrete scan hardens an existing MCP setup: cross-server leak paths, poisoned descriptions, secrets in configs, proxy bypasses, and a one-command fix
  • Conformance — aggrete conformance runs sixteen checks against the real components and maps them onto the OWASP MCP Top 10, OWASP Agentic Top 10, CoSAI and AIUC-1; --url runs the same scenarios black-box against any gateway (latest report)
  • Roadmap — shipped, in progress, and planned
  • Agent skill — teach Claude Code or any MCP client to set up and operate Aggrete: /plugin marketplace add aggrete/aggrete, or read skill://aggrete/SKILL.md from a running proxy

Honest limitations

  • Post-call denial redacts, it does not un-fetch — prefer rules decidable pre-call.
  • stdio identity is advisory — real enforcement needs streamable HTTP with OAuth and IdP-level blocking of direct connector grants, so the proxy is the only path.
  • Aggregation can only be narrowed, not solved — a user who spaces requests beyond the window, or paraphrases across systems the proxy doesn't front, gets through. This raises the cost and creates the audit trail; it isn't a ceiling.
  • Not a gateway — no multi-tenancy, token vault, or HA. For production, run it behind agentgateway, Docker's gateway or IBM ContextForge and let them call it (adapter mode).

mcp-name: io.github.aggrete/aggrete

来源:README.md,提交 8f7c337

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.8.3最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分