[{"data":1,"prerenderedAt":1156},["ShallowReactive",2],{"content-/1password-environments-mcp-windows":3,"all-pages-for-dir":1154,"og-image-/1password-environments-mcp-windows":1155},{"id":4,"title":5,"body":6,"category":1139,"description":1140,"extension":1141,"meta":1142,"navigation":491,"ogImage":1143,"path":1144,"project_name":1143,"published":1145,"publishedAt":1146,"seo":1147,"stem":1148,"tags":1149,"todo":1143,"unpublished":1145,"updatedAt":1146,"__hash__":1153},"pages/2026-07/2026-07-02/1password-environments-mcp-windows.md","1Password Environments MCPは\"Codex専用\"ではない — WindowsのClaude Codeで動かすまで",{"type":7,"value":8,"toc":1115},"minimark",[9,13,17,21,24,27,52,56,66,72,79,82,130,133,149,156,164,167,171,174,180,183,188,199,205,208,212,215,221,226,229,251,254,257,261,264,307,310,448,451,456,459,463,466,473,477,631,635,692,695,719,738,742,802,808,814,817,890,894,904,907,912,918,929,936,942,957,961,964,967,971,974,1006,1009,1013,1016,1019,1052,1055,1072,1075,1111],[10,11,5],"h1",{"id":12},"_1password-environments-mcpはcodex専用ではない-windowsのclaude-codeで動かすまで",[14,15,16],"h2",{"id":16},"背景",[18,19,20],"p",{},"2026年5月20日、1Passwordが「1Password Environments MCP Server for Codex」を出した。\nAIコーディングエージェントがDBやAPIを操作するにはシークレット（認証情報）が要るが、現状は.envファイルやリポジトリへのハードコーディングが多く、流出リスクと監査の穴になっている。\nこのMCPサーバーはシークレットを1Password側に置いたまま、タスクごとに最小スコープで発行し、値をAIモデルのコンテキストウィンドウの外に保つ、という設計になっている。",[18,22,23],{},"ニュース記事だけ読むと「OpenAIのCodex向け」に見える。\nでは、Claude Codeでは使えないのか。",[14,25,26],{"id":26},"結論",[28,29,30,34,41,44],"ul",{},[31,32,33],"li",{},"「for Codex」は製品名とマーケティングの話で、実体は1Passwordデスクトップアプリに同梱される汎用のローカルMCPサーバー。公式ドキュメントにも「その他のMCPクライアント」向けの登録手順があり、Claude Codeからも使える",[31,35,36,37],{},"ただしWindowsのMicrosoft Store（MSIX）版1Passwordには罠がある。公式ドキュメントが案内するパッケージ内のEXEパスを登録しても、",[38,39,40],"strong",{},"MSIXの起動保護でアクセス拒否になり起動できない",[31,42,43],{},"EXEと依存DLLをパッケージ外へコピーすれば起動する。1Passwordの自動更新でパスが変わっても壊れないよう、起動時にバージョンを照合して再コピーするラッパーを作り、Claude Codeに登録して接続確認まで通した",[31,45,46,47,51],{},"追記（同日）: 接続後の ",[48,49,50],"code",{},"authenticate"," はWindowsのproduction版アプリでは通らない。ローカルMCPサーバー機能自体が未解禁で、Labsのトグルがグレーアウトしている。アカウント側のフラグは有効で、ベータチャンネルでは対応が進んでおり、productionへの解禁待ち",[14,53,55],{"id":54},"codex専用かどうかの確認","\"Codex専用\"かどうかの確認",[18,57,58,65],{},[59,60,64],"a",{"href":61,"rel":62},"https://www.1password.dev/environments/mcp-codex-server",[63],"nofollow","公式ドキュメント","（2026-07-02時点。ベータ中のため記述は変わりうる）を見ると、セットアップ手順はCodex向け（Mac/Linux）とKiro向け（Mac）に加えて、「その他のMCPクライアント」向けが用意されている。",[67,68,69],"blockquote",{},[18,70,71],{},"To manually configure the 1Password MCP server, follow your MCP client's instructions to add a local MCP server. Enter the path for your platform as the command",[18,73,74,75,78],{},"つまり「使っているMCPクライアントの手順でローカルMCPサーバーとして登録すればよい」ということで、stdioのローカルMCPサーバーを登録できるクライアントなら何でも対象になる。\nClaude Codeなら ",[48,76,77],{},"claude mcp add"," で登録できる。",[18,80,81],{},"プラットフォーム別のバイナリパスは次のとおり。",[83,84,85,98],"table",{},[86,87,88],"thead",{},[89,90,91,95],"tr",{},[92,93,94],"th",{},"プラットフォーム",[92,96,97],{},"パス",[99,100,101,112,122],"tbody",{},[89,102,103,107],{},[104,105,106],"td",{},"Mac",[104,108,109],{},[48,110,111],{},"/Applications/1Password.app/Contents/MacOS/onepassword-mcp",[89,113,114,117],{},[104,115,116],{},"Linux",[104,118,119],{},[48,120,121],{},"/opt/1Password/onepassword-mcp",[89,123,124,127],{},[104,125,126],{},"Windows",[104,128,129],{},"インストール方法により異なる",[18,131,132],{},"Windowsについては、Store/MSIX版の場合は次のPowerShellコマンドでパスを取得せよ、と注釈にある（同じく2026-07-02時点の記述）。",[134,135,140],"pre",{"className":136,"code":137,"language":138,"meta":139,"style":139},"language-powershell shiki shiki-themes vitesse-light vitesse-light","(Get-AppxPackage -Name \"AgileBits.1Password\").InstallLocation + \"\\onepassword-mcp.exe\"\n","powershell","",[48,141,142],{"__ignoreMap":139},[143,144,147],"span",{"class":145,"line":146},"line",1,[143,148,137],{},[18,150,151,152,155],{},"手元の環境（Store版 8.12.26.40）で実行すると、確かにパッケージ内に ",[48,153,154],{},"onepassword-mcp.exe"," が存在した。",[134,157,162],{"className":158,"code":160,"language":161},[159],"language-text","C:\\Program Files\\WindowsApps\\Agilebits.1Password_8.12.26.40_x64__amwd9z03whsfe\\onepassword-mcp.exe\n","text",[48,163,160],{"__ignoreMap":139},[18,165,166],{},"ここまでは公式ドキュメントどおり。問題はここからだった。",[14,168,170],{"id":169},"windows-store版の罠-exeが起動できない","Windows Store版の罠: EXEが起動できない",[18,172,173],{},"このパスをそのまま実行すると、アクセス拒否になる。",[134,175,178],{"className":176,"code":177,"language":161},[159],"アクセスが拒否されました。\nEXITCODE=5\n",[48,179,177],{"__ignoreMap":139},[18,181,182],{},"Git Bash、PowerShell、cmdのどれから起動しても同じだった。",[184,185,187],"h3",{"id":186},"aclは実行を許可している","ACLは実行を許可している",[18,189,190,191,194,195,198],{},"ファイルのアクセス権限を疑って ",[48,192,193],{},"icacls"," で確認したが、",[48,196,197],{},"BUILTIN\\Users"," に実行権限（X）が付いていた。",[134,200,203],{"className":201,"code":202,"language":161},[159],"onepassword-mcp.exe BUILTIN\\Users:(I)(Rc,S,RD,REA,X,RA)\n",[48,204,202],{"__ignoreMap":139},[18,206,207],{},"権限はあるのに実行だけ拒否される。原因は別にある。",[184,209,211],{"id":210},"原因の切り分け-appexecutionaliasの有無で挙動が分かれる","原因の切り分け: AppExecutionAliasの有無で挙動が分かれる",[18,213,214],{},"1PasswordのAppxManifest.xmlを確認すると、実行エイリアス（AppExecutionAlias）が宣言されているのは次の5つだけだった。",[134,216,219],{"className":217,"code":218,"language":161},[159],"1Password.exe\n1Password-BrowserSupport.exe\n1Password-LastPass-Exporter.exe\nop-ssh-sign.exe\nop-ssh-sign-wsl.exe\n",[48,220,218],{"__ignoreMap":139},[18,222,223,225],{},[48,224,154],{}," は宣言されていない。",[18,227,228],{},"宣言の有無が本当に分かれ目なのかを確かめるため、同じディレクトリ内で対照実験をした。",[28,230,231,242],{},[31,232,233,234,237,238,241],{},"宣言済みの ",[48,235,236],{},"op-ssh-sign.exe"," をパッケージディレクトリから直接起動 → ",[38,239,240],{},"起動する","（引数不足のusageエラーが返る＝プロセス起動自体は成功）",[31,243,244,245,247,248],{},"未宣言の ",[48,246,154],{}," を同じディレクトリから起動 → ",[38,249,250],{},"アクセス拒否",[18,252,253],{},"ディレクトリもACLも同じ条件で、エイリアス宣言の有無だけが挙動を分けた。\nMSIXパッケージ内のEXEは、マニフェストで宣言されていないと外部プロセスから直接起動できない、という整理が観察事実と合う。",[18,255,256],{},"結果として、Store版の1Passwordは、公式ドキュメントがStore版向けにパス取得コマンドまで案内しているにもかかわらず、現バージョン（8.12.26.40）ではそのパスを外部から起動できない。",[14,258,260],{"id":259},"回避策-パッケージ外へコピーすれば起動する","回避策: パッケージ外へコピーすれば起動する",[18,262,263],{},"ACL上は読み取りも実行も許可されているので、EXEと依存DLLを普通のフォルダにコピーしてみた。",[134,265,269],{"className":266,"code":267,"language":268,"meta":139,"style":139},"language-bash shiki shiki-themes vitesse-light vitesse-light","cp onepassword-mcp.exe op_sdk_ipc_client.dll op_sdk_lib_core.dll op_windows_vbs_crypt.dll \u003Cコピー先>/\n","bash",[48,270,271],{"__ignoreMap":139},[143,272,273,277,281,284,287,290,294,297,301,304],{"class":145,"line":146},[143,274,276],{"class":275},"senZ8","cp",[143,278,280],{"class":279},"sdGka"," onepassword-mcp.exe",[143,282,283],{"class":279}," op_sdk_ipc_client.dll",[143,285,286],{"class":279}," op_sdk_lib_core.dll",[143,288,289],{"class":279}," op_windows_vbs_crypt.dll",[143,291,293],{"class":292},"stQ0i"," \u003C",[143,295,296],{"class":279},"コピー",[143,298,300],{"class":299},"sG7-3","先",[143,302,303],{"class":292},">",[143,305,306],{"class":279},"/\n",[18,308,309],{},"コピーしたEXEは起動した。\nMCPのinitializeリクエストをstdinに流すと、正常な応答が返ってくる。",[134,311,315],{"className":312,"code":313,"language":314,"meta":139,"style":139},"language-json shiki shiki-themes vitesse-light vitesse-light","{\"jsonrpc\":\"2.0\",\"id\":1,\"result\":{\"protocolVersion\":\"2025-06-18\",\n \"serverInfo\":{\"name\":\"rmcp\",\"version\":\"1.1.0\"}, ...}}\n","json",[48,316,317,391],{"__ignoreMap":139},[143,318,319,323,327,331,333,336,339,342,344,347,349,352,354,356,360,362,364,367,369,372,374,377,379,381,383,386,388],{"class":145,"line":146},[143,320,322],{"class":321},"shFtX","{",[143,324,326],{"class":325},"sqvqQ","\"",[143,328,330],{"class":329},"sz8Xr","jsonrpc",[143,332,326],{"class":325},[143,334,335],{"class":321},":",[143,337,326],{"class":338},"sMJiu",[143,340,341],{"class":279},"2.0",[143,343,326],{"class":338},[143,345,346],{"class":321},",",[143,348,326],{"class":325},[143,350,351],{"class":329},"id",[143,353,326],{"class":325},[143,355,335],{"class":321},[143,357,359],{"class":358},"sM54T","1",[143,361,346],{"class":321},[143,363,326],{"class":325},[143,365,366],{"class":329},"result",[143,368,326],{"class":325},[143,370,371],{"class":321},":{",[143,373,326],{"class":325},[143,375,376],{"class":329},"protocolVersion",[143,378,326],{"class":325},[143,380,335],{"class":321},[143,382,326],{"class":338},[143,384,385],{"class":279},"2025-06-18",[143,387,326],{"class":338},[143,389,390],{"class":321},",\n",[143,392,394,397,400,402,404,406,409,411,413,415,418,420,422,424,427,429,431,433,436,438,441,445],{"class":145,"line":393},2,[143,395,396],{"class":325}," \"",[143,398,399],{"class":329},"serverInfo",[143,401,326],{"class":325},[143,403,371],{"class":321},[143,405,326],{"class":325},[143,407,408],{"class":329},"name",[143,410,326],{"class":325},[143,412,335],{"class":321},[143,414,326],{"class":338},[143,416,417],{"class":279},"rmcp",[143,419,326],{"class":338},[143,421,346],{"class":321},[143,423,326],{"class":325},[143,425,426],{"class":329},"version",[143,428,326],{"class":325},[143,430,335],{"class":321},[143,432,326],{"class":338},[143,434,435],{"class":279},"1.1.0",[143,437,326],{"class":338},[143,439,440],{"class":321},"},",[143,442,444],{"class":443},"sPP4b"," ...",[143,446,447],{"class":321},"}}\n",[18,449,450],{},"サーバーのinstructionsには、次の注意書きが入っていた。",[67,452,453],{},[18,454,455],{},"Note: Features like local .env file destinations (locally mounted .env files) are only supported on macOS and Linux.",[18,457,458],{},"ローカル.envファイルとしてマウントする機能（シークレットを実行時に注入する経路）はmacOS/Linux限定。\nWindowsで使えるのはEnvironmentの作成・一覧・リネーム、変数名の一覧、変数の追加までで、シークレットの値そのものは設計上MCPクライアント側に渡さない。",[14,460,462],{"id":461},"恒久セットアップ-更新に追従する自動同期ラッパー","恒久セットアップ: 更新に追従する自動同期ラッパー",[18,464,465],{},"MSIXのパッケージパスはバージョン番号入りなので、1Passwordが自動更新されるとコピー元のパスが変わる。\n一度コピーして終わりにすると、更新のたびに壊れる。\nそこで、起動のたびにインストール済みバージョンを照合し、変わっていたら再コピーする同期スクリプトを挟むことにした。",[18,467,468,469,472],{},"ファイルは ",[48,470,471],{},"%USERPROFILE%\\.claude\\mcp\\1password\\"," に2つ。",[184,474,476],{"id":475},"sync-onepassword-mcpps1同期スクリプト","sync-onepassword-mcp.ps1（同期スクリプト）",[134,478,480],{"className":136,"code":479,"language":138,"meta":139,"style":139},"$ErrorActionPreference = 'Stop'\n\n$pkg = Get-AppxPackage -Name 'AgileBits.1Password'\nif (-not $pkg) {\n    [Console]::Error.WriteLine('[sync-onepassword-mcp] 1Password (Store版) が見つかりません')\n    exit 1\n}\n\n$binDir  = Join-Path $PSScriptRoot 'bin'\n$verFile = Join-Path $binDir 'version.txt'\n$exe     = Join-Path $binDir 'onepassword-mcp.exe'\n\n$cached = if (Test-Path $verFile) { (Get-Content $verFile -Raw).Trim() } else { '' }\n\nif ($cached -eq $pkg.Version -and (Test-Path $exe)) {\n    exit 0\n}\n\nNew-Item -ItemType Directory -Force -Path $binDir | Out-Null\nCopy-Item (Join-Path $pkg.InstallLocation 'onepassword-mcp.exe') $binDir -Force\nCopy-Item (Join-Path $pkg.InstallLocation 'op_sdk_*.dll') $binDir -Force\nCopy-Item (Join-Path $pkg.InstallLocation 'op_windows_*.dll') $binDir -Force -ErrorAction SilentlyContinue\nSet-Content -Path $verFile -Value $pkg.Version -NoNewline\n\n[Console]::Error.WriteLine(\"[sync-onepassword-mcp] synced version $($pkg.Version)\")\nexit 0\n",[48,481,482,487,493,499,505,511,517,523,528,534,540,546,551,557,562,568,574,579,584,590,596,602,608,614,619,625],{"__ignoreMap":139},[143,483,484],{"class":145,"line":146},[143,485,486],{},"$ErrorActionPreference = 'Stop'\n",[143,488,489],{"class":145,"line":393},[143,490,492],{"emptyLinePlaceholder":491},true,"\n",[143,494,496],{"class":145,"line":495},3,[143,497,498],{},"$pkg = Get-AppxPackage -Name 'AgileBits.1Password'\n",[143,500,502],{"class":145,"line":501},4,[143,503,504],{},"if (-not $pkg) {\n",[143,506,508],{"class":145,"line":507},5,[143,509,510],{},"    [Console]::Error.WriteLine('[sync-onepassword-mcp] 1Password (Store版) が見つかりません')\n",[143,512,514],{"class":145,"line":513},6,[143,515,516],{},"    exit 1\n",[143,518,520],{"class":145,"line":519},7,[143,521,522],{},"}\n",[143,524,526],{"class":145,"line":525},8,[143,527,492],{"emptyLinePlaceholder":491},[143,529,531],{"class":145,"line":530},9,[143,532,533],{},"$binDir  = Join-Path $PSScriptRoot 'bin'\n",[143,535,537],{"class":145,"line":536},10,[143,538,539],{},"$verFile = Join-Path $binDir 'version.txt'\n",[143,541,543],{"class":145,"line":542},11,[143,544,545],{},"$exe     = Join-Path $binDir 'onepassword-mcp.exe'\n",[143,547,549],{"class":145,"line":548},12,[143,550,492],{"emptyLinePlaceholder":491},[143,552,554],{"class":145,"line":553},13,[143,555,556],{},"$cached = if (Test-Path $verFile) { (Get-Content $verFile -Raw).Trim() } else { '' }\n",[143,558,560],{"class":145,"line":559},14,[143,561,492],{"emptyLinePlaceholder":491},[143,563,565],{"class":145,"line":564},15,[143,566,567],{},"if ($cached -eq $pkg.Version -and (Test-Path $exe)) {\n",[143,569,571],{"class":145,"line":570},16,[143,572,573],{},"    exit 0\n",[143,575,577],{"class":145,"line":576},17,[143,578,522],{},[143,580,582],{"class":145,"line":581},18,[143,583,492],{"emptyLinePlaceholder":491},[143,585,587],{"class":145,"line":586},19,[143,588,589],{},"New-Item -ItemType Directory -Force -Path $binDir | Out-Null\n",[143,591,593],{"class":145,"line":592},20,[143,594,595],{},"Copy-Item (Join-Path $pkg.InstallLocation 'onepassword-mcp.exe') $binDir -Force\n",[143,597,599],{"class":145,"line":598},21,[143,600,601],{},"Copy-Item (Join-Path $pkg.InstallLocation 'op_sdk_*.dll') $binDir -Force\n",[143,603,605],{"class":145,"line":604},22,[143,606,607],{},"Copy-Item (Join-Path $pkg.InstallLocation 'op_windows_*.dll') $binDir -Force -ErrorAction SilentlyContinue\n",[143,609,611],{"class":145,"line":610},23,[143,612,613],{},"Set-Content -Path $verFile -Value $pkg.Version -NoNewline\n",[143,615,617],{"class":145,"line":616},24,[143,618,492],{"emptyLinePlaceholder":491},[143,620,622],{"class":145,"line":621},25,[143,623,624],{},"[Console]::Error.WriteLine(\"[sync-onepassword-mcp] synced version $($pkg.Version)\")\n",[143,626,628],{"class":145,"line":627},26,[143,629,630],{},"exit 0\n",[184,632,634],{"id":633},"onepassword-mcpcmdclaude-codeに登録するランチャー","onepassword-mcp.cmd（Claude Codeに登録するランチャー）",[134,636,640],{"className":637,"code":638,"language":639,"meta":139,"style":139},"language-bat shiki shiki-themes vitesse-light vitesse-light","@echo off\nrem 1Password Environments MCP Server launcher (registered in Claude Code)\nrem 1) Sync latest onepassword-mcp.exe from the MSIX package into bin/ (keep stdout clean for MCP)\nrem 2) Launch the synced exe, passing stdio through to the MCP client\npowershell -NoProfile -File \"%~dp0sync-onepassword-mcp.ps1\" 1>nul\nif not exist \"%~dp0bin\\onepassword-mcp.exe\" (\n    echo [onepassword-mcp.cmd] bin\\onepassword-mcp.exe not found. Sync failed - check execution policy or 1Password install. 1>&2\n    exit /b 1\n)\n\"%~dp0bin\\onepassword-mcp.exe\" %*\n","bat",[48,641,642,647,652,657,662,667,672,677,682,687],{"__ignoreMap":139},[143,643,644],{"class":145,"line":146},[143,645,646],{},"@echo off\n",[143,648,649],{"class":145,"line":393},[143,650,651],{},"rem 1Password Environments MCP Server launcher (registered in Claude Code)\n",[143,653,654],{"class":145,"line":495},[143,655,656],{},"rem 1) Sync latest onepassword-mcp.exe from the MSIX package into bin/ (keep stdout clean for MCP)\n",[143,658,659],{"class":145,"line":501},[143,660,661],{},"rem 2) Launch the synced exe, passing stdio through to the MCP client\n",[143,663,664],{"class":145,"line":507},[143,665,666],{},"powershell -NoProfile -File \"%~dp0sync-onepassword-mcp.ps1\" 1>nul\n",[143,668,669],{"class":145,"line":513},[143,670,671],{},"if not exist \"%~dp0bin\\onepassword-mcp.exe\" (\n",[143,673,674],{"class":145,"line":519},[143,675,676],{},"    echo [onepassword-mcp.cmd] bin\\onepassword-mcp.exe not found. Sync failed - check execution policy or 1Password install. 1>&2\n",[143,678,679],{"class":145,"line":525},[143,680,681],{},"    exit /b 1\n",[143,683,684],{"class":145,"line":530},[143,685,686],{},")\n",[143,688,689],{"class":145,"line":536},[143,690,691],{},"\"%~dp0bin\\onepassword-mcp.exe\" %*\n",[18,693,694],{},"ポイントは3つ。",[28,696,697,707,713],{},[31,698,699,702,703,706],{},[38,700,701],{},"stdoutを汚さない",": stdioベースのMCPはstdoutがプロトコル専用線なので、同期スクリプトの出力は ",[48,704,705],{},"1>nul"," で捨てる。ログはstderrに書く（MCPクライアントはstderrをログとして拾ってくれる）",[31,708,709,712],{},[38,710,711],{},"同期失敗時はEXEを起動しない",": 同期が一度も成功していない状態で起動に進むと、存在しないEXEを叩いて分かりにくいエラーになる。EXEの存在確認を挟み、無ければstderrにログを出して終了する",[31,714,715,718],{},[38,716,717],{},"バッチのコメントはASCIIで書く",": 最初は日本語コメントを書いていて、ハマった。UTF-8で保存したバッチをcmdがCP932として解釈し、コメント行の一部を壊れたコマンドとして実行しようとしてエラー行を吐く。バッチファイルの日本語コメントは事故のもとなので、英語にした",[18,720,721,722,725,726,729,730,733,734,737],{},"なお、",[48,723,724],{},"powershell -File"," での.ps1実行はPowerShellの実行ポリシーに従う。\nポリシーが ",[48,727,728],{},"Restricted","（Windowsクライアントの既定）の環境では「このシステムではスクリプトの実行が無効になっているため…」で同期が失敗するので、その場合は ",[48,731,732],{},"Set-ExecutionPolicy -Scope CurrentUser RemoteSigned"," を設定するか、ランチャー側を ",[48,735,736],{},"powershell -NoProfile -ExecutionPolicy Bypass -File ..."," に変える。",[184,739,741],{"id":740},"claude-codeへの登録","Claude Codeへの登録",[134,743,745],{"className":266,"code":744,"language":268,"meta":139,"style":139},"claude mcp add --scope user 1password -- cmd /c %USERPROFILE%\\.claude\\mcp\\1password\\onepassword-mcp.cmd\n",[48,746,747],{"__ignoreMap":139},[143,748,749,752,755,758,762,765,768,771,774,777,780,783,785,788,790,793,796,799],{"class":145,"line":146},[143,750,751],{"class":275},"claude",[143,753,754],{"class":279}," mcp",[143,756,757],{"class":279}," add",[143,759,761],{"class":760},"snbK4"," --scope",[143,763,764],{"class":279}," user",[143,766,767],{"class":279}," 1password",[143,769,770],{"class":760}," --",[143,772,773],{"class":279}," cmd",[143,775,776],{"class":279}," /c",[143,778,779],{"class":279}," %USERPROFILE%",[143,781,782],{"class":760},"\\.",[143,784,751],{"class":279},[143,786,787],{"class":760},"\\m",[143,789,276],{"class":279},[143,791,792],{"class":760},"\\1",[143,794,795],{"class":279},"password",[143,797,798],{"class":760},"\\o",[143,800,801],{"class":279},"nepassword-mcp.cmd\n",[18,803,804,807],{},[48,805,806],{},"--scope user"," にしたのは、シークレット管理が特定プロジェクトに紐づかないため。\n登録後のヘルスチェックも通った。",[134,809,812],{"className":810,"code":811,"language":161},[159],"1password: cmd /c ...\\onepassword-mcp.cmd - ✔ Connected\n",[48,813,811],{"__ignoreMap":139},[18,815,816],{},"ツールは6つ生えてくる。",[83,818,819,829],{},[86,820,821],{},[89,822,823,826],{},[92,824,825],{},"ツール",[92,827,828],{},"役割",[99,830,831,841,851,861,871,881],{},[89,832,833,838],{},[104,834,835],{},[48,836,837],{},"list_environments",[104,839,840],{},"Environmentの一覧",[89,842,843,848],{},[104,844,845],{},[48,846,847],{},"create_environment",[104,849,850],{},"Environmentの作成",[89,852,853,858],{},[104,854,855],{},[48,856,857],{},"rename_environment",[104,859,860],{},"Environmentのリネーム",[89,862,863,868],{},[104,864,865],{},[48,866,867],{},"list_variables",[104,869,870],{},"環境変数名の一覧",[89,872,873,878],{},[104,874,875],{},[48,876,877],{},"append_variables",[104,879,880],{},"環境変数の追加",[89,882,883,887],{},[104,884,885],{},[48,886,50],{},[104,888,889],{},"1Passwordデスクトップアプリ経由の認証",[14,891,893],{"id":892},"authenticate検証同日追記-windows-production版は機能未解禁だった","authenticate検証（同日追記）: Windows production版は機能未解禁だった",[18,895,896,897,899,900,903],{},"同日、Claude Codeから ",[48,898,50],{}," を実行して認証まで通るかを検証した。\n結果は失敗。ただし原因は環境設定のミスではなく、",[38,901,902],{},"Windowsのproduction版アプリがローカルMCPサーバー機能をまだ解禁していない","ことだった。切り分けの過程を記録する。",[184,905,906],{"id":906},"エラーメッセージと実態が食い違う",[18,908,909,911],{},[48,910,50],{}," を呼ぶと、次のエラーが返る。",[134,913,916],{"className":914,"code":915,"language":161},[159],"MCP error -32603: 1Password desktop app is not running.\nPlease open 1Password and try again.\n",[48,917,915],{"__ignoreMap":139},[18,919,920,921,924,925,928],{},"だが1Passwordアプリは起動している。プロセス一覧には ",[48,922,923],{},"1Password"," 本体とBrowserSupport、そして各セッションが起動した ",[48,926,927],{},"onepassword-mcp"," が並んでいた。",[18,930,931,932,935],{},"MCPバイナリ側のログ（",[48,933,934],{},"%LOCALAPPDATA%\\1Password\\logs\\MCP\\","）を見ると、実際に起きていることが分かる。",[134,937,940],{"className":938,"code":939,"language":161},[159],"INFO  MCP -- authenticating session with scopes\nINFO  MCP -- IPC unavailable, attempting to launch 1Password\nERROR op-oph-launcher -- could not find 1Password to launch\nERROR MCP -- IPC still unavailable after launching 1Password\nERROR MCP -- authentication request failed\n",[48,941,939],{"__ignoreMap":139},[18,943,944,945,948,949,952,953,956],{},"「アプリが起動していない」のではなく、",[38,946,947],{},"バイナリがアプリ側のIPCリレーに接続できていない","。\nなお ",[48,950,951],{},"could not find 1Password to launch"," は、パッケージ外にコピーしたEXEが自分の由来を ",[48,954,955],{},"Installer=Unknown"," と認識するせいでアプリの場所を解決できないという、ラッパー方式の副作用も混ざっている。ただし主因は次のとおりIPCリレーの不在だった。",[184,958,960],{"id":959},"ipcリレーはlabsの実験機能でトグルが有効化できない","IPCリレーはLabsの実験機能で、トグルが有効化できない",[18,962,963],{},"MCPサーバー同梱の getting-started ドキュメントに、記事執筆時点で見落としていた前提が書かれていた。\nローカルMCPサーバーは1Password Labsの実験機能で、アプリの Settings → 1Password Labs → MCP Server で「Enable local MCP server」をONにすると、アプリがIPCリレーを起動する。バイナリはそのリレーに接続する仕組みで、トグルがOFFのままではどう登録しても認証は通らない。",[18,965,966],{},"ところが手元のWindows（Store版 8.12.26.40）では、このトグルがグレーアウトしていて操作できない。",[184,968,970],{"id":969},"切り分け-フラグは有効アプリ側が未解禁","切り分け: フラグは有効、アプリ側が未解禁",[18,972,973],{},"トグルが無効化される原因を順に切り分けた。",[28,975,976,990,1000],{},[31,977,978,981,982,985,986,989],{},[38,979,980],{},"アカウント側のフィーチャーフラグは有効","。getting-startedには「",[48,983,984],{},"ai-local-mcp-server"," フラグがアカウントで有効であること」が条件とあるが、ローカルDBを確認すると ",[48,987,988],{},"ai-local-mcp-server{\"enabled\":true,\"protected\":false}"," が記録されていた。フラグ待ちではない",[31,991,992,995,996,999],{},[38,993,994],{},"アプリはMCP統合を無効と判定している","。アプリ本体ログの起動時に ",[48,997,998],{},"MCP integration is disabled in settings"," が出る。settings.jsonにはMCP関連キーが存在せず、トグルは一度も保存に至っていない",[31,1001,1002,1005],{},[38,1003,1004],{},"Windows安定版のリリースノートにはMCPサーバーの言及が皆無","。一方、ベータチャンネルでは 8.12.28-17（2026-07-01）で「バンドルされたMCPバイナリを絶対パスの代わりに起動できるようになった」「CLI・SDK・MCPクライアント統合を Settings → Developer に集約」というMCP関連の変更が入っている",[18,1007,1008],{},"つまりproduction 8.12.26.40は、MCPバイナリとLabsのUIだけが先行して同梱され、機能本体はベータチャンネルで開発中という状態だった。トグルのグレーアウトはその表れで、ユーザー側で解除する手段はない。",[184,1010,1012],{"id":1011},"含意-msix起動拒否問題は1password側が公式に解消しにきている","含意: MSIX起動拒否問題は1Password側が公式に解消しにきている",[18,1014,1015],{},"ベータの「バンドルされたMCPバイナリを起動できるようになった」という変更は、本記事で回避したMSIXの起動拒否問題そのものへの対処と読める。\nこの変更がproductionに降りてくれば、EXEをパッケージ外へコピーする自動同期ラッパーは不要になる見込みだ。",[14,1017,1018],{"id":1018},"残っている確認事項",[28,1020,1023,1040,1046],{"className":1021},[1022],"contains-task-list",[31,1024,1027,1031,1032,1034,1035,1034,1037,1039],{"className":1025},[1026],"task-list-item",[1028,1029],"input",{"disabled":491,"type":1030},"checkbox"," Windows production版でローカルMCPサーバーが解禁されたら、Labsトグル有効化 → ",[48,1033,50],{}," → ",[48,1036,837],{},[48,1038,867],{}," を再検証する",[31,1041,1043,1045],{"className":1042},[1026],[1028,1044],{"disabled":491,"type":1030}," 解禁後、ベータで入った「バンドル済みバイナリの起動対応」がproductionにも入っていれば、自動同期ラッパーを廃止して公式パス直接登録に切り替える",[31,1047,1049,1051],{"className":1048},[1026],[1028,1050],{"disabled":491,"type":1030}," ローカル.envファイルのマウント（シークレット注入経路）はmacOS/Linux限定のまま。Windowsでの提供有無は引き続きウォッチする",[14,1053,1054],{"id":1054},"まとめ",[28,1056,1057,1060,1063,1066,1069],{},[31,1058,1059],{},"1Password Environments MCP Serverは\"Codex専用\"ではなく、Claude Codeを含む任意のMCPクライアントから使える設計になっている",[31,1061,1062],{},"ただしWindows Store（MSIX）版は、公式ドキュメントの案内どおりにパッケージ内のEXEパスを登録しても、AppExecutionAlias未宣言のため起動できない。ACLを見ても原因は分からず、AppxManifestを見ると分かる",[31,1064,1065],{},"EXEと依存DLLをパッケージ外へ同期するラッパーを挟めば動く。バージョン照合付きにしておけば1Passwordの自動更新にも追従する",[31,1067,1068],{},"ただし接続できるのはハンドシェイクまで。認証（authenticate）はアプリ側のIPCリレーが前提で、Windowsのproduction版（8.12.26.40）はLabsのトグルが無効化されており解禁待ち（2026-07-02時点）。アカウント側のフラグは有効なので、待てば使えるようになる見込み",[31,1070,1071],{},"ベータチャンネル（8.12.28-17）ではバンドル済みMCPバイナリの起動対応が入っており、productionに降りてくればこのラッパー自体が不要になる。それまでのつなぎとして使う",[14,1073,1074],{"id":1074},"参考リンク",[28,1076,1077,1083,1090,1097,1104],{},[31,1078,1079],{},[59,1080,1082],{"href":61,"rel":1081},[63],"Use 1Password MCP Server for Codex with 1Password Environments (beta) - 1Password Developer",[31,1084,1085],{},[59,1086,1089],{"href":1087,"rel":1088},"https://www.1password.dev/environments/mcp-server",[63],"Use the 1Password MCP Server to allow MCP clients to manage your 1Password Environments (beta) - 1Password Developer",[31,1091,1092],{},[59,1093,1096],{"href":1094,"rel":1095},"https://releases.1password.com/windows/beta/",[63],"1Password for Windows beta release notes",[31,1098,1099],{},[59,1100,1103],{"href":1101,"rel":1102},"https://1password.com/blog/1password-trusted-access-layer-for-openai-codex",[63],"1Password is now a trusted access layer for OpenAI's Codex | 1Password Blog",[31,1105,1106],{},[59,1107,1110],{"href":1108,"rel":1109},"https://1password.com/blog/securing-mcp-servers-with-1password-stop-credential-exposure-in-your-agent",[63],"Securing MCP servers with 1Password | 1Password Blog",[1112,1113,1114],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .senZ8, html code.shiki .senZ8{--shiki-default:#59873A;--shiki-dark:#59873A}html pre.shiki code .sdGka, html code.shiki .sdGka{--shiki-default:#B56959;--shiki-dark:#B56959}html pre.shiki code .stQ0i, html code.shiki .stQ0i{--shiki-default:#AB5959;--shiki-dark:#AB5959}html pre.shiki code .sG7-3, html code.shiki .sG7-3{--shiki-default:#393A34;--shiki-dark:#393A34}html pre.shiki code .shFtX, html code.shiki .shFtX{--shiki-default:#999999;--shiki-dark:#999999}html pre.shiki code .sqvqQ, html code.shiki .sqvqQ{--shiki-default:#99841877;--shiki-dark:#99841877}html pre.shiki code .sz8Xr, html code.shiki .sz8Xr{--shiki-default:#998418;--shiki-dark:#998418}html pre.shiki code .sMJiu, html code.shiki .sMJiu{--shiki-default:#B5695977;--shiki-dark:#B5695977}html pre.shiki code .sM54T, html code.shiki .sM54T{--shiki-default:#2F798A;--shiki-dark:#2F798A}html pre.shiki code .sPP4b, html code.shiki .sPP4b{--shiki-default:#B31D28;--shiki-default-font-style:italic;--shiki-dark:#B31D28;--shiki-dark-font-style:italic}html pre.shiki code .snbK4, html code.shiki .snbK4{--shiki-default:#A65E2B;--shiki-dark:#A65E2B}",{"title":139,"searchDepth":393,"depth":393,"links":1116},[1117,1118,1119,1120,1124,1125,1130,1136,1137,1138],{"id":16,"depth":393,"text":16},{"id":26,"depth":393,"text":26},{"id":54,"depth":393,"text":55},{"id":169,"depth":393,"text":170,"children":1121},[1122,1123],{"id":186,"depth":495,"text":187},{"id":210,"depth":495,"text":211},{"id":259,"depth":393,"text":260},{"id":461,"depth":393,"text":462,"children":1126},[1127,1128,1129],{"id":475,"depth":495,"text":476},{"id":633,"depth":495,"text":634},{"id":740,"depth":495,"text":741},{"id":892,"depth":393,"text":893,"children":1131},[1132,1133,1134,1135],{"id":906,"depth":495,"text":906},{"id":959,"depth":495,"text":960},{"id":969,"depth":495,"text":970},{"id":1011,"depth":495,"text":1012},{"id":1018,"depth":393,"text":1018},{"id":1054,"depth":393,"text":1054},{"id":1074,"depth":393,"text":1074},"dev","1PasswordがCodex向けに出したEnvironments MCP Serverは、実体は汎用のローカルMCPサーバーでClaude Codeからも使える。ただしWindowsのStore版はEXEの直接起動が拒否される。原因（MSIXの起動保護）の切り分けと、自動同期ラッパーでClaude Codeに登録するまでの記録。追記: authenticate検証でWindows production版は機能未解禁と判明、その切り分けも記録した。","md",{},null,"/1password-environments-mcp-windows",false,"2026-07-02T00:00:00.000Z",{"title":5,"description":1140},"2026-07/2026-07-02/1password-environments-mcp-windows",[923,1150,1151,126,1152],"MCP","Claude Code","シークレット管理","KAl-lHKwRmNrQhC6vRAIgMNjiKq1Xr4HLhvFi4-Udfg",[],"https://log.eurekapu.com/og/blog/1password-environments-mcp-windows.png?v=2026-07-02T00%3A00%3A00.000Z&title=1Password%20Environments%20MCP%E3%81%AF%22Codex%E5%B0%82%E7%94%A8%22%E3%81%A7%E3%81%AF%E3%81%AA%E3%81%84%20%E2%80%94%20Windows%E3%81%AEClaude%20Code%E3%81%A7%E5%8B%95%E3%81%8B%E3%81%99%E3%81%BE%E3%81%A7&author=Kei%20Komatsu&sig=8cf9147bfac509b3",1782975568457]