mcpField
Y
Yagami AI Context Firewall

Yagami AI Context Firewall

ローカル
matthewtracy.github.ioセキュリティ13 週間前に更新

Yagami AI Context Firewall について

Yagamiは、モデル、検索、メモリ、ツールへのエージェントコンテキストの流れを管理する、開発者やプラットフォーム・セキュリティチーム向けのオープンソースのコンテキストファイアウォールです。コンテキストをローカルで分類してバージョン管理されたポリシーを適用し、プロンプト内容を記録せずに判断の証跡を残します。

主な機能

  1. 01ローカルでのコンテキスト分類と追跡
  2. 02バージョン管理されたポリシーのプレビューと再生
  3. 03機密データのルーティング制限
  4. 04関数とMCPツール呼び出しの統制
  5. 05内容を含まない監査証跡
  6. 06利用制限と可観測性

活用シーン

  1. 01リポジトリの秘密情報を端末内に保持
  2. 02危険なツール呼び出しに承認を要求
  3. 03CIでポリシー変更をテスト
  4. 04プロンプトを記録せずに判断を監査

MCP 対応

YagamiはStreamable HTTP MCPインターフェースを公開し、MCP呼び出しにも共通のポリシー、追跡、変換、監査プロセスを適用します。ツール実行前の評価や一回限りの承認要求が可能です。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"matthewtracy-yagami": {
"command": "uvx",
"args": [
"yagami"
],
"env": {
"YAGAMI_HEADLESS": "<YAGAMI_HEADLESS>",
"YAGAMI_MCP_SERVER_ENABLED": "<YAGAMI_MCP_SERVER_ENABLED>",
"YAGAMI_REQUIRE_AUTH": "<YAGAMI_REQUIRE_AUTH>"
}
}
}
}
起動コマンドuvx yagami
設定が必要な環境変数
YAGAMI_HEADLESS
YAGAMI_MCP_SERVER_ENABLED
YAGAMI_REQUIRE_AUTHシークレット

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypiyagami0.8.3

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Yagami

モデル、検索、メモリ、ツールへのアクセスを管理するオープンソースの AI コンテキストファイアウォールです。

CI PyPI Python License: MIT

ドキュメント | ゲートウェイ API | デプロイ | セキュリティ | ロードマップ

60 秒で試す

認証情報不要のデモでは、設定済みの Ollama モデルがインストールされている場合はそれを使用し、 インストールされていない場合は、ポリシーのみのフォールバックであることを明示して起動します。次のコマンドから選択してください。

uvx yagami demo
# or: python -m pip install yagami && yagami demo
# or: docker run --rm -p 127.0.0.1:8000:8000 ghcr.io/matthewtracy/yagami:latest yagami demo --host 0.0.0.0 --allow-remote

http://127.0.0.1:8000 を開くか、クローンしたリポジトリで docker compose -f compose.demo.yaml up を実行してください。デモモードではクラウドへのルーティングをブロックしながら、 UI、ポリシー、リネージ、ストレージ、監査の各経路を試せます。ローカル AI の回答を利用するには、 デモの開始前に Ollama をインストールし、 ollama pull llama3.2:3b-instruct-q4_K_M を実行してください。

https://github.com/user-attachments/assets/a7be9449-eafc-4acb-99b6-ea39edc43cd2

会話履歴、チャット、セッション分析を表示した Yagami ワークスペース

Yagami は、エージェントのコンテキストの送信先と、実行可能なツールを制御する必要がある開発者やプラットフォーム/セキュリティチーム向けです。たとえば、コーディング エージェントはリポジトリのシークレットをデバイス上に保持し、危険なツール呼び出しの前に、ID に紐づいた一度限りの承認を必須にできます。

Yagami は、ソフトウェアとローカルモデル、クラウド LLM、検索システム、メモリ、ツールの間に位置します。既存の OpenAI SDK アプリケーションは、 base_url を 1 か所変更するだけで導入できます。Yagami はその後、コンテキストをローカルで分類し、バージョン管理された ポリシーを適用して、各判断についてコンテンツを含まない証跡を記録します。

データを送信しないセキュリティツアーを試すか、 シークレットの封じ込め、汚染された検索結果、ID に紐づいたツール承認を扱う 主要なセキュリティデモを実行してください。

アプリケーションを保護する

永続的なユーザー設定を初期化し、ホストを確認して、Yagami を起動します。

yagami init
yagami doctor
yagami serve

Yagami プロセスまたはサンプルクライアントで Anthropic/OpenAI 互換 SDK を使用する場合は、 yagami[providers] をインストールしてください。PDF の取り込みと OS のキー保存には、それぞれ別の ingest と desktop の追加パッケージが必要です。設定を参照してください。

次に、OpenAI クライアントがゲートウェイを参照するように設定します。

from openai import OpenAI

client = OpenAI(
    base_url="http://127.0.0.1:8000/v1",
    api_key="your-yagami-project-key",
)

response = client.chat.completions.create(
    model="yagami-auto",
    messages=[{"role": "user", "content": "Summarize this document."}],
    metadata={
        "purpose": "internal-documentation",
        "sensitivity": "none",
        "session_id": "example-session",
    },
)
print(response.choices[0].message.content)

呼び出し元が指定できる感度値は、none、phi、phi_medical、secret です。呼び出し元のヒントによってポリシーをより厳しくすることはできますが、Yagami が検出した 感度を下げることはできません。

