redacta-mcp について
Redactaは、AI処理の前に患者識別情報をラベル付きトークンへ置き換え、レポートを返す医療文書の仮名化ツールです。MCPサーバーは他のインターフェースとエンジンを共有し、ローカルでの再識別にも対応します。
主な機能
- 01患者識別情報の検出と置換
- 02仮名化レポートの出力
- 03トークンから元の値を復元
- 04HIPAA Safe Harborモード
- 05セルフホスト可能なHTTPサービス
活用シーン
- 01AI処理前の臨床テキストの仮名化
- 02処理後に患者情報をローカルで復元
- 03自組織の環境内で機密テキストを処理
MCP 対応
MCPサーバーは対応クライアントに臨床テキストの仮名化機能を提供し、TypeScriptエンジンと検出ロジックを共有します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
7掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| text | string | はい | 保護するテキスト。 |
| categories | array | いいえ | 適用するパターンセット。デフォルトは clinical + general です。'clinical' = NHS/NI/DOB/MRN/郵便番号/SSN/ZIP/メールアドレス/電話番号/氏名;'general' = URL、IP、決済カード、IBAN、口座番号、車両登録番号;'safeharbor' = 最も厳格な HIPAA Safe Harbor。clinical + general を含み、すべての日付(DOB だけでなく)、年齢、ファクス、運転免許証、デバイスシリアル番号、VIN、医療保険プラン番号も削除します。 |
詳細
Redacta
AI による処理や共有の前に、医療文書や臨床文書を仮名化します。Redacta は患者識別情報をラベル付きトークン([PATIENT_NAME_1]、[NHS_NUMBER_1]、[DATE_OF_BIRTH_1]、…)に置き換え、臨床的な意味を保ったまま、匿名化済みのテキストとともに匿名化レポートを返します。
Agent Skillとして始まり、現在は8つの形態で提供される単一のエンジンとなっています。iOS アプリ、エージェントスキル、MCP サーバー、Kubernetes デプロイメントを備えたセルフホスト可能な HTTP サービス、2つのライブラリ、CLI、FigJam ホワイトボードプラグインです。
本番環境での利用をご検討中ですか? Redacta は、臨床データや患者データを扱う AI エージェントを提供するチーム向けに、定額制のデザインパートナー統合を少数提供しています。お客様の環境へのデプロイ、実際のワークフロー1つの統合、DPO 向けのデータフロー文書の作成を行います。 詳細 →
1つのエンジン、多彩な利用先
| 利用先 | フォルダー | 入手方法 |
|---|---|---|
| iOSアプリ — iPhone(アプリ、Share Extension、ウィジェット) | ios-app/ | Xcodeでビルドしてください — ios-app/README.mdを参照 |
| エージェントスキル(Claude Code/アプリ/API) | SKILL.md, scripts/ | openclaw skills install redacta (ClawHub) |
| MCPサーバー(Claude Desktop、Cursor、…) | mcp-server/ | npx -y redacta-mcp (npm · MCP Registry · Anthropic MCP Directory) |
| TypeScriptライブラリ | npm-package/ | npm i @pharmatools/redacta (npm) |
| Pythonライブラリ | python-package/ | pip install redacta (PyPI) |
| コマンドラインツール | cli-package/ | npx redacta-cli (npm) |
| セルフホスト可能なHTTPサービス+Kubernetes | gateway-service/ | docker build — gateway-service/README.mdを参照 |
| FigJamプラグイン | figjam-plugin/ | Figma Community |
検出ロジックは1か所に集約されています。TypeScriptエンジン
(@pharmatools/redacta、npm-package/内)は、MCPサーバーと
FigJamプラグインが利用し、iOSアプリはJavaScriptCoreを介してデバイス上で実行します。
Pythonパッケージはpipユーザー向けに同じ機能を再現し、エージェントスキルは
決定論的なパターンに加えて、自由記述の名前を対象としたLLM推論を提供します。
仕組み
2つのレイヤーがあります。
- パターン(決定論的)。 バンドルされたスクリプト(
scripts/redact_structured.py、 Python標準ライブラリのみを使用し、ネットワーク接続なし)が、形式の固定された識別情報に一致します。 NHS番号(Modulus-11検証済み)、英国の国民保険番号、生年月日、英国の郵便番号、 電話番号、メールアドレス、病院番号/MRNが対象です。米国のSSNとZIPコードにも対応しています。 - 推論(判断)。 続いてスキルが、パターンでは対応できない情報をエージェントに処理させます。 患者名(担当する医療従事者の名前と区別)、親族や介護者、住所、個人を特定できる年齢が対象です。
- セルフチェック。 最後に出力を再確認し、見落とされた識別情報がないかを調べてからレポートを作成します。
逆方向の処理にも対応しています。再識別(scripts/reinstate.py)では、
以前の匿名化で作成されたトークンマップを使って元の値を復元できます。そのため、文書を
匿名化して別のAIツールで処理し、実際の情報をローカルで元に戻すことができます。
匿名化 → 処理 → 再識別という一連の処理が完結し、識別情報が存在するのは常にあなたのマシン上だけです。
Safe Harborモード。 HIPAA Safe Harbor(または「米国の匿名化」)を指定すると、 Redactaはより厳格な処理を適用します。すべての日付(生年月日だけではありません)、あらゆる具体的な年齢、 および残りのHIPAA識別子(FAX番号、証明書/ライセンス番号、デバイスのシリアル番号、VIN、 医療保険プランの加入者番号)を対象とします。
Kubernetes でのセルフホスト
識別可能なテキストを環境外に出せない組織は、自社のインフラ内で Redacta を実行できます。既存の Kubernetes クラスターに通常の YAML でデプロイ可能な小規模な HTTP サービス(gateway-service/)で、redact/reinstate 用のステートレスな 2 つのレプリカを Service の背後に配置し、必要に応じて保護 → リリースのループ用に単一レプリカのセッション境界を設けます。ヘルスプローブ、リソース制限、制限的なセキュリティのデフォルト設定、PHI を含まないログにも対応しています。テキストは外部の AI サービスに届く前に仮名化され、処理境界はお客様の管理下に置かれます。手順(ローカルの kind クラスターを含む):
gateway-service/k8s/README.md ·
コンセプト: docs/KUBERNETES.md。
DPO から質問されるような環境にデプロイしますか? セキュリティとデータ保護に関する 1 ページの概要を
pharmatools.ai/redacta-security でご覧いただけます。
インストール
Claude Code
git clone https://github.com/nickjlamb/redacta ~/.claude/skills/redacta
その後、/redacta を実行するか、臨床テキストの redact や匿名化を依頼したときに自動で起動するようにします。
Claude アプリ/API
リポジトリのフォルダーを ZIP にして、スキルとしてアップロードします。
内容
| パス | 内容 |
|---|---|
SKILL.md | スキル — 指示とメタデータ |
reference.md | パターンの仕様、Modulus-11 アルゴリズム、NI プレフィックスのルール、生年月日と臨床日付のルール、トークンの語彙、制限事項 |
scripts/redact_structured.py | 決定論的なパターンレイヤー |
scripts/reinstate.py | 再識別レイヤー(トークンマップから元の値を復元) |
scripts/test_redact_structured.py | パターンレイヤーのテスト |
scripts/test_reinstate.py | 再識別レイヤーのテスト |
evaluations.json | 評価シナリオの例 |
テストを実行します。
python3 scripts/test_redact_structured.py
python3 scripts/test_reinstate.py
制限事項について
Redacta は強力な第一の防御策ですが、保証を提供するものではありません。あらゆる識別子を検出できるわけではなく、正式なデータ保護プロセスの代わりにもなりません。テキストを共有する前に、必ず redact レポートを確認してください。
ライセンス
MIT-0(MIT No Attribution)。PharmaTools.AI が開発しました。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。