1Password Environments MCPサーバーのWindows検証 — トグルがオンにできない原因を追ってOS制約に行き着くまで
1Password Environments MCPサーバーのWindows検証 — トグルがオンにできない原因を追ってOS制約に行き着くまで
きっかけ — 「Codex向け」の一文が引っかかった
1Passwordが「Codex向けにEnvironments MCP Serverを提供開始した」というニュース記事を、そのままClaude Codeに貼り付けた。 AIコーディングエージェントに渡すシークレットを.envファイルのハードコーディングから1Password側の管理に移す、という話で、まさに自分の環境で欲しかったものだった。
引っかかったのは「Codex向け」の一文。Claude Codeでは使えないのか。調べさせたら、答えは早かった。 「for Codex」は製品名とマーケティングの話で、実体は1Passwordデスクトップアプリに同梱される汎用のローカルMCPサーバー。公式ドキュメントには「その他のMCPクライアント」向けの登録手順もある。
それならと、Windows環境でのセットアップをその場で頼んだ。
Windowsセットアップ — Store版の起動ブロックをラッパーで回避
すんなりとは行かなかった。公式ドキュメントが案内するMicrosoft Store(MSIX)版のEXEパスを登録しても、アクセス拒否で起動しない。 ACLを確認させて切り分けたところ、MSIXの起動保護がパッケージ内EXEの直接起動をブロックしていた。
回避策として、EXEと依存DLLをパッケージ外へコピーして起動するラッパースクリプトを書かせた。
1Passwordの自動更新でパッケージのパスが変わっても壊れないよう、起動時にバージョンを照合して再コピーする仕掛けにしてある。
このラッパーを claude mcp add で登録し、接続確認とツール一覧の取得まで通った。
ここまでの経緯は、その足で公開記事にまとめさせた。 md-makeスキルで記事化し、Codexレビュー(1回目はタイムアウトしたのでバックグラウンドで再実行)の指摘4件を反映して、honda-sakubunの校閲まで通した。 あわせて、次のセッションで動作確認するためのプロンプトも出させておいた。
次のセッションで動作確認 — トグルがオンにできない
セッションを改めて、用意しておいたプロンプトで動作確認を始めた。 MCPツール自体は一覧に見えている(authenticate / list_environments / list_variables など6種)。読み取り系から順に叩いていく段取りで、まず1PasswordアプリのLabs設定でローカルMCPサーバー機能を有効にする必要があった。
ここで詰まった。設定画面のトグルが、何度クリックしても灰色のまま沈まない。 スクリーンショットを貼って「これトグルオンにできないんですけど」と投げた。
原因調査 — UI層のJSにはプラットフォーム判定がなかった
なぜ無効化されているのか、読み取り系の調査だけでアプリの中を調べさせた。
- アプリのログからフィーチャーフラグの評価結果を確認
- app.asar(UI層のJS)を検索すると
McpServer関連の文字列は12箇所あるが、その近傍に windows / darwin / msix といったプラットフォーム判定は見つからない
つまりトグルの無効化はJS側のベタ書き条件ではなく、Rustコア(index.node)またはサーバー側から渡される能力フラグで制御されている、という整理になった。 結論は「production 8.12.26.40 ではWindowsのローカルMCPサーバー機能が未解禁で、トグルはアプリ側の判定でグレーアウトしている」。
セットアップが悪いのでも、ラッパーが悪いのでもなかった。アプリがまだWindowsに鍵を開けていないだけだった。
「Macしか使えないってこと?」への答え
「じゃあやっぱりMacしか使えないってことか」と聞いたら、整理はこうだった。
- macOS / Linux: 今すぐ使える。ローカル.envファイルのマウント(locally mounted .env files)もこの2つのOS限定と公式ドキュメントに明記されている
- Windows: production版では未解禁。ただしアカウント側のフラグは有効で、ベータチャンネルでは対応が進んでおり、productionへの解禁待ち
「Macしか使えない」ではなく「Mac/Linuxは今すぐ、Windowsは目前」。ベータに入った変更がproductionに降りてくれば、リリースノートで周知されて普通に使えるようになる見込み、という読みだ。
検証結果を公開記事に反映
判明した制約は、前のセッションで作った公開記事にそのまま反映させた。
- 「残っている確認事項」セクションを、この日の検証結果で丸ごと置き換え
- 冒頭の「結論」セクションに追記を一行足して、記事単体で最新状態が伝わるようにした
- まとめと参考リンクも整合させた
セットアップ編と検証編をあわせた完全版は 1Password Environments MCPは"Codex専用"ではない — WindowsのClaude Codeで動かすまで にある。
学び
- ニュース記事の「〜向け」は製品名の話で、実体を確かめると対象が広いことがある。今回も貼り付けて調べさせたら「汎用ローカルMCPサーバー」だと数分で判明した
- MCPサーバーの登録が通ることと、機能が解禁されていることは別。接続確認まで通したのに、次のセッションのauthenticateで初めて壁に当たった
- 「トグルがオンにできない」の切り分けは、ログとapp.asarの読み取り調査だけでOS制約まで辿り着けた。アプリを壊さずに原因の層(JS層ではなくRustコアかサーバー側フラグ)まで特定できたのは収穫
- 検証で判明した制約は、その日のうちに記事へ反映して閉じる。「未確認」のまま公開記事を放置しない