Listing configured Model Context Protocol (MCP) servers in Codex shows which integrations are available before a session tries to use them. That makes it easier to confirm the exact server names, transport type, and enabled state from one command.

The codex mcp list subcommand reads the saved MCP entries from Codex configuration and prints a human-readable summary. Local stdio servers appear in one table, while remote streamable HTTP servers appear in a second table with their URL and bearer-token column.

The list output shows what Codex has configured, not whether a server binary, remote endpoint, or login flow will succeed at runtime. An Auth value of Unsupported is normal for many stdio servers and public HTTP endpoints that do not offer an interactive OAuth login step.

Steps to list Codex MCP servers:

  1. Open a terminal in the environment where Codex is configured.
  2. List the configured MCP servers in the default human-readable view.
    $ codex mcp list
    Name        Command  Args                    Env  Cwd  Status   Auth
    playwright  npx      @playwright/mcp@latest  -    -    enabled  Unsupported
    
    Name                 Url                                Bearer Token Env Var  Status   Auth
    openaiDeveloperDocs  https://developers.openai.com/mcp  -                     enabled  Unsupported

    The first table covers local stdio launchers. The second table covers remote streamable HTTP servers.

  3. Print the same server list as JSON when another tool or script needs the full transport record.
    $ codex mcp list --json
    [
      {
        "name": "playwright",
        "enabled": true,
        "disabled_reason": null,
        "transport": {
          "type": "stdio",
          "command": "npx",
          "args": [
            "@playwright/mcp@latest"
          ],
          "env": null,
          "env_vars": [],
          "cwd": null
        },
        "startup_timeout_sec": null,
        "tool_timeout_sec": null,
        "auth_status": "unsupported"
      },
      {
        "name": "openaiDeveloperDocs",
        "enabled": true,
        "disabled_reason": null,
        "transport": {
          "type": "streamable_http",
          "url": "https://developers.openai.com/mcp",
          "bearer_token_env_var": null,
          "http_headers": null,
          "env_http_headers": null
        },
        "startup_timeout_sec": null,
        "tool_timeout_sec": null,
        "auth_status": "unsupported"
      }
    ]

    The transport.type field distinguishes local stdio launchers from remote streamable_http endpoints.

  4. Inspect the exact server name from the Name column before requesting deeper details or removing an entry.
    $ codex mcp get playwright
    playwright
      enabled: true
      transport: stdio
      command: npx
      args: @playwright/mcp@latest
      cwd: -
      env: -
      remove: codex mcp remove playwright

    The Name value must match exactly in codex mcp get and codex mcp remove.

  5. Add a server and rerun the list if Codex reports that no MCP servers are configured yet.
    $ codex mcp list
    No MCP servers configured yet. Try `codex mcp add my-tool -- my-command`

    Use How to add a URL-based MCP server to Codex for remote HTTP servers or a dedicated add guide such as How to add the OpenAI Docs MCP server to Codex when you need a complete example.