MCP Server Status
mcpStatusReport the health of every MCP server known to Codex, including auth type, tool inventory, and initialization state. Enable diagnostics mode to uncover explicit failure causes like expired OAuth tokens or missing binaries.
Instructions
Report what Codex's own app-server says about each MCP server it knows about: auth type, tool inventory, and whether the server initialized.
Unlike the other tools, this one deliberately does NOT suppress Codex's MCP servers — suppressing them would disable the thing being measured — so it is slower than a normal call and boots the servers named in ~/.codex/config.toml.
Two modes:
Default (~6-9s): inventory only. Reports each server as "initialized" or "unknown". Creates no thread and writes no session record.
diagnostics: true (~10-20s): starts an ephemeral thread to collect startup notifications, which are the only source of an explicit "failed" state and the error text naming the cause (expired OAuth grant, missing binary, remote refusal).
Reading the output:
"unknown" is not a failure. It means the inventory carried no server info and no explicit verdict was available. Only diagnostics mode can report "failed".
A "degraded" warning means the underlying call was slow enough that healthy servers have been observed reporting as uninitialized. Treat "unknown" as unproven when it appears.
Servers marked "builtIn" are injected by Codex and are not in your config.toml. Servers marked "configuredButUnreported" are in your config.toml but absent from Codex's inventory.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| timeout | No | Per-request timeout in milliseconds (default: 90000) | |
| diagnostics | No | Start an ephemeral thread to collect startup notifications. Slower, but the only way to get explicit failure states and error text. | |
| workingDirectory | No | Working directory for the app-server session |