Skip to main content
Glama

mcp-redact

AIツールとログ、設定、エラーを共有する前に機密テキストを編集するための、ローカルファーストなCLIおよびMCPサーバー。

mcp-redactは、Claude Code、Cursor、その他のAIツールにテキストを貼り付ける前に、シークレットや機密データを先に編集(redact)するのに役立ちます。

なぜこれが必要なのか

開発者は、ログ、.envファイル、リクエストヘッダー、スタックトレース、設定スニペットをAIツールに貼り付けることがよくあります。それらのスニペットには、APIキー、ベアラートークン、Cookie、メールアドレス、その他の機密値が含まれている可能性があります。

mcp-redactは、そのフローをより安全にするために構築されました:

  • ローカルファースト

  • 決定論的な正規表現ベースの編集

  • CLIとMCPの両方で共有されるエンジン

  • [REDACTED_EMAIL]のような読みやすいプレースホルダー

Before / After

Before

Authorization: Bearer abcdefghijklmnop123456
user_email=user@example.com
callback=https://example.com/callback?token=secret123&lang=en
Cookie: session=abcdef123456; theme=dark

After

Authorization: Bearer [REDACTED_AUTHORIZATION_HEADER]
user_email=[REDACTED_EMAIL]
callback=https://example.com/callback?token=[REDACTED_SENSITIVE_URL]&lang=en
Cookie: session=[REDACTED_COOKIE_HEADER]; theme=dark

クイックスタート

要件:

  • Node.js 20+

  • pnpm

依存関係のインストール:

pnpm install

サンプルファイルでの実行:

pnpm dev -- --file ./examples/sample.log

標準入力(stdin)経由でテキストをパイプ:

pnpm dev -- < ./examples/sample.log

サンプルファイル

このリポジトリには、ローカルテストやデモに使用できるサンプル入力が含まれています:

  • examples/sample.log

  • examples/sample.env

  • examples/sample.json

  • examples/sample.yaml

  • examples/mcp-redact.config.json

すべてのサンプル値は架空のものです。

CLIの使用方法

標準入力(stdin)から読み込む

pnpm dev -- < ./examples/sample.log

ファイルから読み込む

pnpm dev -- --file ./examples/sample.log
pnpm dev -- --file ./examples/sample.env

出力をファイルに書き込む

pnpm dev -- --file ./examples/sample.env --output ./sanitized.env

JSON出力

pnpm dev -- --file ./examples/sample.log --format json

出力例:

{
  "redactedText": "Authorization: Bearer [REDACTED_AUTHORIZATION_HEADER]\nuser_email=[REDACTED_EMAIL]\ncallback=https://example.com/callback?token=[REDACTED_SENSITIVE_URL]&lang=en\nCookie: session=[REDACTED_COOKIE_HEADER]; theme=dark\n",
  "summary": {
    "totalMatches": 4,
    "byType": {
      "authorization_header": 1,
      "email": 1,
      "sensitive_url": 1,
      "cookie_header": 1
    }
  }
}

要約のみの出力

pnpm dev -- --file ./examples/sample.log --summary-only

出力例:

Total matches: 4
By type:
- authorization_header: 1
- cookie_header: 1
- email: 1
- sensitive_url: 1

有効なグループを制限する

個人情報検出器のみを実行:

pnpm dev -- --file ./examples/sample.log --only personal

実行時に1つのグループを無効にする:

pnpm dev -- --file ./examples/sample.log --disable http

設定ファイルを使用する

pnpm dev -- --file ./examples/sample.log --config ./examples/mcp-redact.config.json

この設定例ではpersonalcustomグループのみを有効にし、組み込みのemail検出器を無効にし、カスタムのinternal-ticketルールを追加しています。この設定では、sample.logにはカスタムチケット値が含まれておらず、メール編集が無効になっているため、変更されません。

MCPの使用方法

MCPサーバーを起動する

開発モード:

pnpm mcp:dev

ビルドして実行:

pnpm build
pnpm mcp:start

MCPツール

redact_text

入力:

{
  "text": "Authorization: Bearer abcdefghijklmnop123456",
  "groups": ["http"],
  "configPath": "./examples/mcp-redact.config.json"
}

redact_file

入力:

{
  "filePath": "./examples/sample.log",
  "groups": ["http"],
  "configPath": "./examples/mcp-redact.config.json"
}

どちらのツールも同じ構造の形状を返します:

{
  "redactedText": "...",
  "summary": {
    "totalMatches": 4,
    "byType": {
      "authorization_header": 1,
      "email": 1
    }
  }
}

MCPクライアントから接続する

環境に適したサーバーコマンドを使用してください:

  • 開発環境: pnpm mcp:dev

  • ビルド済み出力: pnpm mcp:start

MCPクライアントがコマンドと引数を必要とする場合は、ローカルプロジェクトを指定し、stdio経由でサーバーを実行してください。サーバーはredact_textredact_fileという2つのツールを公開します。

設定

デフォルトの設定ファイル名:

mcp-redact.config.json

明示的な設定パスが指定されていない場合、mcp-redactは現在の作業ディレクトリからそのファイルを読み込もうとします。デフォルトファイルが存在しない場合、実行は通常通り継続されます。存在しない設定パスを明示的に渡すと、コマンドは失敗します。

設定例:

{
  "enabledGroups": ["personal", "custom"],
  "disabledDetectors": ["email"],
  "customRules": [
    {
      "name": "internal-ticket",
      "pattern": "TICKET-[0-9]{6}",
      "placeholder": "[REDACTED_TICKET]"
    }
  ]
}

設定フィールド

  • enabledGroups: 組み込みおよびカスタムの検出器をリストされたグループに制限します

  • disabledDetectors: emailgithub-tokenなどの検出器を名前で無効にします

  • customRules: 組み込みルールと同じパイプラインを使用する、ローカルの正規表現ベースの検出器を追加します

サポートされている検出器

secrets

  • ベアラートークン

  • JWT

  • GitHubトークン

  • OpenAI形式のAPIキー

  • Anthropic形式のAPIキー

  • AWSアクセスキーID

  • password=, token=, secret=, api_key=のようなキーと値のシークレット

  • 秘密鍵ブロック

personal

  • メールアドレス

  • 電話番号

  • IPv4

http

  • Authorizationヘッダーのベアラー値

  • Cookieヘッダーの機密値

  • token=のような機密性の高いURLクエリ値

ローカル開発

一般的なコマンド:

pnpm install
pnpm test
pnpm lint
pnpm typecheck
pnpm build
pnpm mcp:dev

ロードマップ

  • より多くのトークンおよびAPIキーパターン

  • 誤検知の抑制の改善

  • より多くの実用的なログおよび設定例

  • より多くのエンドツーエンドのMCPクライアント例

A
license - permissive license
-
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nine710/mcp-redact'

If you have feedback or need assistance with the MCP directory API, please join our Discord server