Codexと1PasswordをMCPでつなぐ使い方

Codexと1PasswordをMCPでつなぐと、APIキーをチャットに貼り付けたり、平文の.envファイルに保存したりせずに開発を進められるようになります。

この記事では、Codexと1PasswordのMCP連携でできることと使い方を、準備から接続手順、連携後の活用、つながらないときの対処法まで解説します。

AI駆動開発でAPIキーの管理に悩んでいる人は参考にしてみてください。

\ 公式サイトより安い!ソースネクストだけの3年版 /

目次

Codexと1PasswordのMCP連携でできること

MCPとは、AIツールが外部のアプリやサービスと決まった手順でやり取りするための共通規格で、Codexはこの仕組みを通じて1Passwordに指示を出せるようになります。

あわせて読みたい
Model Context Protocol(MCP)とは?RAGとの違いや使い方と料金 Model Context Protocol(MCP)とは、AIモデルと外部システムを統合するためのオープンプロトコルです。 従来、個別に設定が必要だったAI開発を効率化し、コード管理やデータベース連携を簡単に実現できます。 標準規格として広まっており、ClaudeやChatGPTなどで利用可能です。 本記事ではMCPの概要や混同しやすいRAGとの違い、そして具体的な使い方について詳しく解説します。

連携によって変わるのはAPIキーのような秘密の値の扱い方で、Codexが扱うのは1Password Environmentsに保存した環境名・変数名などの管理情報になります。ここでは連携でできることを解説します。

1Password Environmentsで開発用の環境変数を管理する

環境変数とは、アプリが起動するときに読み込む設定値のことで、データベースの接続先やAPIキーをここに置くのが開発では一般的です。1Password Environmentsは、この環境変数を名前と値の組として保存し、プロジェクトごとにまとめて管理するための機能です。通常の保管庫にあるアイテムとは分けて管理できます。

1Password Environments allow you to organize and manage your project’s environment variables, separately from the rest of the items in your 1Password vaults. 

訳:1Password Environmentsを使うと、プロジェクトの環境変数を、1Passwordの保管庫にある他のアイテムとは別に整理して管理できます

引用:1Password Developer

日本語版のアプリでは「環境」と表示されており、作成や変数の追加はMac・Windows・Linuxのデスクトップアプリで行います。iPhoneやAndroidのアプリからは操作できません。通常の保管庫との違いを整理すると次のようになります。

項目 通常の保管庫1Password Environments
保存するものログイン情報
パスワード
カード情報などのアイテム
プロジェクトの環境変数(名前と値の組)
主な使い方ブラウザやアプリへの自動入力ローカルの.envファイルやCLI、
SDK経由で開発中のアプリに渡す
CodexとのMCP連携

MCP連携でCodexが操作できるのはEnvironmentsだけで、保管庫に入っているWebサービスのパスワードを取り出したり書き換えたりすることはできません。既存の.envファイルがある場合は、その内容をEnvironmentsに取り込むところから始めます。

APIキーをチャットに貼らずにアプリから利用する

APIキーは外部サービスのAPIを利用する際に必要な認証情報で、チャットに貼り付けたり、ファイルに平文で保存したりすると、情報漏えいにつながるおそれがあります。MCP連携では、Codexが1Passwordに問い合わせても、返ってくるのはEnvironmentの名前や変数の名前だけです。1Passwordに保存された値は返されません。

By design, the server cannot return secret values stored in 1Password to the client, even if an agent requests them.

訳:設計上、このサーバーは1Passwordに保存された秘密の値をクライアントに返すことができません。エージェントが要求した場合でも同様です

引用:1Password Developer

1Passwordには、Environmentの内容をプロジェクト内の.envファイルとしてローカルにマウントする機能があります。

アプリがマウントした.envファイルに初めてアクセスすると、1Passwordが読み取りの承認を求めます。承認後はアプリが値を取得できるようになりますが、1Passwordをロックするまでは、ほかのプロセスからも読み取り可能になるため注意が必要です。

マウントしたファイル自体の中身はディスクに保存されず、Gitの管理対象にもなりません。

つまり、名前のやり取りはCodexとMCPサーバーの間で、値の受け渡しは1Passwordとアプリの間で、それぞれ別の経路で行われます。

ただし、この仕組みが守っているのはMCPサーバーの応答だけです。マウントした.envをシェルで直接開いたり、値をチャットやログに出力したりしないでください。後述する指示の設定と運用のルールは、この別経路からの露出を防ぐリスクを抑えるためのものです。

