mcpField
1
1password

1password

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

1password について

1Password MCP サーバーは、コミュニティが開発した MCP サーバーで、Claude、Cursor、VS Code Copilot などの MCP クライアントから 1Password サービスアカウント経由で保管庫と認証情報を管理できます。既定では秘密情報を会話に出さず、op:// 参照と op_run を優先します。

主な機能

  1. 01保管庫の項目の一覧表示、検索、読み取り
  2. 02reveal を指定しない限り機密フィールドを非表示
  3. 03op_run で子プロセスの環境に秘密情報を注入
  4. 04項目の作成、編集、アーカイブ、削除
  5. 05ランダムパスワードと覚えやすいパスフレーズの生成
  6. 06保管庫の許可リストによるアクセス制限

活用シーン

  1. 01AI アシスタントが API トークンを露出させずにコマンドで利用
  2. 02保管庫内の重複や異常な項目の監査
  3. 03データベースのパスワードをローテーションし op:// 参照を確認

MCP 対応

本プロジェクトは MCP サーバーであり、保管庫と項目のメタデータ向けに 15 のツール、4 つのプロンプト、3 つのリソースを MCP クライアントに公開します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"cakerepository-1password": {
"command": "npx",
"args": [
"-y",
"@takescake/1password-mcp"
],
"env": {
"OP_SERVICE_ACCOUNT_TOKEN": "<OP_SERVICE_ACCOUNT_TOKEN>",
"OP_KEYCHAIN_SERVICE": "<OP_KEYCHAIN_SERVICE>",
"OP_KEYCHAIN_ACCOUNT": "<OP_KEYCHAIN_ACCOUNT>"
}
}
}
}
起動コマンドnpx -y @takescake/1password-mcp
設定が必要な環境変数
OP_SERVICE_ACCOUNT_TOKENシークレットThe Service Account Token from 1Password (required unless OP_KEYCHAIN_SERVICE is used on macOS)
OP_KEYCHAIN_SERVICEシークレットmacOS only: Keychain service name to read the 1Password service account token from when OP_SERVICE_ACCOUNT_TOKEN is not set
OP_KEYCHAIN_ACCOUNTシークレットmacOS only: Optional Keychain account name to narrow the lookup used with OP_KEYCHAIN_SERVICE

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

パッケージ
npm@takescake/1password-mcp2.5.0

ツール

13

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

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

詳細

1Password MCP サーバー

CI npm Node MCP License

AI アシスタントに 1Password への鍵のかかった扉を渡しましょう。チャットにパスワードを山積みにする必要はありません。

@takescake/1password-mcp は、コミュニティ製の Model Context Protocol (MCP) サーバーです。Claude、Cursor、VS Code Copilot、OpenAI Codex、Gemini などの MCP クライアントから、1Password Service Account を通じて保管庫や認証情報を管理できます。

MCP TypeScript SDK v2 を基盤とし、2026-07-28(およびレガシークライアント)とのプロトコルネゴシエーションに対応しています。シークレットは 1Password 内に保持されます。エージェントは op:// 参照と op_run を優先するため、平文がモデルの会話履歴に含まれることはありません。

1Password の公式製品ではありません。 コミュニティ製で、Apache 2.0 ライセンスのもとで公開されています。


対象ユーザー

あなたは…得られるもの…
技術に詳しくない方一度きりのセットアップです。サービスアカウントを作成し、AI アプリの MCP 設定にトークンを貼り付けたら、「自動化用保管庫を一覧表示して」「ステージング DB のパスワードをローテーションして」のように自然な言葉で依頼できます。
エージェント/LLM型付きツール 15 個、ワークフロープロンプト 4 個、閲覧可能なリソース 3 個に加え、明確なルールがあります。シークレットを明かすより、op_run と op:// を優先してください。
開発者/SREアイテムの完全な CRUD、安全なノート、パスワード生成、保管庫の許可リスト、macOS での Keychain を使ったトークン読み込み、CI に適した環境変数設定が利用できます。

