mcpField
U
Unix pass

Unix pass

ローカル
github.com/Neanderthalセキュリティ22 日前に更新

Unix pass について

Unix pass は、既存の Unix `pass`/GPG ストアに AI ツールからアクセスするための MCP サーバーです。パス単位の制限と明示的な設定による書き込み制御のもとで、パスワードや TOTP を扱いたい利用者向けです。

主な機能

  1. 01デフォルトで読み取り専用
  2. 02パスグロブによる対象範囲の制限
  3. 03パスワードとメタデータの取得
  4. 04TOTP コードの生成
  5. 05書き込みと Git 操作のオプトイン

活用シーン

  1. 01パスワードや項目フィールドの確認
  2. 02項目からの TOTP コード生成
  3. 03指定したストアのパスだけにアクセスを制限

MCP 対応

パスワードストアの操作を MCP ツールとして公開し、デフォルトでは読み取り専用です。書き込み、破壊的操作、ネットワーク操作は個別の環境変数で有効化します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"neanderthal-unix-pass": {
"command": "uvx",
"args": [
"unix-pass-mcp"
],
"env": {
"PASS_MCP_ALLOWED_PATHS": "<PASS_MCP_ALLOWED_PATHS>",
"PASSWORD_STORE_DIR": "<PASSWORD_STORE_DIR>"
}
}
}
}
起動コマンドuvx unix-pass-mcp
設定が必要な環境変数
PASS_MCP_ALLOWED_PATHSComma-separated entry globs. Scope the server to entries you intend to expose.
PASSWORD_STORE_DIRシークレットOptional absolute password-store path; defaults to the user's ~/.password-store.

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

パッケージ
pypiunix-pass-mcp0.2.1

ツール

24

掲載時のツール一覧 · 1 日前に更新

このツールにパラメーターはありません。

詳細

██╗   ██╗███╗   ██╗██╗██╗  ██╗    ██████╗  █████╗ ███████╗███████╗    ███╗   ███╗ ██████╗██████╗
██║   ██║████╗  ██║██║╚██╗██╔╝    ██╔══██╗██╔══██╗██╔════╝██╔════╝    ████╗ ████║██╔════╝██╔══██╗
██║   ██║██╔██╗ ██║██║ ╚███╔╝     ██████╔╝███████║███████╗███████╗    ██╔████╔██║██║     ██████╔╝
██║   ██║██║╚██╗██║██║ ██╔██╗     ██╔═══╝ ██╔══██║╚════██║╚════██║    ██║╚██╔╝██║██║     ██╔═══╝
╚██████╔╝██║ ╚████║██║██╔╝ ██╗    ██║     ██║  ██║███████║███████║    ██║ ╚═╝ ██║╚██████╗██║
 ╚═════╝ ╚═╝  ╚═══╝╚═╝╚═╝  ╚═╝    ╚═╝     ╚═╝  ╚═╝╚══════╝╚══════╝    ╚═╝     ╚═╝ ╚═════╝╚═╝

既存の Unix pass/GPG ストアを AI ツールに接続します。

デフォルトでは読み取り専用です。書き込み、鍵の管理、ネットワーク操作は、明示的な環境変数によるオプトインが必要です。 サブプロセス呼び出しは単一の経路に限定。入力を厳格に検証します。シェルも、クリップボードも、ログへのシークレット出力もありません。

Python 3.11+ License: MIT MCP 2.3 Tests


ステータス — M5 完了。 読み取り・安全な書き込み・鍵の管理・TOTP/OTP・git・セキュリティ強化機能をすべて提供済みです。 ユニットテスト、実際の GPG を使った統合テスト、stdio プロトコルの回帰テストを備えた 24 個のツールがあります。 インストール例、デモ、 リリース/公開手順をご覧ください。

デモ

合成ストアを使った実際の MCP 呼び出し

83 秒の MP4 · 録画方法

ベータ版をお試しですか?インストールに関するフィードバックをお寄せください。 公開状況では、パッケージとディレクトリへの公開状況を個別に追跡しています。

目次


このプロジェクトの目的

pass は gpg(1) とファイルシステムを薄くラップするものです。シェルコマンドを実行できるものなら何でも利用できますが、そのまま LLM に公開すれば、rm -rf を実行して後悔することになりかねません。このサーバーは、次の機能を提供します。

  • pass の安全なサブセットを利用する、型付きの MCP インターフェース。
  • デフォルトでは読み取り専用。書き込みと破壊的な操作には、明示的な環境変数によるオプトインが必要です。
  • 厳格な入力検証 — シェルを使わず、パスの脱出を許さず、標準入力を介したシークレットの不正な受け渡しも防ぎます。
  • サニタイズ済みのエラー出力、追記専用の監査ログ、gpg-agent の事前チェック。