MCP連携後のCodexと1Passwordの役割を分けると、次のようになります。

担当できること
CodexEnvironmentの作成や名前の変更

変数名の確認

ローカル.envマウントの作成

アプリのコードや設定の修正
1Password値の保管

接続や読み取りの承認

マウントした.envを通じたアプリへの値の受け渡し

Codexと1PasswordをMCPでつなぐ使い方【接続手順】

接続は、1Password側でEnvironmentと設定を準備してから、Codex側にMCPサーバーを登録し、最後に承認して確認する流れです。

ここでは、macOSの1PasswordデスクトップアプリとChatGPTデスクトップアプリを使った手順を、画面を見ながら順に解説します。

対応OS・利用条件・必要なアプリを確認する

最初に、手元の環境で連携できるかを確認しておきましょう。Environmentsの作成自体はWindowsでもできますが、CodexからのMCP接続とローカル.envマウントは、MacとLinuxが対応環境とされています。

Codex currently supports Mac and Linux.

訳:Codexは現在、MacとLinuxに対応しています。

引用:1Password Developer

必要なものは、1Passwordのデスクトップアプリとアカウント、ChatGPTデスクトップアプリ、そして1Password側で作成したEnvironmentです。

それぞれの対応環境は以下の通りです。

項目対応環境
ChatGPTデスクトップアプリmacOS、Windows、Linux(プレビュー)
CodexからのMCP連携Mac、Linux
ローカル.envファイルのマウントMac、Linux
Environmentsの作成・編集Mac、Windows、Linux

管理者のいるアカウントでは、Environmentsの利用がポリシーで制限されていることがあるため、使えない場合は管理者に確認してください。

あわせて読みたい
【Windows&Mac】ChatGPTのデスクトップアプリをインストールする方法 ChatGPTのデスクトップアプリが登場し、ブラウザを開くことなくWindows・Macの両方でChatGPTを利用できるようになりました。 ショートカットキーで素早く起動したり、スクリーンショットをダイレクトに共有したりと、デスクトップアプリならではの便利な機能が満載です。 この記事では、WindowsとMac用ChatGPTデスクトップアプリのインストール方法と、知っておくと便利な基本機能について詳しく解説します。
あわせて読みたい
1Passwordを最安で買う方法|料金プランとソースネクスト版との違い パスワードマネージャーの1Passwordを最安で購入するなら、利用する人数と契約期間によって購入先を比較する必要があります。 本記事では、2026年10月25日時点の料金をもとに、公式サイト・ソースネクスト・Amazonなどの価格の違いを比較し、購入方法と切り替え時の注意点を解説します。

1PasswordでEnvironmentと環境変数を準備する

まずはEnvironmentと環境変数を準備します。

なお、1Passwordのデスクトップアプリに開発者向けの項目が出ていない場合は、先に「設定」の「開発者」を開き、「1Password開発者エクスペリエンスを表示する」にチェックを入れておきましょう。

STEP
開発者メニューから環境の一覧を開く

アプリのサイドバーにある開発者の項目から「環境」を開き、「新しい環境」を作成します。

STEP
Environmentの名前を付けて保存する

プロジェクト名が分かる名前を付けて保存します。この記事では「my-app-dev」という名前で進めます。

STEP
変数を追加する

変数を追加するボタンから、変数の名前と値を入力します。既存の.envファイルがある場合は、ファイルをインポートする項目から一括で取り込めます。

この記事では、OPENAI_API_KEYという名前で、まずはテスト用の文字列を値として登録しました。

値は登録後に非表示になり、必要なときだけ表示を切り替えられます。

1Passwordの設定でMCP連携を有効にする

次に、1PasswordがMCPクライアントからの接続を受け付けるように設定します。設定箇所は2つあります。

STEP
設定の開発者タブでMCPクライアントとの統合をオンにする

アプリの「設定」から「開発者」を開き、「開発者向け連携機能」の中にある「MCPクライアントとの統合」にチェックを入れます。

STEP
MCPサーバーのページで1Password MCPサーバーを有効にする

開発者メニューの「MCPサーバー」ページを開き、手順1の「1Password MCPサーバーを有効にする」にチェックを入れます。

Codexに1PasswordのMCPサーバーを追加する

Codex側では、1Passwordアプリに同梱されている1password-mcpというコマンドをMCPサーバーとして登録します。