チームがこのサーバーを選ぶ理由

  • セキュリティを重視したデフォルト設定 — password_read はメタデータを返し、item_get はシークレットを含むフィールド(パスワード、SSH キー、OTP シード、カード番号)を非表示にします。reveal: true を指定した場合を除きます。
  • op_run(MCP における op run 相当) — op://vault/item/field をローカルコマンドの環境に注入します。解決されたシークレットは、ベストエフォートで返却される stdout/stderr から(一般的なエンコード形式を含め)マスキングされます。
  • 保管庫向けの充実したツール一式 — 一覧表示、検索、取得、編集、ログイン情報やノートの作成、パスワードのローテーション、アーカイブ、削除ができます。
  • ガイド付きプロンプト — パスワード生成、認証情報のローテーション、保管庫の監査、シークレット参照の補助に対応します。
  • 閲覧可能なリソース — onepassword://… URI を通じて保管庫やアイテムのカタログを提供します(リソースのペイロードにシークレットは含まれません)。
  • 最新の MCP — stdio トランスポート、Zod 4 スキーマ、MCP 2026-07-28 のネゴシエーションに対応し、レガシークライアントとの互換性も備えています。

利用できる機能

ツール(15)

エージェントと人が実際に使う方法に合わせて分類しています。

検索
ツール機能
vault_listサービスアカウントがアクセスできる保管庫を、ID、名前、説明、種類とともに一覧表示します。許可リストが設定されている場合は、その対象に限定されます。
item_lookupタイトルの部分一致で保管庫を検索します。limit(最大 200)を指定できます。
item_list保管庫内のすべてのアイテムを(ID、タイトル、カテゴリ、タグ、updatedAt とともに)一覧表示します。シークレットは一切含まれません。
読み取り(デフォルトで安全)
ツール内容
item_getアイテムの全情報:タイトル、カテゴリ、タグ、メモ、フィールド。パスワードやその他の非表示フィールド、SSH 秘密鍵、OTP シード、カード番号などの秘密情報を含む値は、reveal: true を指定しない限り非表示のままです。既知の非秘密フィールドタイプのみ表示されます。メモはそのまま返されます。 op://… または vaultId + itemId を指定できます。
password_readop://… または ID を使って、1 つのフィールド(デフォルトは password)を読み取ります。reveal: true を指定しない限り、メタデータのみです。 秘密情報を使用する場合は、op_run を優先してください。
op_check_refop://vault/item/field を検証し、秘密情報を含まないメタデータ(ボールト、アイテム、フィールド)のみを返します。値は返しません。
作成と更新
ツール内容
password_createログインまたはパスワードのアイテムを作成します(ユーザー名、URL、タグ、メモ)。returnSecret のデフォルト値は false です。
note_createタグやカスタムフィールドを任意で指定して、セキュアノートを作成します。
password_updateパスワードまたは非表示フィールドをローテーションします(フィールドがない場合は作成します)。
item_editタイトル、メモ(空の文字列で消去)、タグ、URL を更新し、フィールドを追加・更新または削除します。参照されていないフィールドは変更されません。
password_generate暗号学的に安全なランダムパスワードを生成します(長さ 8〜128、記号・数字・大文字の切り替えに対応)。
password_generate_memorable約 500 語のリストから覚えやすいパスフレーズを生成します(単語数、区切り文字、数字/記号の接尾辞を指定できます)。
秘密情報を明かさずに使用する
ツール内容
op_run環境変数を設定してローカルコマンド(command または argv)を実行します。op://… に一致する値は子プロセス内のみで解決されます。解決された秘密情報は、返される出力から(可能な限り)マスキングされます(「セキュリティとプライバシー」を参照)。出力は各ストリームにつき 5 MiB までで、タイムアウト時はプロセスツリー全体が強制終了されます。cwd、shell、timeout_ms、stdin は任意です。
論理削除と完全削除
ツール内容
item_archiveアイテムをアーカイブに移動します(通常の表示には出なくなります)。
item_deleteアイテムを完全に削除します — 取り消せません。
プロンプト(4)
プロンプト使用する場面
generate-secure-passwordパスワード(ランダムまたは覚えやすいもの)を生成し、任意で保存します。パスワードをチャットに出力することはありません。
credential-rotation検索 → アクセスを確認 → 生成 → 更新 → op:// 参照を確認します。
vault-auditカテゴリ別にボールトの一覧を作成し、重複や異常を検出します — 秘密情報は決して明かしません。
secret-reference-helper名前から貼り付け可能な op://vault/item/field を作成します。
リソース(3)
URI内容
onepassword://config秘密情報を含まないサーバー設定(名前、バージョン、ログレベル、トークンの取得元、Node バージョン)。
onepassword://vaultsアクセス可能なボールトの JSON リスト(許可リストが設定されている場合は、その範囲に限定されます)。
onepassword://vaults/{vaultId}/itemsURI テンプレート(resources/templates/list に一覧表示):1 つのボールトのアイテムメタデータを含む JSON(秘密情報の値は含みません)。

