MaskFlow PII proxy について
MaskFlow PII proxy は、他の MCP サーバーをラップし、ツール呼び出しの引数に含まれる個人情報をバックエンド到達前にマスキングして、結果では対応するプレースホルダーを復元します。一般的な個人情報に加え、Aadhaar、PAN、GSTIN などのインドの識別情報も検出します。
主な機能
- 01ツール引数内の個人情報をマスキング
- 02ツール結果でプレースホルダーを復元
- 03インドの識別情報を検出
- 04接続ごとのプレースホルダーマップ
- 05ツールが加えた個人情報も任意でマスキング
- 06stdio と HTTP に対応
活用シーン
- 01個人情報を含む引数を外部 MCP サーバーへ送信
- 02ツール呼び出しで Aadhaar や PAN を処理
- 03ツールが結果に加えた個人情報の Agent への返却を防止
- 04既存の MCP バックエンドをラップ
MCP 対応
stdio または HTTP のバックエンドをラップする MCP プロキシです。`tools/call` の引数をバックエンド到達前にマスキングし、結果ではプレースホルダーを復元します。`tools/list`、プロンプト、リソースの要求は変更せずに転送します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
maskflow-mcp
任意の MCP サーバーをラップし、エージェントのツール通信から個人識別情報(PII)を除外するModel Context Protocolプロキシです。バックエンドのツールに届く前に、送信する tools/call の引数内の PII をマスキングし、結果では元の値に戻します。プレースホルダーは、エージェントの実行全体を通じて一貫します。
エージェントは、ユーザーの PII(氏名、メールアドレス、PAN、Aadhaar、電話番号)をツール引数として、サードパーティの MCP サーバーにそのまま渡すことがよくあります。このプロキシは、境界で実際の値を遮断する、すぐに使えるシムです。MaskFlow の検出エンジンを実行するため、汎用 PII に加えて、インドの識別情報(Aadhaar、PAN、GSTIN、UPI、IFSC、ABHA、インド人の氏名/住所)にも対応します。
MIT ライセンス。利用制限なし、テレメトリなし。
インストール
pip install maskflow-mcp
# or, no install:
uvx maskflow-mcp stdio --backend "npx -y @modelcontextprotocol/server-github"
fastmcp(LLM ベンダーの SDK を同梱しない 2.x 系)を取得します。最初の検出実行時に小さな spaCy モデルをダウンロードします。--patterns-only を指定するとダウンロードをスキップできます。
使い方
stdio(Claude Desktop、ほとんどのエージェント)
エージェントの接続先を maskflow-mcp に設定し、実際のサーバーを --backend で指定します。
// claude_desktop_config.json
{
"mcpServers": {
"github": {
"command": "maskflow-mcp",
"args": ["stdio", "--backend", "npx -y @modelcontextprotocol/server-github",
"--pass-env", "GITHUB_TOKEN"]
}
}
}
または、設定ファイルですでに定義されているサーバーをラップします。
maskflow-mcp stdio --config ./claude_desktop_config.json --backend-name github
HTTP
maskflow-mcp http --backend https://example.com/mcp --host 127.0.0.1 --port 9000
オプション
| フラグ | デフォルト | 説明 |
|---|---|---|
--backend | – | バックエンドのコマンドライン、または URL |
--config / --backend-name | – | Claude Desktop 形式の JSON ファイルからバックエンドを読み込みます |
--pass-env VAR | – | 環境変数を stdio バックエンドに転送します(繰り返し指定可能) |
--min-confidence | 0.5 | 検出しきい値 |
--patterns-only | off | spaCy NER の処理をスキップします(高速になりますが、単独の氏名/住所の検出は行われません) |
--mask-tool-results | off | ツールが結果に追加した PII もマスキングします。ツールが返したプレースホルダーのマスキング解除だけでなく、追加分も対象になります |
--session-ttl | 3600 | 接続ごとのセッションの有効期間 |
マスキングされる内容
tools/call の引数は、文字列と数値の値のみ(キーは対象外)を走査し、接続のセッションを通じてマスキングされます。結果のテキストと構造化コンテンツではマスキングが解除され、ツールが返したプレースホルダーが元に戻ります。デフォルトでは、ツールが結果に追加した未加工の PII はそのまま通過します。--mask-tool-results を指定すると、それもマスキングされ、エージェントに表示されなくなります。
tools/list、prompts/*、resources/* は変更せずに通過します(デフォルトではリソースのコンテンツはマスキングされません)。
PII の安全性
トークンと値のマップは接続ごとにメモリ内に保持され、ログに記録されることはありません。バックエンドに送信されるのはマスキング済みの値だけです。設計については、MaskFlow リポジトリの docs/mcp.md を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。