内容
# mcp-trentina-crunchtools
<!-- mcp-name: io.github.crunchtools/trentina -->
安全的MCP服务器,用于隔离网页内容提取,具有两层提示注入防御。
## 工具列表
| 工具 | 层级 | 描述 |
|------|--------|-------------|
| `safe_fetch` | L1 | 获取URL,净化,返回markdown。注入失败。 |
| `safe_read` | L1 | 读取本地文件,净化,返回markdown。注入失败。 |
| `quarantine_fetch` | L1+L2 | 获取URL,净化,通过Q-Agent提取。注入警告。 |
| `quarantine_read` | L1+L2 | 读取本地文件,净化,通过Q-Agent提取。注入警告。 |
| `quarantine_scan` | L1+L2 | 预飞行扫描:检测注入向量而不返回内容。 |
| `quarantine_stats` | — | 会话统计,配置和黑名单摘要。 |
## 架构
- **第一层(确定性):** 7阶段净化管道,去除隐藏的HTML、不可见的unicode、编码的有效载荷、渗出URL和LLM分隔符。
- **第二层(Q-Agent):** 隔离的Gemini Flash-Lite LLM,用于语义内容提取 — 无工具,无内存,无SDK。
## 安装
```bash
# PyPI
pip install mcp-trentina-crunchtools
# uvx(零安装)
uvx mcp-trentina-crunchtools
# 容器
podman run quay.io/crunchtools/mcp-trentina
```
## 配置
```bash
# 第二层(Q-Agent)所需
export GEMINI_API_KEY=your-key
# 可选
export QUARANTINE_MODEL=gemini-2.0-flash-lite # 默认
export QUARANTINE_FALLBACK=layer1 # 或 "fail"
export QUARANTINE_MAX_CONTENT=100000 # Q-Agent最大字符数
export QUARANTINE_DB=/data/trentina.db # SQLite黑名单路径
export QUARANTINE_TRUST_CONFIG=~/.config/mcp-env/mcp-trentina-trust.json
```
## Claude 代码
```json
{
"mcpServers": {
"mcp-trentina-crunchtools": {
"command": "uvx",
"args": ["mcp-trentina-crunchtools"]
}
}
}
```
## 许可证
AGPL-3.0-or-later