Codex CLI のエラー

No MCP server named '<name>' found.

結論

削除しようとしたMCPサーバーが無い状態。終了コード0で成功として返るため、CIでは気づけない。

確認した版 Codex CLI v0.153.0
確認日 2026年9月3日
最終更新 2026年9月3日
根拠 実機で確認

エラー文字列

Codex CLI
No MCP server named '<name>' found.

🔴 このメッセージが出ても、終了コードは 0(成功)です。 標準出力に出ます。 CI では何も削除されないまま緑になります。

何が起きているか

codex mcp remove に渡した名前のサーバーが登録されていません。

⚠️ 失敗として扱われません。 「消すものが無かった」は正常終了です。

v0.149.0 で実測した対応表です。

実行したもの 出力 終了コード
登録済みの名前を削除 (削除される) 0
登録の無い名前を削除 No MCP server named 'nonexistent-xyz' found. 0

終了コードでは、消えたかどうかを判定できません。

よくある原因

原因 確認するところ
名前の打ち間違い codex mcp list に出ている綴りと比べる
別の場所に登録している CODEX_HOME が設定されていないか
そもそも登録されていない 追加時にエラーが出ていなかったか

直し方

1. 登録されている名前を確認する

codex mcp list

ここに出る綴りをそのまま使ってください。 表示名ではなく識別子です。

2. どこの設定を見ているか確認する

Windows(PowerShell)

if ($env:CODEX_HOME) { "CODEX_HOME = $env:CODEX_HOME" } else { "既定: $env:USERPROFILE\.codex" }

macOS / Linux

echo "${CODEX_HOME:-$HOME/.codex}"

⚠️ 追加したときと削除するときで、この値が同じか確認してください。CI が環境変数を変えていると、別の場所を見にいきます。

3. CI では出力を検査する

終了コードが 0 でも消えていないので、出力を見て判定します。

out=$(codex mcp remove "$NAME")

if printf '%s' "$out" | grep -q '^No MCP server named'; then
  echo "削除対象がありませんでした: $out" >&2
  exit 1
fi

Windows(PowerShell)

$out = codex mcp remove $Name
if ($out -match '^No MCP server named') {
  Write-Error "削除対象がありませんでした: $out"
  exit 1
}

4. 消えたことを確認する

codex mcp list

再発防止

  • 🔴 codex mcp remove の終了コードを信用しない。 対象が無くても 0 が返る
  • 削除の前後で codex mcp list を取り、差分を見る
  • CI では CODEX_HOME を明示して固定する。既定任せにすると読み先が変わる

この手順で直りませんでしたか?

環境を添えて報告いただければ、追加の原因を検証してこのページに反映します。

エラーを報告する