4.x からのアップグレード: リソース URI は以前 1password:// で始まっていましたが、URI スキームを数字で始めることはできないため、MCP クライアントは読み取れませんでした。ハードコードされた 1password:// URI はすべて onepassword:// に置き換えてください。


はじめる前に

必要なものは 2 つです。

  1. Node.js 20 以降
  2. AI が使用するボールトへのアクセス権を持つ 1Password Service Account
サービスアカウントを作成する(わかりやすい説明)
  1. Web で 1Password アカウントにサインインします。
  2. Developer → Service Accounts を開きます(または 1Password のガイド を参照してください)。
  3. サービスアカウントを作成し、自動化で使用するボールトだけへのアクセス権を付与します(たとえば Automation または CI ボールト。個人の銀行口座用ボールトは含めません)。
  4. トークンを一度だけコピーします。マスターキーのように扱ってください。

クイックスタート

Claude Desktop / Cursor / VS Code / ほとんどの IDE

MCP 設定に以下を追加します(ファイルはアプリによって異なります)。

{
  "mcpServers": {
    "1password": {
      "command": "npx",
      "args": ["-y", "@takescake/1password-mcp"],
      "env": {
        "OP_SERVICE_ACCOUNT_TOKEN": "YOUR_SERVICE_ACCOUNT_TOKEN"
      }
    }
  }
}

アプリを再起動して、次を試してください:「1Password の保管庫を一覧表示して。」

macOS Keychain(設定ファイルにトークンを記載しない方法)

トークンを Keychain に保存し、サーバーから参照するように設定します。

{
  "mcpServers": {
    "1password": {
      "command": "npx",
      "args": ["-y", "@takescake/1password-mcp"],
      "env": {
        "OP_KEYCHAIN_SERVICE": "op-service-account-claude-automation",
        "OP_KEYCHAIN_ACCOUNT": "your-macos-username"
      }
    }
  }
}

トークンの解決順序: CLI(--service-account-token / --token)→ OP_SERVICE_ACCOUNT_TOKEN → macOS Keychain。サービス名だけで一意に特定できる場合は、OP_KEYCHAIN_ACCOUNT の設定は任意です。CLI フラグは使用しないでください。コマンドライン引数はほかのローカルプロセスから見えるため、使用するとサーバーは起動時に警告をログに記録します。

OpenAI Codex(TOML)

オプション A — 設定ファイルにトークンを記載:

[mcp_servers."1password"]
command = "npx"
args = ["-y", "@takescake/1password-mcp"]

[mcp_servers."1password".env]
OP_SERVICE_ACCOUNT_TOKEN = "YOUR_SERVICE_ACCOUNT_TOKEN"

オプション B (推奨) — 設定ファイルでは環境変数名のみを指定:

[mcp_servers."1password"]
command = "npx"
args = ["-y", "@takescake/1password-mcp"]
env_vars = ["OP_SERVICE_ACCOUNT_TOKEN"]

シェルまたは CI で OP_SERVICE_ACCOUNT_TOKEN を設定します。注意:codex mcp add ... --env OP_SERVICE_ACCOUNT_TOKEN=... を実行すると、シークレットが Codex の設定ファイルに書き込まれます。可能な場合は env_vars を使用してください。

macOS では、トークンの環境変数を省略して、代わりに OP_KEYCHAIN_SERVICE(および任意の OP_KEYCHAIN_ACCOUNT)を使用できます。

任意:サーバーがアクセスできる保管庫を制限する