本番環境での認証、ポリシー、デプロイの設定については、 デプロイガイドに従ってください。

チームが Yagami を使う理由

  • 分類後の決定論的な封じ込め。 コンテキストが PHI またはシークレットとしてラベル付けされると、デフォルトポリシーではローカルバックエンドのみが許可されます。機密性の高い履歴とツールの結果にも、同じ制限が適用されます。
  • 一元管理されたデータプレーン。 Chat Completions、Responses、ブラウザーチャット、MCP は、同じポリシー、リネージ、変換、出力 DLP、予算、監査のパイプラインを使用します。
  • コードとしてのポリシー。 判断をプレビューして再生し、CI で回帰テストケースを実行し、決定論的な Ed25519 署名済みポリシーバンドルを昇格できます。
  • プロンプトを記録せずに証跡を確保。 ポリシーパスポート、ハッシュチェーン化された監査記録、Prometheus メトリクス、OpenTelemetry スパンには、プロンプトや完了内容ではなく、ラベル、ハッシュ、ID、件数が記録されます。
  • ポリシーを重複させずにモデルを選択。 1 つの適用ポイントから、ローカルエンジン、クラウドプロバイダーへの直接接続、または既存の OpenAI 互換ゲートウェイにルーティングできます。
  • ガバナンス対象のツール。 関数ツールと MCP 呼び出しを実行前に評価し、短時間のみ有効な一回限りの承認を必須にでき、受信した認証情報が下流サーバーに転送されないようにします。

主な機能

分野含まれる機能
互換 APIOpenAI Chat Completions、Responses API のコア機能、Streamable HTTP MCP
ID 管理スコープ付きプロジェクト API キー、OIDC/JWT ワークロード ID
ポリシーバージョン管理された YAML/JSON ルール、制限的なマージ、プレビュー、再生、シャドーモード、回帰テスト、署名済みバンドル
プライバシーローカル分類、呼び出し元による機密性の指定、コンテキストリネージ、AES-GCM トークン化、再水和、出力 DLP、オプションの Presidio
ツール関数呼び出し、ガバナンス対象の組み込みスキル、stdio およびリモート MCP、一回限りの承認
運用支出/レート/同時実行数/コンテキストの上限、ヘルスチェック、Prometheus、OpenTelemetry、SIEM エクスポート、承認 Webhook
パッケージングPython 3.11-3.14、PyPI、非 root コンテナー、Docker Compose、Helm、SBOM、チェックサム、ビルド来歴

モデルと統合

ローカルでの生成は、Ollama、オプションの llama-cpp-python ランタイムを介した llama.cpp、ループバックの OpenAI 互換サービスを介した Microsoft Foundry Local で動作します。クラウドへの直接接続アダプターは、Anthropic、OpenAI、Mistral、Groq、OpenRouter、Google Gemini、Stability AI の画像生成に対応しています。

Yagami は、LangChain/LangGraph、Vercel AI SDK、Microsoft Presidio、Splunk HEC と汎用 SIEM Webhook、Slack と Teams の承認通知、LiteLLM、Portkey、Kong、Envoy などの上流ゲートウェイとも連携します。統合レシピをご覧ください。

比較

Yagami は、あらゆるゲートウェイ、バリデーター、セキュリティスキャナーを置き換えることを目指しているわけではありません。重点を置いているのは、分類後の決定論的な封じ込め、ガバナンス対象のツール実行、コンテンツを含まない判断の証跡です。LiteLLM、Guardrails AI、NeMo Guardrails、Presidio、LlamaFirewall、またはプロバイダーの直接 SDK のほうが適している場合と、それらを Yagami と組み合わせる方法については、率直な比較ガイドをご覧ください。

適用の仕組み

flowchart LR
    A["Application or agent"] --> B["Authentication and project limits"]
    B --> C["Local classification and context lineage"]
    C --> D["Versioned policy"]
    D --> E{"Allowed destination or capability"}
    E --> F["Local or approved model"]
    E --> G["Retrieval, memory, or tool"]
    F --> H["Output inspection"]
    G --> H
    H --> I["Response"]
    D --> J["Content-free policy passport and audit chain"]
    H --> J

最終的な決定権はポリシーにあります。スラッシュコマンドやバックエンドの明示的な選択で、機密データに関する制限を上書きすることはできません。分類器に障害が発生した場合、デフォルトではローカルにフェイルし、クラウドルートを完全にブロックしたり、1 日あたりの支出上限に達した時点で停止したりできます。

重要な制限事項

Yagami は適用コンポーネントであり、コンプライアンス認証ではありません。自動検出では機密データを見逃す可能性があります。厳格なデプロイでは、呼び出し元が機密性を指定し、ローカルのみを許可するポリシーを使用し、組織固有のケースをテストし、ホストまたはボリュームのレイヤーでストレージを暗号化したうえで、脅威モデルを確認してください。

このプロジェクトはアルファ版です。本番環境で使用する前に、独自の要件に照らしてポリシーと障害時の動作を検証してください。

ドキュメント

コントリビューション

内容を絞った Issue とプルリクエストを歓迎します。 CONTRIBUTING.md、 セキュリティポリシー、 行動規範をお読みください。

ライセンス

MIT - 著作権 (c) 2026 Matthew Tracy および Yagami コントリビューター。

コメント

MCP は初めてですか?

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

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