STEP
ChatGPTデスクトップアプリのMCPサーバー設定を開く

ChatGPTデスクトップアプリの設定から「プラグイン」を開き、「MCPサーバーを追加」を選びます。

STEP
起動コマンドに1password-mcpを入力する

「起動コマンド」の欄に1password-mcpと入力し、サーバーのトグルをオンにして保存します。

STEP
アプリを再起動する

設定を反映するためにChatGPTデスクトップアプリを再起動します。再起動後、MCPサーバーの一覧に1Passwordが表示されていれば登録は完了です。

STEP
Custom instructionsに1Passwordの扱い方を書く

Codexの「パーソナライズ」にある「Codexの指示」を開き、以下のようなカスタム指示を記述します。

私が明示的に指示しなくても、1Password開発者環境を操作する必要がある場合は、必ず1Password Environments MCPサーバーを使用してください。

指示例として、公式では以下の文章が記載されています。

Always use the 1Password Environments MCP Server if you need to work with the 1Password developer environments without me having to explicitly ask.
訳:私が明示的に指示しなくても、1Password開発者環境を操作する必要がある場合は、必ず1Password Environments MCPサーバーを使用してください。
STEP
接続を確認する

MCPの登録が済んだら、Codexに1Passwordの操作を実際に頼んで接続を確認しましょう。

Codexのチャットで「私の1Password環境の一覧を表示して」と依頼します。初回は1Passwordアプリが接続の承認を求めるため、承認すると結果が返ってきます。

1Password側の承認は、接続したときと、各Environmentに対してツールを初めて使うときに求められます。

Codex CLIで接続する場合の設定方法

ターミナルで使うCodex CLIでも、登録するMCPサーバーは同じです。次のコマンドを実行すると設定ファイルに追加されます。

codex mcp add 1password -- 1password-mcp

設定ファイルを直接編集する場合は、ホームディレクトリの.codexフォルダにあるconfig.tomlに次の内容を書きます。

[mcp_servers.1password]
command = "1password-mcp"

この設定はChatGPTデスクトップアプリ、CLI、IDE拡張で共通のため、一度登録すればどのクライアントからでも使えます。CLIで接続状況を確認するときは、Codexの画面で/mcpと入力すると接続中のサーバーが表示されます。

\ 公式サイトより安い!ソースネクストだけの3年版 /

MCP連携後にCodexで1Passwordを使う方法

接続できたら、実際の開発でどう使うかを見ていきましょう。

ここでは、OpenAIのAPIを呼び出す小さなNode.jsアプリを検証用のプロジェクトとして用意し、環境変数の読み込みにはdotenvを使いました。

プロジェクト用のEnvironmentの作成・管理をCodexに依頼する

Environmentの作成や名前の変更は、1Passwordの画面を開かなくてもCodexに頼めます。接続手順で作ったmy-app-devとは別に、もう1つ作ってみましょう。

STEP
CodexにEnvironmentの作成を頼む

Codexのチャットで「このプロジェクト用にmy-app-testという名前のEnvironmentを作って」と依頼します。Codexが1Passwordの作成ツールを呼び出すと、必要に応じて1Passwordが承認を求めます。

STEP
1Password側に反映されたことを確認する

1Passwordアプリの「環境」を開くと、Codexが作ったEnvironmentが一覧に追加されています。

STEP
名前の変更を頼む

「my-app-testをmy-app-stagingに改名して」と頼むと、名前の変更ツールが動き、1Password側の表示も変わります。

1Password側で名前が変更されていることが確認できました。

変数の値そのものは、Codexには頼まず1Passwordの画面で登録しましょう。

環境変数をローカルの.envファイル経由でアプリに読み込ませる

アプリに値を渡すには、Environmentをプロジェクト内の.envファイルとしてマウントします。マウントの作成もCodexに頼めますが、対象のEnvironmentと保存先を先に決めておくことが大切です。

STEP
対象のEnvironmentと保存先を決める

マウントするEnvironmentの名前と、保存先となるプロジェクト直下の.envのパスをあらかじめ決めます。

プロジェクトに平文の.envが残っている場合は、必要な変数をEnvironmentに取り込んでから削除し、Gitで管理していた場合は削除をコミットしておきます。

STEP
Codexにマウントの作成を頼む

「my-app-devをこのプロジェクトの.envとしてマウントして」と依頼します。Codexが既存のマウントと重複しないかを確認してから作成ツールを呼び出すと、プロジェクト直下に.envが現れます。

