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
$ 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.
$ 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.
$ 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.
$ 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.