mcpField
T
Trentina

Trentina

ローカル
github.com/crunchtoolsセキュリティ11今日更新

Trentina について

Trentinaは、AIエージェントとMCPサーバー、ウェブ、メッセージング、LLMプロバイダーの間に置くセキュリティゲートウェイです。多層のプロンプトインジェクション防御やポリシー検査、エージェント別プロファイルを適用し、ツールや応答のコンテキストを圧縮します。

主な機能

  1. 013層のプロンプトインジェクション検査
  2. 02ポリシーに基づく送信呼び出しの検査
  3. 03ツールのフィルタリングとスキーマ圧縮
  4. 04エージェント別のプロファイルと認証情報
  5. 05ウェブクライアント向けOAuth認証
  6. 06監査と防御状況の監視

活用シーン

  1. 01エージェントに入る信頼できないコンテンツの検査
  2. 02ツールの制限と引数・結果の検証
  3. 03エージェントごとに異なるバックエンドと認証情報を設定
  4. 04OAuth認証を介したウェブクライアントの接続

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 エージェントと、それらがやり取りするあらゆるものとの間に位置します。MCP サーバー、ウェブ、Matrix、LLM プロバイダー、アラートなどです。あらゆる入口でプロンプトインジェクションを防ぎ、コンテキストウィンドウに届く内容を縮小し、エージェントが言いくるめて回避できないポリシーを適用します。名前は、1377 年のラグーザの trentino に由来します。船は沖合に 30 日間停泊し、誰かが上陸するまで待ちました。商取引の流れを止めず、危険なものは何も入り込ませません。

デモ:リクエストが Trentina の認証、ポリシー、防御、最小化の各段階を通過します。続いてターミナルでは、135 個のツールのリストが 6 個のツールとして提供され、コメントにインジェクションが含まれるレシピページは拒否された後に redact を通じて回答され、外部アドレスへの送信は拒否される一方、下書きは通過します

Trentina を選ぶ理由

  1. セキュリティ。 信頼できないコンテンツは、あらゆる入口で 3 つの独立したレイヤーを通過します。L1 の決定論的チェック、L2 のローカル分類器、ツールを持たない隔離済み LLM です。ガード付き実行では、英語で記述したルールに照らして送信内容を判定します。防御される対象とされない対象については、カバレッジをご覧ください。 防御パイプライン · ベンチマーク · OWASP マッピング

  2. トークンの節約。 非表示のツール、短い名前、圧縮されたスキーマ、短縮された説明、最小化された応答により、本番トラフィックで 応答のバイト数を 52% 削減します。圧縮 · ツールのフィルタリング

  3. 決定性。 パラメーターガード、応答ガード、許可リストはゲートウェイが評価するため、指示を無視するエージェントは、バックエンドに呼び出しが届く前に停止されます。 パラメーターガード · 応答ガード

  4. 認証。 Trentina は、claude.ai などのウェブクライアント向け OAuth 認可サーバーです。動的なクライアント登録、プロビジョニング済みクライアント、外部発行者、または静的ベアラーをプロファイルごとに選択できます。 認証

  5. アーキテクチャの柔軟性。 個人用アシスタント、コーディングエージェント、スウォームごとに、独自のバックエンド、防御モード、認証情報を持つプロファイルを割り当てられます。プロファイル · オペレーター

クイックスタート

# 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 PipelineL1/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 BridgeE2EE の終端処理と双方向の判定
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

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。