mcpField
T
Trentina

Trentina

本地服务
github.com/crunchtools安全11今天更新

关于 Trentina

Trentina 是连接 AI Agent 与 MCP 服务、网页、消息平台及 LLM 提供商的安全网关。它通过分层提示注入防护、策略检查和按 Agent 配置来控制流量,并压缩工具及响应上下文。

主要功能

  1. 01三层提示注入检查
  2. 02按策略检查外发调用
  3. 03工具过滤和 Schema 压缩
  4. 04按 Agent 配置独立配置和凭证
  5. 05为网页客户端提供 OAuth 授权
  6. 06审计和防护监控

适用场景

  1. 01检查进入 Agent 的不可信内容
  2. 02限制工具并验证参数和结果
  3. 03为不同 Agent 配置独立后端和凭证
  4. 04通过 OAuth 授权连接网页客户端

MCP 相关

为 MCP 客户端按配置文件提供网关端点,将请求路由到已配置的后端并应用工具策略及防护。也可提供 Trentina 自有的内容工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"crunchtools-trentina": {
"command": "uvx",
"args": [
"mcp-trentina-crunchtools"
]
}
}
}
启动命令uvx mcp-trentina-crunchtools

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypimcp-trentina-crunchtools0.5.0

工具

13

收录的工具列表 · 更新于 2 周前

参数类型必填说明
urlstring是要获取的 URL(http:// 或 https://)

详细介绍

trentina:一艘中世纪商船停泊在近海,一名检查员乘坐划艇检查每箱代码,确认无误后才允许其通过港口闸门

Trentina

Trentina 位于你的 AI Agent 与它们接触的一切之间:MCP 服务、网络、Matrix、大模型提供商和告警。它会在每个入口阻止提示词注入,缩减进入上下文窗口的内容,并强制执行 Agent 无法绕过的策略。它的名字源自 Ragusa 在 1377 年实行的 trentino 制度:船只需在近海停泊三十天,之后才能有人上岸。贸易照常流通,危险之物则无法进入。

演示:请求经过 Trentina 的身份验证、策略、防御和精简阶段;随后在终端中,将包含 135 个工具的列表作为 6 个工具提供;含有注入内容的食谱页面评论被拒绝,之后通过 redact 处理并给出回答;向外部地址发送消息遭拒,而草稿则成功发送

为什么选择 Trentina

  1. 安全性。 不可信内容在每个入口都会经过三个相互独立的层:L1 确定性检查、L2 本地分类器、L3 无工具的隔离大模型。受保护的执行会根据你用英语编写的规则判断外发内容。哪些内容受到防护、哪些不受防护,请参阅覆盖范围。 防御管线 · 基准测试 · OWASP 映射

  2. 节省令牌。 隐藏工具、短名称、精简后的架构、压缩后的描述和精简后的响应:在生产流量中,响应字节数减少 52%。压缩 · 工具筛选

  3. 确定性。 参数防护、响应防护和允许列表由网关评估,因此即使 Agent 无视指令,也会在后端收到调用之前被拦截。 参数防护 · 响应防护

  4. 身份验证。 对于 claude.ai 等 Web 客户端,Trentina 充当 OAuth 授权服务器:可按配置文件选择动态客户端注册、已配置的客户端、外部签发方或静态 bearer。 身份验证

  5. 架构灵活性。 个人助手、编码 Agent 和 Agent 群组可各自使用独立配置文件,并配置各自的后端、防御模式和凭据。配置文件 · 运维人员指南

快速开始

# The container image is the distribution: the L2 model, the parsers and
# their process isolation ship in it. There is no PyPI package.
podman run -d -p 127.0.0.1:8019:8019 \
    -v ./profiles.yaml:/config/profiles.yaml:ro,Z \
    -e TRENTINA_GATEWAY_ENABLED=true \
    -e TRENTINA_PROFILES_PATH=/config/profiles.yaml \
    -e TRENTINA_PROFILE_MYAGENT_TOKEN=your-token \
    -e OPENROUTER_API_KEY=your-key -e TRENTINA_MODEL_PROVIDER=openrouter \
    quay.io/crunchtools/trentina \
    --transport streamable-http --host 0.0.0.0 --port 8019

L3 需要一个大模型提供商的密钥。Gemini、OpenRouter、OpenAI、Anthropic 或 Ollama 均可。最简的 profiles.yaml:

profiles:
  myagent:
    auth:
      bearer_token_env: TRENTINA_PROFILE_MYAGENT_TOKEN
    backends:
      web:
        url: "internal://web"         # Trentina's own content tools
        tools_allow: ["*"]
      gmail:
        url: "http://gws-personal:8000/mcp"
        tools_allow:                  # it may read and draft; you send
          - search_gmail_messages
          - get_gmail_message_content
          - draft_gmail_message
    defense:
      enforcement: block

然后将 Claude Code 指向它:

{
  "mcpServers": {
    "trentina": {
      "type": "streamable-http",
      "url": "http://localhost:8019/gateway/myagent/mcp",
      "headers": { "Authorization": "Bearer your-token" }
    }
  }
}

文档

文档说明
MCP Gateway每个配置文件一个端点:路由、工具名称、断路器
Per-Agent Profiles配置文件架构、模式、精简、角色、多 Agent 设置
Operator Profile安装并运行网关的 Agent
Configuration所有环境变量
Authentication静态 bearer、通过 DCR 或预配置客户端实现的 OAuth 代理、委托颁发者
Backend OAuth每个配置文件使用自己的授权凭据登录仅支持 OAuth 的后端
Defense PipelineL1/L2/L3、模式、覆盖范围和已知缺口
Benchmark各层及各 L3 提供商的检测率
Corpora防御效果评估所用的所有攻击集和良性数据集
Prompt Packs针对各模型调优的裁判提示词
Content Toolsfetch、read、dir、content、search,含出口防护和文件访问限制
Blocklist被拒绝的来源将持续被拒绝
Tool Filtering允许列表、拒绝列表、glob 模式
Tool Pinning新增或变更的工具在获批前会被暂缓使用
Tool Discovery为不支持工具搜索的客户端提供查找/调用或按会话加载功能
Description Compression描述压缩和架构精简
Token Routing响应精简(已实现);委托(提议中)
Guarded Execution裁判根据纯英文策略检查对列出工具的调用
Parameter Guards按工具验证参数
Response Guards按工具验证结果
Audit Log调用记录、统计、监控
LLM Key Proxying将提供商密钥保留在网关内部
Matrix BridgeE2EE 终止和双向裁判
Channel Bridges每个 Agent 可连接多个上游(RCS、……)及桥接线路协议
Matrix Reverse Proxy为隔离网络中的 Agent 提供 Matrix
Client Egress为 Agent 自身客户端提供至列出主机的 CONNECT 隧道
Git Transport克隆、获取并推送至列出的存储库和分支
HTTP(S) Egress审查 Agent 的出站请求,并以指定目标为源重新发起请求
Deployment Hardening容器标志、密钥、出口、启动检查
Cockpit Plugin实时防御流水线仪表板
Internal: Gateway Design原始设计文档,供贡献者参考

开发

uv sync --all-extras
uv run ruff check src tests
uv run mypy src
uv run pytest -v

容器镜像由 CI 构建,绝不在本地构建;请参阅 CLAUDE.md。演示由 demo.yml 录制;其测试文件位于 docs/demo/。

许可证

AGPL-3.0-or-later

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。