Trentina について
Trentinaは、AIエージェントとMCPサーバー、ウェブ、メッセージング、LLMプロバイダーの間に置くセキュリティゲートウェイです。多層のプロンプトインジェクション防御やポリシー検査、エージェント別プロファイルを適用し、ツールや応答のコンテキストを圧縮します。
主な機能
- 013層のプロンプトインジェクション検査
- 02ポリシーに基づく送信呼び出しの検査
- 03ツールのフィルタリングとスキーマ圧縮
- 04エージェント別のプロファイルと認証情報
- 05ウェブクライアント向けOAuth認証
- 06監査と防御状況の監視
活用シーン
- 01エージェントに入る信頼できないコンテンツの検査
- 02ツールの制限と引数・結果の検証
- 03エージェントごとに異なるバックエンドと認証情報を設定
- 04OAuth認証を介したウェブクライアントの接続
MCP 対応
プロファイルごとにMCPクライアント向けのゲートウェイエンドポイントを提供し、設定済みバックエンドへリクエストを振り分けてツールポリシーと防御を適用します。Trentina独自のコンテンツツールも公開できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
13掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| url | string | はい | 取得する URL(http:// または https://) |
詳細
Trentina
Trentina は、AI エージェントと、それらがやり取りするあらゆるものとの間に位置します。MCP サーバー、ウェブ、Matrix、LLM プロバイダー、アラートなどです。あらゆる入口でプロンプトインジェクションを防ぎ、コンテキストウィンドウに届く内容を縮小し、エージェントが言いくるめて回避できないポリシーを適用します。名前は、1377 年のラグーザの trentino に由来します。船は沖合に 30 日間停泊し、誰かが上陸するまで待ちました。商取引の流れを止めず、危険なものは何も入り込ませません。
Trentina を選ぶ理由
-
セキュリティ。 信頼できないコンテンツは、あらゆる入口で 3 つの独立したレイヤーを通過します。L1 の決定論的チェック、L2 のローカル分類器、ツールを持たない隔離済み LLM です。ガード付き実行では、英語で記述したルールに照らして送信内容を判定します。防御される対象とされない対象については、カバレッジをご覧ください。 防御パイプライン · ベンチマーク · OWASP マッピング
-
トークンの節約。 非表示のツール、短い名前、圧縮されたスキーマ、短縮された説明、最小化された応答により、本番トラフィックで 応答のバイト数を 52% 削減します。圧縮 · ツールのフィルタリング
-
決定性。 パラメーターガード、応答ガード、許可リストはゲートウェイが評価するため、指示を無視するエージェントは、バックエンドに呼び出しが届く前に停止されます。 パラメーターガード · 応答ガード
-
認証。 Trentina は、claude.ai などのウェブクライアント向け OAuth 認可サーバーです。動的なクライアント登録、プロビジョニング済みクライアント、外部発行者、または静的ベアラーをプロファイルごとに選択できます。 認証
-
アーキテクチャの柔軟性。 個人用アシスタント、コーディングエージェント、スウォームごとに、独自のバックエンド、防御モード、認証情報を持つプロファイルを割り当てられます。プロファイル · オペレーター
クイックスタート
# 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 では、LLM プロバイダーのいずれかのキーが必要です。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 | プロファイルごとにエンドポイントを1つ用意:ルーティング、ツール名、サーキットブレーカー |
| Per-Agent Profiles | プロファイルのスキーマ、モード、簡素化、ロール、マルチエージェントのセットアップ |
| Operator Profile | ゲートウェイをインストールして実行するエージェント |
| Configuration | すべての環境変数 |
| Authentication | 静的ベアラー、DCR またはプロビジョニング済みクライアントを使った OAuth プロキシ、委任された発行者 |
| Backend OAuth | 各プロファイルは、それぞれのグラントを使って OAuth 専用バックエンドにサインインします |
| Defense Pipeline | L1/L2/L3、モード、カバレッジ、既知のギャップ |
| Benchmark | レイヤー別および L3 プロバイダー別の検出率 |
| Corpora | 防御の評価に使われる攻撃セットと無害なセットのすべて |
| Prompt Packs | モデルごとに調整された判定プロンプト |
| Content Tools | 出口ガードとファイルのアクセス制限を備えた fetch、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 Bridge | E2EE の終端処理と双方向の判定 |
| Channel Bridges | エージェントごとに複数のアップストリームを利用(RCS、...)するための仕組みとブリッジのワイヤー契約 |
| Matrix Reverse Proxy | 分離されたネットワーク上のエージェント向け Matrix |
| Client Egress | エージェント自身のクライアントが指定ホストに接続するための CONNECT トンネル |
| Git Transport | 指定されたリポジトリとブランチへのクローン、フェッチ、プッシュ |
| HTTP(S) Egress | エージェントの送信リクエストを判定し、指定された宛先への送信元として再構成 |
| 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
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。