STEP
1Password側でマウントの状態を確認する

1Passwordの「環境」で対象のEnvironmentを開くと、ローカルの.envファイルが接続先として表示されます。ここでマウントの有効と無効を切り替えられます。

STEP
アプリを起動して読み取りを承認する

アプリを起動すると、.envを読もうとした時点で1Passwordが承認を求めます。承認すると値がアプリに渡り、通常どおり起動します。

検証用のアプリのように、dotenvで同じパスの.envを読み込む構成になっていれば、アプリ側のコードを変える必要はありません。dotenvはマウントされた.envを普通のファイルと同じように読み込みます。

マウントした.env自体の中身はディスクに保存されず、Gitの管理対象にもなりません。

ただし、承認後は読み取ったプロセスに値が渡るため、中身を開いて確認する操作は避け、変数名の確認はMCP経由で行うようにします。

APIキーを表示せずにアプリの動作を確認する

最後にCodexからアプリを実行し、APIキーを表示せずに正常に動作するか確認します。確認は、ダミーの値で読み込みを確かめる段階と、本物のキーでAPIを呼ぶ段階の2つに分けると安全です。

STEP
ダミーの値のまま読み込みを確認する

「検証用アプリを実行して、OPENAI_API_KEYが設定されているか報告して。」と頼みます。Codexはアプリを実行し、変数が存在したかどうかだけを報告します。

STEP
1Passwordの画面で本物の検証用キーを登録する

1Passwordの「環境」を開き、OPENAI_API_KEYの値を有効な検証用のキーに置き換えます。

この操作はCodexには頼まず、自分で行います。

STEP
CodexにAPI呼び出しの実行を頼む

「APIを呼ぶサンプルを実行して、成功したかどうか教えて」と頼みます。

再度1Passwordの承認が出ることがありますが、承認すればアプリがAPIを呼び出して結果が返ります。

\ 公式サイトより安い!ソースネクストだけの3年版 /

Codexと1PasswordのMCPがつながらないときの対処法

設定したはずなのにCodexが1Passwordを呼び出せない場合の対処法を順に解説します。

MCPの設定項目が見つからない

1Passwordのアプリに「環境」や「MCPクライアントとの統合」の項目が出てこない場合は、まずデスクトップアプリで操作しているかを確かめてください。

ブラウザ版やスマートフォンのアプリにはEnvironmentsの機能がありません。デスクトップアプリでも見当たらないときは、設定の「開発者」で「1Password開発者エクスペリエンスを表示する」がオンになっているか、またアプリが最新版かを確認します。

管理者のいるアカウントでは、EnvironmentsやMCPサーバーの利用がポリシーで制限されていることがあります。使えない場合は管理者に確認してください。

Codex側でMCPサーバーの設定画面が見つからない場合は、設定ファイルを直接編集する方法に切り替えられます。接続手順の補足で紹介したconfig.tomlへの記述は、ChatGPTデスクトップアプリにもそのまま反映されます。

認証できない・対象のEnvironmentが表示されない

Codexが1Passwordに接続できない、またはEnvironmentが見つからないと返すときは、まず1Passwordがロックされていないかを見てください。承認はロックされるまで有効ですが、ロック後は改めて承認が必要になります。

Environmentをまだ作っていない場合も、一覧には何も返りません。1Passwordの「環境」で作成済みかを確認し、なければ先に作成します。

承認を取り消してやり直したいときは、設定の「開発者」にある「MCP認証をクリア」を押します。次の接続時に、再び承認を求められます。

それでも直らない場合は、Codexを再起動し、設定画面のMCPサーバー一覧で1Passwordが有効になっているかを確かめてください。CLIであれば、/mcpと入力すると接続状態が表示されます。

.envファイルを作成できない・アプリが環境変数を読み込めない

Gitで追跡していた.envをマウントに置き換える場合は、必要な変数をEnvironmentへ移し終えてから、追跡中のファイルを削除してコミットし、そのうえでマウントを作成します。追跡中のまま残していると、Gitの操作が失敗することがあります。

また、1台で有効にできるマウントの数には25という上限があります。

 You can have up to 25 enabled local .env files per device.

訳:1台のデバイスで有効にできるローカルの.envファイルは最大25個です

引用:1Password Developer

上限に達している場合は、使っていないマウントを1Password側で無効にしてください。

アプリが値を読み込めないときは、1Passwordがロックされていないか、読み取りの承認を拒否していないかを確認します。

