mcp-trentina-crunchtools Skill 技能

## 技能简介 Trentina 是一款安全的 MCP 网关(Secure MCP Gateway)

技能简介

Trentina 是一款安全的 MCP 网关(Secure MCP Gateway),它把 AI Agent 与外部世界之间的一切流量——网页内容、MCP 工具返回、工具定义、即时通讯消息、LLM 补全以及监控告警——全部纳入一条三层防御流水线进行审查,并按每个 Agent 独立配置策略(标记或拦截),同时留下完整的审计轨迹。内容永远不会被静默修改:Agent 读到什么,就是实际送达什么,外加 Trentina 给出的裁决。名字取自 1377 年拉古萨的检疫制度——所有进港船只必须先离岸停泊三十天,才允许进城:让贸易继续流动,同时不放任何危险物混进来。

核心能力

  1. MCP 统一网关:在 Agent 与所有 MCP 后端之间设唯一收窄点,一个端点、一个 Bearer Token、一份审计日志,取代每个 Agent 直连数十个 MCP 服务器。后端工具自动加命名空间(如 slackslack_search_messages、githublist_issues_tool),杜绝冲突。
  2. 四种身份验证:按 Profile 选择静态 Bearer Token、Trentina 代理 Google 登录后签发的 OAuth 身份,或由外部身份提供方签发、Trentina 只做校验的令牌。
  3. 按 Agent 划分 Profile:每个消费者(Claude Code、Hermes、OpenClaw 或任意 MCP 客户端)拥有独立 Profile,工具权限、防御设置、鉴权方式互不干扰——人类监督型 Agent 可开放全量工具,自主型 Agent 则只给受限子集。
  4. 工具黑白名单:不在白名单内的工具在 tools/list 响应送达消费者之前即被剥离,根本不会进入 Agent 的上下文窗口,支持精确名与通配符(delete、gmail*),同时降低上下文成本与攻击面。
  5. 参数守卫:在网关层做逐工具参数校验,限制的不只是"能调哪些工具",还有"能传什么值"——例如"这个 Agent 可以发邮件,但只能发给 user@example.com"。调用在后端之前就被拒绝,不消耗 Token、不产生副作用。
  6. 响应守卫:参数守卫的出口半部分,对后端"返回什么"施加同样的允许/拒绝约束,在结果被精简、扫描或转发之前生效,以拒绝为主并作为策略留痕。
  7. 三层防御流水线:第一层确定性检测结构性攻击(隐藏标记、不可见 Unicode、编码载荷、外泄 URL)并归一化副本;第二层用 Prompt Guard 2 86M 分类器识别指令覆盖;第三层把原始内容交给隔离 LLM(Gemini Flash Lite)做语义分析,无工具、无记忆、爆炸半径最小。
  8. 工具描述压缩:用 LLM 压缩每个途经网关的工具描述并缓存到 SQLite。实测 154 个工具从 62K 字符压到 17K 字符(减少 72%),每会话省约 11K Token,压缩后的描述完全可用。
  9. 审计日志与累积检测记忆:每次工具调用记录 Profile、后端、工具名、成败、耗时与错误;被 block 拒绝的来源写入 SQLite 黑名单,后续请求在抓取前即被拒,系统"记得"它见过什么。
  10. LLM Key 代理与 Matrix 反代:代理 Gemini/OpenAI/Anthropic 调用,让 API Key 永不离开可信边界;同时代理 Matrix 客户端-服务器 API,使内网 Agent 无需直连外网即可通信。

安装配置

  • PyPI 安装:pip install mcp-trentina-crunchtools
  • 零安装运行:uvx mcp-trentina-crunchtools
  • 容器方式(含 Prompt Guard 2 86M 分类器):podman run quay.io/crunchtools/mcp-trentina
  • 必配环境变量:GEMINI_API_KEY(第三层与压缩需要)、TRENTINA_GATEWAY_ENABLED=true、TRENTINA_PROFILES_PATH=/path/to/profiles.yaml,以及各 Profile 的 TRENTINA_PROFILE__TOKEN。

使用步骤

  1. 用 pip 或 uvx 安装包,或拉起官方容器镜像。
  2. 配置 GEMINI_API_KEY、开启网关模式并指定 profiles.yaml 路径。
  3. 在 profiles.yaml 中为每个 Agent 定义工具白名单、防御设置与鉴权方式,并设置各自的 Bearer Token。
  4. 在 MCP 客户端(如 Claude Code)的 mcpServers 中把 trentina 指向 http://localhost:8019/gateway//mcp,带上 Authorization: Bearer ,即可开始调用。

适用场景

  • 企业内多 Agent 共用一套 MCP 后端,需要统一管控与审计;
  • 需要防止提示注入、数据外泄等针对 Agent 的攻击;
  • 自主型 Agent 与人类监督型 Agent 需要分级工具权限;
  • 需要隐藏或集中管理 LLM API Key,避免明文散落各处;
  • 需要给 Agent 的 MCP 上下文"瘦身"、降低 Token 成本;
  • 内网 Agent 需要安全访问 Matrix 等外部网络服务。

适用人群

Agent 平台工程师、企业 AI 基础设施/SRE、安全工程师、需要为多 Agent 制定权限与审计策略的团队负责人。

工作原理

Trentina 处在 Agent 与所有 MCP 后端之间。请求进入时先按 Profile 鉴权,再经参数守卫校验,然后转发给对应后端;后端返回后,响应守卫与三层防御流水线依次审查内容,最后附带裁决结果(通过、标记或拦截)交给 Agent,全过程写入 SQLite 审计日志与黑名单。工具描述在途经时被 LLM 压缩并缓存。

官方链接

团队信息

由 AI 猎手自动发现

评论与建议

0 条评论