デフォルトでは、サーバーはサービスアカウントが参照できるすべての保管庫を使用できます。許可リストを設定するには:

{
  "env": {
    "OP_SERVICE_ACCOUNT_TOKEN": "YOUR_SERVICE_ACCOUNT_TOKEN",
    "OP_MCP_ALLOWED_VAULTS": "Automation, CI"
  }
}

名前または ID を指定できます(大文字と小文字は区別されません)。--allowed-vaults でも同じ設定ができます。許可リストは、op_run / op_check_ref だけでなく、保管庫を扱うすべてのツールとリソースにサーバー全体で適用されます。

  • vault_list と onepassword://vaults には、許可された保管庫のみが表示されます。
  • vaultId を受け取るツールと onepassword://vaults/{vaultId}/items リソースには、保管庫の名前ではなく ID を指定する必要があります。リスト外の保管庫は拒否されます。
  • op:// 参照は、記述された内容と、実際に解決される保管庫の両方について検証されます。
  • 許可リストが設定されている場合、保護対象の各呼び出しで vaults.list の読み取りが 1 回追加で行われます(サービスアカウントのレート制限にご注意ください)。保管庫の一覧を取得できない場合、サーバーは安全側に倒して処理を拒否します。

4.0.3 以前からアップグレードしますか? この設定が op_run / op_check_ref だけに適用される想定だった場合、現在はすべてを制限します。

これは多層防御です。まず 1Password でサービスアカウント自体がアクセスできる保管庫を制限してください。


エージェント向け:シークレットの取り扱い方法

毎回、次の順序に従ってください。

  1. vault_list → item_lookup / item_list を使って検出します(メタデータのみ)。
  2. op_check_ref で参照を確認します。パスが存在するか確認するだけの目的で reveal を実行しないでください。
  3. コマンドまたは API 呼び出しでシークレットを使用するには、env に op://vault/item/field を指定して op_run を使用します。
  4. 人がチャットで値を明示的に必要としている場合に限り、password_read / item_get と reveal: true を使って値を表示します。
  5. password_generate → password_update の順でローテーションします(依頼がない限り、returnSecret: false のままにしてください)。
  6. 永続的な削除が必要な場合を除き、item_delete よりも item_archive を優先してください。
op_run の例
{
  "argv": ["curl", "-sS", "https://api.example.com/health"],
  "env": {
    "API_TOKEN": "op://Automation/Example API/credential"
  },
  "timeout_ms": 60000
}

可能な場合は、シェルの command 文字列より argv を優先してください。引用符の扱いで予期しない問題が起きにくくなります。


設定リファレンス

環境変数
変数必須説明
OP_SERVICE_ACCOUNT_TOKEN通常ははいサービスアカウントのトークンです。Keychain 変数が設定されている場合、macOS では不要です。
OP_KEYCHAIN_SERVICEいいえmacOS:トークンの Keychain サービス名です。
OP_KEYCHAIN_ACCOUNTいいえmacOS:Keychain の検索対象を絞り込む任意のアカウントです。
OP_MCP_ALLOWED_VAULTSいいえサーバー全体に適用される、サーバーが使用できる保管庫の名前または ID(大文字と小文字は区別されません)。カンマ区切りで指定します。空の場合は制限されません。
OP_INTEGRATION_NAMEいいえ1Password SDK に報告される名前(デフォルト:1password-mcp)。
OP_INTEGRATION_VERSIONいいえSDK に報告されるバージョン(デフォルト:パッケージのバージョン)。
MCP_LOG_LEVELいいえdebug | info | warn | error(デフォルト:info)。
MCP_DEBUGいいえ設定すると、デバッグログが強制的に有効になります。
CLI フラグ
--service-account-token <token>   1Password service account token (avoid: visible to other local processes)
--token <token>                   Alias for --service-account-token
--log-level <level>               error | warn | info | debug (default: info)
--integration-name <name>         Custom integration name for the 1Password SDK
--integration-version <version>   Custom integration version
--allowed-vaults <list>           Comma-separated vault allow-list (names or IDs), applied server-wide

セキュリティとプライバシー