設計とセキュリティモデルの詳細は.claude/rules/architecture.mdをご覧ください。


クイックスタート

Python 3.11 以降、uv、pass、GnuPG、初期化済みのストアが必要です。 公開済みの PyPI リリースをインストールします。

claude mcp add unix-pass -e 'PASS_MCP_ALLOWED_PATHS=web/*' -- \
  uvx --from unix-pass-mcp==0.2.1 unix-pass-mcp

コピーして貼り付けて使える設定例:Codex、 Claude Code、 Claude Desktop。 ソースチェックアウトからの開発や、その他のクライアント設定の詳細については、インストール手順をご覧ください。

これで読み取り専用の機能を利用できます。変更操作を有効にするには、次を実行します。

PASS_MCP_ALLOW_WRITES=1 \
PASS_MCP_ALLOWED_PATHS=web/* \
uv run unix-pass-mcp

必要条件

必須
コンポーネント用途備考
Python ≥ 3.11ランタイムCI では 3.11/3.12/3.13 をテスト済み
pass が PATH 上にあることラップ対象のバイナリpass --version が動作する必要があります
gpg(GnuPG ≥ 2.2)が PATH 上にあること復号unlock_agent でのみ直接使用します
gpg-agentパスフレーズのキャッシュサーバーは起動時に gpg-connect-agent /bye を確認し、接続可能なエージェントがない場合は復号を拒否します。初回使用時に GnuPG が自動的に起動します。
設定済みの GPG 鍵復号/pass init に必要信頼レベルを「ultimate」に設定する必要があります。Arch wikiをご覧ください
初期化済みのパスワードストア管理対象まだない場合は pass init <gpg-id> を実行します
Pinentry — 1 つ選択してください

サーバー自体は対話型のパスフレーズ入力プロンプトを表示できません。pass/gpg がハングします。次のいずれかが必要です。

  1. ~/.gnupg/gpg-agent.conf で設定したGUI pinentry — pinentry-gnome3、pinentry-qt、pinentry-qt5、または pinentry-gtk-2。キャッシュの有効期間ごとに、最初の復号時にデスクトップダイアログが表示されます。推奨です。
  2. zenity または kdialog をインストール — キャッシュの有効期間ごとに unlock_agent MCP ツールを 1 回呼び出して、gpg-agent のキャッシュをウォームアップします。gpg-agent.conf を変更できない場合はこちらを使用してください。
  3. ウォームアップ済みのエージェント — MCP とやり取りする前に、実際のターミナルで pass show <name> を実行します。キャッシュは default-cache-ttl(デフォルトは 600s)に従って期限切れになります。
OS のインストールに関するヒント
# Arch / Manjaro
sudo pacman -S pass gnupg pinentry zenity         # zenity optional, for unlock_agent

# Debian / Ubuntu
sudo apt install pass gnupg pinentry-gnome3 zenity

# Fedora
sudo dnf install pass gnupg2 pinentry-gnome3 zenity

# macOS (Homebrew)
brew install pass gnupg pinentry-mac
オプション
コンポーネント有効になる機能
pass-otpotp のツール間の互換性(サーバーにはネイティブの RFC 6238 実装があり、実行時の依存関係はありません)
gitストアが git リポジトリの場合、書き込み時の自動コミットに加えて、git_status/git_log/git_pull/git_push
開発
コンポーネント理由
uv推奨インストーラー/ランナー
キー生成をサポートする gpg統合テストでは、一時的な GNUPGHOME 内で使い捨てキーを生成します

インストール

uv sync --locked --extra dev # for development
uv pip install .             # for use

MCP ホストに接続する

Claude Desktop

~/.config/Claude/claude_desktop_config.json(またはプラットフォームに応じた同等のファイル)に追加します。

{
  "mcpServers": {
    "pass": {
      "command": "uv",
      "args": ["run", "--directory", "/absolute/path/to/unix-pass-mcp", "unix-pass-mcp"],
      "env": {
        "PASSWORD_STORE_DIR": "/home/you/.password-store"
      }
    }
  }
}
Claude Code
# Read-only
claude mcp add pass -- uv run --directory /absolute/path/to/unix-pass-mcp unix-pass-mcp

# With writes enabled and path scope (recommended pairing)
claude mcp add pass -s user \
  -e PASS_MCP_ALLOW_WRITES=1 \
  -e PASS_MCP_ALLOWED_PATHS='web/*' \
  -- uv run --directory /absolute/path/to/unix-pass-mcp unix-pass-mcp

各 -e KEY=VALUE フラグは、起動するサーバーに環境変数を 1 つ設定します。既存のサーバーの環境変数を変更するには、claude mcp remove pass -s user を実行してから追加し直します。CLI ではその場で編集できません。claude mcp get pass で確認してください。

自律型エージェントを操作する

unix-pass-mcp とブラウザー操作用 MCP を組み合わせたアカウント作成/プロフィール入力ワークフローでは、.claude/rules/agent-workflow.md をエージェントのシステムプロンプトに読み込んでください。このファイルでは、標準の命名規則(web/<domain>/<handle>)、本文の形式、登録/ログイン/ローテーションのループを定義しています。


ツール

機能ゲートごとに分類された 24 個のツールです。

読み取り専用 — 常に利用可能
ツール説明
store_infoストアを調べます:パス、サブディレクトリごとの受信者、git/エージェント/pinentry/署名の状態、警告。復号は行いません。
listパス名を一覧表示します(サブフォルダーでの絞り込みも可能)。復号は行いません。
find末端の名前を部分一致で検索します。復号は行いません。
showエントリーの 1 行を復号して返します(デフォルトは 1 行目、つまりパスワード)。機密として扱われます。
show_field名前を指定したメタデータフィールド(URL、Username、otpauth など)を復号して返します。大文字と小文字は区別されません。
show_metadataエントリーの構造(フィールド名、パスワードの有無、行数)のみを復号して返します。パスワードの値は返しません。
unlock_agentデスクトップのパスワードダイアログ(zenity/kdialog)を表示し、ループバック pinentry を使って gpg-agent のキャッシュをウォームアップします。複数の受信者がいるストアでは、target を指定できます。引数なしの呼び出しが wrong_passphrase_or_decrypt_failed を返す場合は、明示的にパス名を渡してください。これは、最小のエントリーがローテーション済みのサブキーで暗号化されているレガシーストアで発生することがあります。LLM にパスフレーズが渡ることはありません。
grep許可されたエントリーの復号済み本文を検索します。処理が遅く、コストがかかります(許可されたエントリーを復号します)。confirm_decrypt_all=true が必要です。機密として扱われます。PASS_MCP_ALLOWED_PATHS に従います。
otpエントリーの otpauth:// 行から現在の TOTP コードを計算します。コードと seconds_remaining を返します。機密として扱われます。RFC 6238 のネイティブ実装であり、実行時に pass-otp は必要ありません。
otp_uri生の otpauth:// URI(シークレットを含む)を返します。同じシークレットを別の場所で再登録する場合にのみ使用してください。
書き込み — PASS_MCP_ALLOW_WRITES=1 が必要です
ツール説明
insert1 行のエントリーを作成または上書きします。パスワードは stdin 経由で渡します(argv には渡しません)。force=true が指定されていない場合、上書きを拒否します。
insert_multilineエントリー全体を作成または上書きします(1 行目はパスワード、残りは Key: value メタデータです)。
set_fieldKey: value フィールドを 1 つ更新します。パスワードやその他の行は保持されます。書き込みを行わず、書き込まれる予定の本文を simulate=true で返します。
unset_fieldフィールドキーに一致するすべての行を削除します(大文字と小文字を区別しません)。一致する行がない場合は何もしません。ドライランには simulate=true を指定します。
generate新しいパスワードを生成します(長さは 1~1024、no_symbols は任意)。in_place=true の場合はメタデータを保持し、force=true の場合はすべてを上書きします。生成された値(機密情報)を返します。
mvエントリーまたはサブフォルダーの名前を変更、または移動します。宛先サブフォルダーの受信者が異なる場合は、再暗号化します。
cpエントリーまたはサブフォルダーをコピーします。再暗号化の動作は mv と同じです。
otp_set既存のエントリーの otpauth:// URI を追加または置換します。書き込む前に URI を検証します。
Git — git_status と git_log は常に使用可能です。git_pull と git_push には PASS_MCP_ALLOW_NETWORK=1 が必要です
ツール説明
git_status構造化されたステータスを返します:{clean, branch, upstream, ahead, behind, dirty_files}。ストアが Git リポジトリでない場合は拒否します。
git_log最近のコミットを [{hash, subject}, …] の形式で返します。limit のデフォルトは 20(最大 200)です。
git_pullgit pull --ff-only を実行します。分岐がある場合は拒否し、マージコミットやリベースは行いません。
git_pushgit push を実行します。--force は決して使用しません。
破壊的操作 — PASS_MCP_ALLOW_DESTRUCTIVE=1 が必要です
ツール説明
init新しい GPG 受信者を使ってストア(またはサブフォルダー)を初期化します。対象範囲内のすべてのエントリーを再暗号化します。新しい受信者のいずれかに対応する秘密鍵をユーザーが持っていない場合、force=true が指定されていない限り拒否します。空の gpg_ids リストを指定すると、サブフォルダーの .gpg-id を削除します。
reencrypt現在の受信者を使って init を再実行します。サブキーのローテーション後などに便利です。受信者が変更されていない場合は何もしません。

完全な機械可読インターフェース(すべての引数とエラーコード)は .claude/rules/api.md にあります。


設定

サーバー固有の環境変数:

変数デフォルト効果
PASS_MCP_ALLOW_WRITES未設定変更を伴うツールを使用するために必要です
PASS_MCP_ALLOW_DESTRUCTIVE未設定init / reencrypt に必要です
PASS_MCP_ALLOW_NETWORK未設定git_pull / git_push に必要です
PASS_MCP_ALLOW_UNSAFE未設定厳格な起動時チェックを回避します(ストアが全ユーザーから読み取り可能、umask が弱い場合など)。設定しないでください。
PASS_MCP_ALLOWED_PATHS未設定(= すべて)サーバーが操作できるエントリーを制限する、カンマ区切りの fnmatch グロブ
PASS_MCP_GREP_TIMEOUT_SECONDS120grep の呼び出しごとのタイムアウト(許可されたエントリーを復号します)
PASS_MCP_REQUIRE_AGENT1gpg-agent に接続できない場合、復号を拒否します
PASS_MCP_AUDIT_LOG~/.local/state/unix-pass-mcp/audit.log操作を記録する追記専用の JSONL ログ。空文字列を設定すると無効になります
PASS_MCP_TIMEOUT_SECONDS15サブプロセスの呼び出しごとのタイムアウト

標準の pass 環境変数は引き継がれます(PASSWORD_STORE_DIR、PASSWORD_STORE_KEY、PASSWORD_STORE_UMASK、…)。一覧については .claude/rules/architecture.md §5 を参照してください。

引き継がれないもの:

  • PASSWORD_STORE_GPG_OPTS — 悪意のある環境変数によって、--recipient(攻撃者へのサイレントな再暗号化)や --output(復号データの持ち出し)などの gpg フラグが注入される可能性があります。
  • PASSWORD_STORE_X_SELECTION、PASSWORD_STORE_CLIP_TIME — クリップボード関連ツールは除外されています(MCP 経由では意味がありません)。

セキュリティ態勢

シェルを使用しません。すべての pass 呼び出しは、シェル実行を無効にした引数リストを使い、単一の要所(pass_cli.run)を経由します。プロセスの起動は pass_cli.execute に集約されています。
厳格な入力検証。パス名は ^[A-Za-z0-9._@-][A-Za-z0-9._@/-]*$ に一致し、256 文字以下で、..、先頭の -、制御文字を含まない必要があります。gpg-id は許可リストに明示された値に一致する必要があります。
パスの許可リスト。PASS_MCP_ALLOWED_PATHS を使うと、たとえば "work/*,personal/notes/*" のようにサーバーの範囲を指定し、MCP ホストに公開するエントリを制限できます。この設定は grep と unlock_agent にも適用されます。
機密出力のフラグ付け。show、show_field、generate、otp、otp_uri、grep、およびシミュレーションされたフィールド操作には meta.sensitive = true が付与されるため、MCP ホストはログ記録やキャッシュを拒否できます。
標準エラーのサニタイズ。-----BEGIN/-----END マーカー間の内容は、エラーを発生させる前に削除されます。出力は 2 KB に切り詰められます。
監査ログには名前のみを記録。値、フィールドの内容、grep パターンは決して記録しません。
標準入力の分離。呼び出し元がコンテンツを明示的にパイプで渡している場合を除き、すべてのサブプロセスは stdin=DEVNULL で実行されます。これにより、子プロセスが誤って読み取ることで MCP の標準入出力 JSON-RPC のフレーミングが破損するのを防ぎます。
厳格な起動チェック。PASSWORD_STORE_UMASK が 077 より緩い場合、またはストアディレクトリが全ユーザーに読み取り可能な場合、起動を拒否します。PASS_MCP_ALLOW_UNSAFE=1 で回避できます(推奨しません)。

サーバーの指示では、モデルに対し、返されたシークレットを機密として扱い、応答、要約、ログ、または無関係なツール呼び出しで決して繰り返さないよう求めています。これはモデルへのガイダンスであり、技術的なログ記録の境界ではありません。MCP クライアントは、ツールの生の結果を会話履歴に保存する場合があります。ホストの会話履歴とログ記録のポリシーを確認し、適切に設定してください。

ローカルアプリケーションへのシークレットの受け渡し

このサーバーは、pass からローカルアプリケーションへ、サーバー側で隠されたまま受け渡す機能をまだ提供していません。show ツールは要求された値を MCP ホストとモデルに返します。回避策として、エージェントにシェル経由で pass show を実行させないでください。この方法では、このサーバーのパス検査と監査ポリシーを迂回し、出力がツール履歴に露出するおそれがあります。汎用的な受け渡しには、シークレットをアシスタントの会話履歴に残さないローカルクライアント/ブローカー経由の仕組み、またはユーザーが明示的に介在する転送が必要です。MCP ツールの説明だけでは、その経路を提供できません。


運用上の動作

範囲を限定した検索

grep は復号前に許可されたエントリ名を選択し、それぞれを個別に復号して、本文を基本正規表現で検索します。ヘッダーに似た内容によってエントリ名が変わることはありません。パターンはオペランドとして扱われるため、- で始まるものも含まれます。無効なパターンは復号前に失敗します。PASS_MCP_GREP_TIMEOUT_SECONDS は、検索全体に適用される正の有限の時間上限です。除外されたエントリは検索されないため、redacted_entries は常に 0 のままです。

ファイルシステムの封じ込め

エントリへのアクセスでは、ストア内のリンクを含め、シンボリックリンクされたファイルとディレクトリ構成要素を拒否します。検出と自動ロック解除の対象選択では、リンクを除外します。明示的なロック解除対象は、エージェントの確認を行う前に検証されます。ローカルストアは信頼できる所有者の管理下に置いてください。これらの CLI チェックでは、同じユーザーとして実行されている別のプロセスによる、同時進行のファイルシステム変更をサンドボックス化できません。

検出と Git の範囲

list と find は除外されたエントリを表示しません。パス範囲が有効な場合、受信者の検出で報告されるのは、表示可能なエントリの祖先に限られます。リモート URL からは、ユーザー情報、クエリパラメーター、フラグメントが除外されます。Git ツールはリポジトリ全体を対象とし、制限のないアクセス(パスの許可リストがない、または明示的に * が許可されていること)を必要とします。部分的なパスの許可では、Git の履歴やリポジトリ全体にわたるネットワーク操作を許可できません。

構造化メタデータと機微な結果

show_metadata は field_names、password_present、raw_lines を返します。フィールド値、パスワード、自由記述テキスト、OTP URI は返しません。これは以前の fields マッピングに代わるものです。明示的に機微なフィールドを読み取る場合は、show_field を使用してください。 どちらのフィールド編集ツールも、シミュレーションで復号後の変更前/変更後の本文全体を含むため、機微な出力を返すことを示します。カスタムの機微情報メタデータはホストへのヒントであり、ログ記録やキャッシュを防ぐプロトコル上の保証ではありません。検索クエリは監査されません。

PASS_MCP_TIMEOUT_SECONDS は、サブプロセスのデフォルトタイムアウトを設定します。正の有限数である必要があり、無効な値を指定すると、コマンド実行前に失敗します。明示的な操作ごとの予算(検索、鍵の管理、ネットワーク操作)がこれを上書きします。

ランタイムとキャンセル

MCP ハンドラーはワーカースレッドで実行されるため、時間のかかる GPG 操作によってプロトコル処理がブロックされません。変更を伴うツール呼び出しは、読み取り/変更/書き込み操作が重複しないように直列化されます。キャンセルするとワーカーにシグナルが送られ、そのサブプロセスグループが終了します。コマンドごとのタイムアウトによって、引き続き実行時間が制限されます。すでに pass によって完了した変更はキャンセルでロールバックできません。書き込みを再試行する前に、エントリーを確認してください。ロック解除ダイアログを含む本番環境のサブプロセス起動は、すべて pass_cli.execute に集約されています。ローカルツールは openWorldHint: false を示し、ネットワーク git ツールは openWorldHint: true を示します。

MCP SDK との互換性

サーバーは公式 SDK v2 の MCPServer API を使用し、mcp>=2.3,<3 が必要です。stdio トランスポートは、従来の初期化と、2026 年 7 月のリクエストごとのメタデータ/ディスカバリーの両方に対応しています。テストでは、両方のモードで実際の stdio クライアントを起動します。ロックファイルにはテスト済みの依存関係一式が記録されています。これを再現するには、uv sync --locked --extra dev を使用してください。


開発

uv run ruff check
uv run ruff format --check
uv run pytest -q tests/unit                                 # fast tests
PASS_MCP_INTEGRATION=1 uv run pytest -q tests/integration   # real-GPG tests

統合テストスイートでは、一時的な GNUPGHOME で使い捨ての RSA 鍵(有効期限 1 日、パスフレーズなし)を作成し、実際の pass をテストします。CI では、Python 3.11/3.12/3.13 で両方のティアを実行します。


免責事項

unix-pass-mcp は、パスワードストアと非決定的な大規模言語モデルの間のブリッジです。また、現実的なほとんどのデプロイ環境では、同じモデルセッションを共有するほかの MCP サーバー(ブラウザー自動化、シェル実行、ウェブリクエスト)とパスワードストアをつなぐブリッジでもあります。すべてのゲートがデフォルトで無効になっていても、このサーバーをインストールする目的は、LLM にシークレットへのアクセスを許可することです。次の項目はバグではありません。

  • LLM は、あなたから、ブラウザーの MCP が読み込んだ悪意のあるウェブページから、あるいは汚染されたツールの結果からプロンプトを受け取り、PASS_MCP_ALLOWED_PATHS 内の任意のエントリーを復号して、同じセッション内の別のツールに転送する可能性があります。
  • PASS_MCP_ALLOW_WRITES=1 の場合、LLM は対象範囲内のエントリーを上書き、名前変更、または生成して上書きできます。
  • PASS_MCP_ALLOW_DESTRUCTIVE=1 の場合、LLM はストアを別の受信者セット向けに再暗号化したり、サブフォルダーの .gpg-id を削除したりできます。
  • PASS_MCP_ALLOW_NETWORK=1 の場合、LLM は認証情報の変更を含むコミットを、設定済みの git リモートにプッシュできます。

機能ゲート、パスの許可リスト、監査ログ、機密出力フラグ、検証の強化により、ミスやプロンプトインジェクションによる被害範囲を抑えられます。これらによって、本番環境の認証情報ストアを監視なしのエージェントに任せても安全になるわけではありません。上記に記載したセキュリティ対策は、敵対的で急速に変化する脅威モデルに対する最善努力のエンジニアリングであり、正式な保証ではないものとして扱ってください。

以下はすべて、あなた自身の責任です。

  • 有効にする機能ゲートと、対象とするストア。
  • このソフトウェアを実行する MCP ホストの信頼境界。ホストが何を記録、キャッシュ、テレメトリーに送信するか、またはほかのサーバーに何を見せるか。
  • 破壊的な操作やネットワークアクセスを許可する前に、~/.password-store(および ~/.gnupg)をバックアップすること。
  • ~/.local/state/unix-pass-mcp/audit.log を定期的に確認すること。
  • エージェントが起こしたミスから復旧すること。取り消し機能はありません。

本ソフトウェアは「現状のまま」提供され、明示的か黙示的かを問わず、商品性、特定目的への適合性、権利非侵害性を含むがこれらに限定されない、いかなる保証もありません。作者および貢献者は、バグ、プロンプトインジェクション、設定ミス、または本ソフトウェアのその他の使用もしくは誤用に起因するかを問わず、データの損失、認証情報の侵害、ストアへのアクセス不能、シークレットの意図しない開示、サービスの停止を含むがこれらに限定されない、いかなる請求、損害、その他の責任についても責任を負いません。MIT ライセンスの全文はLICENSEを参照してください。

本プロジェクトは、Anthropic、pass(1) のメンテナー(Jason A. Donenfeld および貢献者)、GnuPG プロジェクト、または MCP ホストベンダーとは提携しておらず、推奨や支援も受けていません。すべての商標は、それぞれの所有者に帰属します。


ライセンス

MIT — LICENSEを参照してください。

コメント

MCP は初めてですか?

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

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