複数のプロセスが同時に.envを読む構成では、読み取りが遅れたり失敗したりすることがあり、Viteのように.envの変更を監視するツールでは再起動を繰り返す場合があります。その場合は、マウントした.envを監視対象から除外する設定を加えてください。

オフラインのときに読めるのは、最後に同期した内容と端末内で行った変更に限られる点にも注意が必要です。

\ 公式サイトより安い!ソースネクストだけの3年版 /

Codexと1PasswordをMCP連携するときの注意点

連携そのものは安全に設計されていますが、使い方によっては値が別の経路から漏れることがあります。日常的に使ううえで意識しておきたい3つの点をまとめます。

APIキーをプロンプトやログに表示させない

MCPサーバーの応答に値が含まれないからといって、値が絶対に表に出ないわけではありません。Codexがシェルのコマンドでマウント済みの.envを開けば中身は表示されますし、アプリが起動時に設定値をログに出力する作りになっていれば、そこにキーが残ります。自分でチャットにキーを貼った場合も、その会話に残ってしまいます。

値の登録や変更は1Passwordの画面で行い、Codexには変数名だけで指示する習慣をつけましょう。

アクセス承認の範囲とロック・無効化の方法を確認する

1Password側の承認は、接続したときと、各Environmentに対してツールを初めて使うときに求められ、承認したツールとEnvironmentの組み合わせは1Passwordをロックするまで再確認なしで使えます。裏を返せば、ロックしない限り、承認済みの操作はCodexが繰り返し実行できるということです。

席を離れるときは1Passwordをロックし、マウントが不要になったらEnvironmentの設定で無効にしておきましょう。

承認をまとめて取り消したい場合は、設定の「開発者」にある「MCP認証をクリア」を使います。Codex側でも、MCPサーバーのトグルを切るか、config.tomlでenabledをfalseにすれば接続を止められます。

ツールごとに実行前の確認を求める設定も用意されているため、変更を伴う操作だけ確認するといった調整も可能です。

移行前の.envやGit履歴に残ったキーを更新する

これまで平文の.envに書いていたキーを1Passwordに移しても、過去にコミットしたファイルやGitの履歴、エージェントとの会話の記録に残った値が消えるわけではありません。

Make sure to rotate any secrets you import into 1Password that were previously stored in plaintext in your codebase or `.env` files.

訳:コードベースや.envファイルに平文で保存していたシークレットを1Passwordに取り込んだ場合は、必ずローテーションしてください

引用:1Password Developer

移行は今後の漏えいを防ぐ対策であり、過去の露出を帳消しにするものではありません。取り込んだキーは発行元のサービスで新しいものに差し替え、古いキーは無効にしておきましょう。

\ 公式サイトより安い!ソースネクストだけの3年版 /

Codexと1PasswordのMCP連携に関するよくある質問

最後に、Codexと1PasswordのMCP連携に関するよくある質問をまとめます。

Windowsでも使えますか?

Environmentsの作成や編集はWindowsのデスクトップアプリでもできますが、CodexからのMCP接続とローカル.envのマウントはMacとLinuxが対応環境とされています。

詳しい条件は接続手順の冒頭にある表を確認してください。

1Passwordの保管庫に入っているパスワードもCodexから取り出せますか?

できません。MCP連携で扱えるのは1Password Environmentsだけで、保管庫のアイテムは対象外です。

1Password CLIのop runとは何が違いますか?

op runは、1Passwordに保存した秘密情報を、コマンドの実行中だけ環境変数として渡すCLIの機能です。

一方、MCP連携では、Environmentの作成や変数名の確認、.envマウントの作成などをCodexに依頼できます。

どちらもEnvironmentsを利用できます。目的に応じて使い分け、もしくは組み合わせて使用しましょう。

\ 公式サイトより安い!ソースネクストだけの3年版 /

まとめ

Codexと1PasswordをMCPでつなぐと、APIキーの値をチャットやファイルに書かずに、Environmentの作成から.envのマウント、アプリの動作確認までをCodexに任せられるようになります。

覚えておきたいのは、MCP経由でCodexに渡るのは名前だけで、値の保管と受け渡しは1Passwordが担うという分担と、Codexに.envを直接読ませたり値を出力させたりしない運用をセットにすることです。

移行前のキーの更新と離席時のロックを習慣にしながら、日々のAI駆動開発に取り入れてみてください。

\ 公式サイトより安い!ソースネクストだけの3年版 /

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次