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.
Related: How to get Codex MCP server details
Related: How to add a URL-based MCP server to Codex
Related: How to remove a Codex MCP server
Steps to list Codex MCP servers:
- Open a terminal in the environment where Codex is configured.
- 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.
- 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.
- 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.
- 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.
Mohd Shakir Zakaria is a cloud architect with deep roots in software development and open-source advocacy. Certified in AWS, Red Hat, VMware, ITIL, and Linux, he specializes in designing and managing robust cloud and on-premises infrastructures.
