mcpField
Z
zio-llm-proxy

zio-llm-proxy

ローカル
github.com/pizzaeueuAI・エージェント077 週間前に更新

zio-llm-proxy について

zio-llm-proxyは、Function Callingを介してOpenAIのチャットモデルと設定済みのローカルMCPサーバーを接続します。PIIを確認し、機密情報をモデルに渡すかどうかを利用者が選べるようにしたい場合に向いています。

主な機能

  1. 01Function CallingによるOpenAIモデル接続
  2. 02複数のローカルMCPサーバー設定
  3. 03正規表現によるPIIチェック
  4. 04機密情報の共有を利用者が判断

活用シーン

  1. 01チャットからファイルシステムMCPサーバーを呼び出す
  2. 02MCPサーバーの応答に含まれる機密情報を確認

MCP 対応

設定したローカルMCPサーバーをOpenAIのチャットモデルに接続し、利用可能なツールをFunction Callingでモデルに渡します。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

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

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

詳細

プロジェクトの説明

このプロキシは、Function Calling を介して OpenAI のチャットモデルとローカル MCP サーバーを連携させ、機密データを検証するためのカスタム PII チェックを可能にします

ローカルでの実行

デフォルトの例は filesystem MCP サーバーで動作し、Docker イメージとして事前にインストールしておく必要があります。 ただし、data/McpConfig.conf ファイルを変更することで、任意の数の別の MCP サーバーを設定できます

  • Docker Compose ファイルの OPEN_AI_API_KEY 変数に OpenAI API キーを設定します
  • Docker Compose ファイルの SHARED_DIRECTORY_ABSOLUTE_PATH 変数に、モデルと共有するフォルダーの絶対パスを設定します
  • docker compose up を実行します
  • http://localhost:4173/ を開き、モデルとのチャットを開始します

MCP プロキシ MVP の仕様

  • OpenAI モデルで MCP 呼び出しを行う機能を提供します
  • LLM に渡すデータの PII チェックを実行します
  • 機密情報を LLM と共有する許可をユーザーに求めます
  • 認証機構はありません
  • メトリクスはありません
  • 厳密な SLA はありません

前提条件

  • ツール呼び出しに対応した OpenAI チャットモデル。

トレードオフ

  • アプリは状態を保持し、インメモリの永続化レイヤーを使用します。
    • クラッシュまたは再起動が発生すると、ユーザーのワークフローは失われます
    • アプリは水平スケーリングに対応していません
  • サポートする MCP サーバーは設定で指定され、メモリ内に保存されます。
    • 新しい MCP サーバーを追加するには再起動が必要です。
  • PII 検出は英語のみをサポートします
  • 機密データが見つかった場合、ユーザーが直接確認できる形では提供されません。
    ユーザーにはデータが機密情報であることだけが通知され、LLM へのアクセスを許可するか拒否するかを選択できます
  • MCP サーバーから取得したデータがコンテキストウィンドウに収まらない場合、アプリはユーザーにエラーを返し、対話を停止します

成功時のシーケンス図全体

sequenceDiagram
    autonumber
    participant User
    participant Proxy
    participant LLM
    participant MCP
    participant PII

    User ->> Proxy : Send Message to LLM
    Proxy ->> LLM : Send user message + tool list

    LLM ->> Proxy : Send request to use tools
    Proxy ->> MCP  : Call needed tools
    MCP ->> Proxy : Return results

    Proxy ->> PII: Test data
    PII ->> Proxy: Send test results
    Proxy ->> User: Ask to share data
    User ->> Proxy: Give access 


    Proxy ->> LLM : send message with tool results
    LLM ->> Proxy : send final response
    Proxy ->> User: send final response

ユーザーが機密情報の共有を望まない場合、対話全体が停止します。

sequenceDiagram
    autonumber
    participant User
    participant Proxy
    participant LLM
    participant MCP
    participant PII
    Proxy ->> PII: Test data
    PII ->> Proxy: Send test results
    Proxy ->> User: Ask to share data
    User ->> Proxy: Do not give access
    Proxy ->> User: Send acknowledge 
MCP の注入
  • 利用可能な MCP サーバーに関するデータは、Function Calling を使用してモデルに提供されます
  • モデルとのやり取りには、公式 Java SDK でサポートされている Tools 機能を使用します
  • MCP サーバーとの通信には、公式 MCP Java SDK を使用します
PII モジュール
  • PII チェックは正規表現に基づき、将来的な拡張に備えてカプセル化されます
  • PII モジュールはデータが機密情報かどうかを確認するだけで、リクエストからデータをマスキングまたは削除することはありません

コメント

MCP は初めてですか?

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

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