enigmagent-mcp について
enigmagent-mcpは、MCPクライアント向けのローカル暗号化ボールトサーバーです。秘密情報を保存時に暗号化し、既定ではメタデータのみを一覧表示します。平文の返却には明示的な有効化が必要です。
主な機能
- 01AES-256-GCMによるボールト暗号化
- 02既定でメタデータのみを一覧表示
- 03ドメイン拘束付き秘密情報解決(任意)
- 04認証付きローカルループバックRESTモード
- 05バージョン1ボールトの読み取り
活用シーン
- 01API秘密情報のローカル暗号化保存
- 02MCPクライアントによる秘密情報メタデータの確認
- 03有効化後に一致するオリジン向け秘密情報を解決
MCP 対応
stdioでMCPサーバーを提供し、既定では `enigmagent_list` を公開します。`enigmagent_resolve` は、平文解決を明示的に有効にした場合のみ利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y enigmagent-mcpVAULT_PASSWORDシークレットMaster password used to decrypt the local EnigmAgent vault (AES-256-GCM + Argon2id).VAULT_PATHPath to the vault.json file (default: ./vault.json).ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
enigmagent-mcp 2.0.0
enigmagent-mcp は、MCP 対応クライアント向けのローカル暗号化ボールトサーバーです。Argon2id から導出した AES-256-GCM 鍵で秘密の値を保存し、ボールトファイルを保存時に暗号化した状態に保ちます。
バージョン 2.0.0 では、セキュリティ境界を明確にしています。
- MCP はメタデータのみのモードで起動します。オペレーターが
--allow-raw-resolveを渡すか、ENIGMAGENT_ALLOW_RAW_RESOLVE=1を設定しない限り、秘密の値の生データ解決は無効です。 - REST は
127.0.0.1にバインドし、32~256 文字の Bearer トークンを要求します。 - REST リクエストには、ヘッダー、本文、タイムアウトの上限を設けています。レスポンスに任意の例外メッセージは含まれず、ブラウザー向けの制限の緩い CORS も許可しません。
- ボールトの書き込みでは、一時ファイルの使用、フラッシュ、置換、復旧用バックアップの作成を行います。
- バージョン 1 のボールトは引き続き読み取れます。新しいボールトではフォーマットバージョン 2 と、バージョン管理された KDF コンテキスト
enigma/v2を使用します。
生データ解決は、意図的にオプトイン方式の緊急措置としています。呼び出し元が宣言したオリジンは、ネットワーク上の宛先を証明するものではありません。また、信頼できる MCP クライアントであっても、返された平文をモデルに渡す可能性があります。信頼できないクライアントや共有プロセスでは、生データ解決を有効にしないでください。
インストールと実行
npx [email protected] --vault ./my.vault.json
初回実行時にターミナルへ接続されている場合は、既存のボールトの認証情報を求められます。信頼できるヘッドレスプロセスでは、プライベートな環境で ENIGMAGENT_USER と ENIGMAGENT_PASS を設定してください。サーバーはどちらの値も出力しません。
MCP モード
stdio トランスポートは、上限付きの JSON-RPC MCP 初期化、ping、tools/list、tools/call を実装しています。デフォルトのツールは次のとおりです。
enigmagent_list:名前、ドメイン、作成日時のみを返します。
生データ解決を明示的にオプトインすると、次のツールも公開されます。
enigmagent_resolve:要求されたオリジンがエントリーのドメインバインディングと一致する場合に限り、値を返します。
オリジンは正規化され、ユーザー認証情報を埋め込んでいない HTTP(S) URL に制限されます。通知、不正な JSON、サイズ超過のフレーム、無効なツール引数、初期化前の呼び出しは、プロセスを終了させることなく処理されます。
認証が必要な REST
set ENIGMAGENT_API_TOKEN=use-a-random-32-character-token-or-longer
npx [email protected] --mode rest --port 3737 --vault ./my.vault.json
GET /health は、認証不要の最小限の稼働確認エンドポイントです。GET /status と GET /list には Authorization: Bearer <token> が必要です。POST /resolve にもトークン、JSON コンテンツタイプ、生データ解決の明示的な有効化が必要です。このサービスはブラウザー起点のリクエストを拒否し、ループバックのみにバインドします。
クライアント設定アダプター
integrations.js は、Claude Desktop、Cursor、Continue、Cline、Open WebUI、AnythingLLM、LM Studio、Zed、Goose、Windsurf 向けの、テスト済み設定ビルダーを提供します。これらは標準の MCP stdio コマンドを使用する、保守されている設定例です。各プロジェクトの公式プラグイン、推奨、または採用を示すものではありません。
開発と検証
npm ci
npm test
npm run check
npm run benchmark
npm pack --dry-run
テストでは、保存時の暗号化動作、ドメイン照合、認証情報の誤り、バージョン 1 の移行読み取り、バックアップからの復旧、上限付き MCP フレーミングとセッション順序、認証付き REST、10 種類すべての設定アダプターを検証します。ベンチマークでは合成データを使用し、秘密を出力せずに作成、追加、解決のレイテンシを報告します。
リリース内容
過去の 1.0.5 ツリーは、ソースアーカイブおよび SHA-256 マニフェストとともに versions/1.0.5/ に保存されています。2.0.0 リリースは package.json、server.json、manifest.json で一貫して表されています。公開は、リポジトリの CI およびリリースチェックを条件とします。
対象範囲と脅威モデル
このプロジェクトは、通常の保存時における平文の漏えいと、メタデータ一覧ツールからの意図しない返却からボールトの内容を保護します。侵害されたオペレーティングシステム、ロック解除済みメモリにアクセスできるプロセス、悪意のあるクライアントコード、サイドチャネル、スワップやコアダンプ、信頼できないモデルに対してオペレーターが生データ解決を明示的に有効にした場合からは保護しません。エコシステム全体に関するより広範なガイダンスについては、メインの EnigmAgent プロジェクトにある SECURITY.md を確認してください。
MIT ライセンスです。LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。