mcpField
R
redacta-mcp

redacta-mcp

ローカル
github.com/nickjlambセキュリティ83 週間前に更新

redacta-mcp について

Redactaは、AI処理の前に患者識別情報をラベル付きトークンへ置き換え、レポートを返す医療文書の仮名化ツールです。MCPサーバーは他のインターフェースとエンジンを共有し、ローカルでの再識別にも対応します。

主な機能

  1. 01患者識別情報の検出と置換
  2. 02仮名化レポートの出力
  3. 03トークンから元の値を復元
  4. 04HIPAA Safe Harborモード
  5. 05セルフホスト可能なHTTPサービス

活用シーン

  1. 01AI処理前の臨床テキストの仮名化
  2. 02処理後に患者情報をローカルで復元
  3. 03自組織の環境内で機密テキストを処理

MCP 対応

MCPサーバーは対応クライアントに臨床テキストの仮名化機能を提供し、TypeScriptエンジンと検出ロジックを共有します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"nickjlamb-redacta": {
"command": "npx",
"args": [
"-y",
"redacta-mcp"
]
}
}
}
起動コマンドnpx -y redacta-mcp

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

パッケージ
npmredacta-mcp2.1.1

ツール

7

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
textstringはい保護するテキスト。
categoriesarrayいいえ適用するパターンセット。デフォルトは clinical + general です。'clinical' = NHS/NI/DOB/MRN/郵便番号/SSN/ZIP/メールアドレス/電話番号/氏名;'general' = URL、IP、決済カード、IBAN、口座番号、車両登録番号;'safeharbor' = 最も厳格な HIPAA Safe Harbor。clinical + general を含み、すべての日付(DOB だけでなく)、年齢、ファクス、運転免許証、デバイスシリアル番号、VIN、医療保険プラン番号も削除します。

詳細

Redacta

CI DOI engine npm downloads redacta-mcp PyPI App Store Anthropic MCP Directory Glama MCP server Listed on mcpservers.org self-hosted

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つのエンジン、多彩な利用先

1つの検出エンジンが8つの利用先を支えます。iOSアプリ、Share Extension、ウィジェットはJavaScriptCoreを介してデバイス上で実行され、MCPサーバー、CLI、TypeScriptライブラリ、FigJamプラグインはエンジンを直接利用します。Pythonパッケージは同じ機能を再現し、エージェントスキルはLLMによる推論を加えます。

利用先フォルダー入手方法
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サービス+Kubernetesgateway-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推論を提供します。

仕組み

Redactaのプライバシー境界:臨床文書はあなたの境界内で、決定論的なパターン、推論、セルフチェックによって匿名化され、トークン化されたテキストとトークンマップが生成されます。AIツールに渡されるのはトークン化されたテキストのみで、トークンマップが外部に出ることはありません。処理結果が戻ると、復元によって元の識別情報がローカルで復元されます。生の識別情報が境界を越えることはありません。

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 が開発しました。

コメント

MCP は初めてですか?

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

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