大切な保管庫にサーバーを接続する前に、こちらをお読みください。

  • LLM のプライバシー — モデルに提示した内容は、AI プロバイダーに送信され、そのポリシーに基づいて保持される場合があります。
  • MCP では、通信中のシークレットはエンドツーエンドで暗号化されません — MCP のワークフロー内およびモデルに送られる値は平文です。保存後は 1Password で保存時に暗号化されます。
  • 最適な用途 — 自動化用の認証情報:CI トークン、ボットアカウント、使い捨ての環境シークレット。
  • 避けるべきもの — 銀行関連、主要な個人ログイン情報、リカバリーコード、またはモデルプロバイダーに公開されると困る情報。
  • トークンはマスターキーです — サービスアカウントの権限を厳密に絞り、漏えいした場合は直ちにローテーションしてください。トークンやシークレットを含む MCP 設定をコミットしないでください。
  • トークンには環境変数または Keychain を優先してください — --token / --service-account-token を使うとプロセス引数にトークンが含まれ、ほかのローカルプロセスから読み取られる可能性があります(サーバー起動時に警告が表示されます)。同じユーザーのプロセスは通常、サーバーの環境変数も読み取れるため(Linux の /proc/<pid>/environ など)、macOS では Keychain が最も安全な選択肢です。設定ファイルやプロセス環境にトークンを残さずに済みます。
  • 参照を優先してください — op://… と op_run を使うほうが、パスワードをプロンプトやファイルに貼り付けるより安全です。
  • op_run はユーザー権限で任意のコマンドを実行します — MCP クライアントの承認プロンプトを有効にし、自動承認しないでください。
  • マスキングは可能な範囲で行われます — op_run は、一般的なエンコード形式(base64、JSON エンコード、URL エンコード、複数行の値を含む)を含め、解決されたシークレットを返却される出力内でマスキングします。これにより、意図しない開示を防ぎます。ただし、これはサンドボックスではありません。コマンドによっては、渡されたシークレットを意図的に変換したり送信したりできます。
  • ノートは隠されません — item_get はノートをそのまま返します(op item get と同様です)。エージェントが読み取れる保管庫のノートにシークレットを保存しないでください。
  • 最小権限 — アカウント全体を共有するより、専用の自動化用保管庫を使うほうが安全です。OP_MCP_ALLOWED_VAULTS は第 2 の防護策であり、代替策ではありません。
  • 脆弱性の報告 — 公開イシューを作成してください。SECURITY.md を参照してください。

プロトコルと互換性

項目詳細
パッケージ@takescake/1password-mcp
ランタイムNode.js ≥ 20
トランスポートstdio
MCP SDK@modelcontextprotocol/server v2
プロトコル2026-07-28 をネゴシエートし、旧クライアントとの互換性を維持します
レジストリ名io.github.CakeRepository/1password

開発

git clone https://github.com/CakeRepository/1Password-MCP.git
cd 1Password-MCP
npm ci
npm run build
npm test
npm run lint

監視モード:npm run dev。

プロジェクト構成
src/
  index.ts                 # Entrypoint — MCP stdio + protocol negotiation
  server.ts                # buildServer() — registers tools, prompts, resources
  config.ts                # CLI / env / Keychain / allow-list
  client.ts                # 1Password SDK client
  logger.ts                # Structured logs on stderr (stdout is protocol)
  secret-ref.ts            # op:// parsing & reference checks
  vault-access.ts          # Server-wide vault allow-list enforcement
  redaction.ts             # op_run output redaction
  utils.ts                 # Result helpers, password generation
  tools/                   # All 15 MCP tools
  prompts/                 # Interactive workflow prompts
  resources/               # onepassword:// resources
tests/

CONTRIBUTING.md を参照してください。メンテナー/エージェント向け:agents.md。


変更履歴

バージョン履歴については CHANGELOG.md を参照してください。5.0.0 リリース(リソース URI を 1password:// から onepassword:// に変更し、セキュリティを強化。アップグレードする前に Changed の注記をお読みください)、4.0.0 の MCP v2/2026-07-28 への移行、3.0.0 の op_run/表示のオプトインに関するセキュリティ変更などが含まれます。


ライセンス

Apache License 2.0

コメント

MCP は初めてですか?

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

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