How do I check which MCP servers are connected?

claude mcp list

From your shell. Inside a session, use /mcp.

Answer

Run claude mcp list in your shell for every configured server and its status. Inside a session, /mcp shows the same thing and can reconnect or authenticate without leaving the conversation. For the error behind a status, run claude mcp get <name>.

What it does

claude mcp list prints every server configured for the current directory, each with a status:

claude mcp list
StatusMeaning
✔ ConnectedReady to use
! Connected · tools fetch failedConnected but could not list its tools
! Needs authenticationReachable, wants a browser sign-in or a token
✘ Failed to connectServer did not respond
✘ Connection errorThe connection attempt threw an error
⏸ Pending approval (run claude to approve)A project-scoped server you have not approved yet

Some legacy Windows consoles show and × instead of and .

The pending one is the only status that waits on you rather than on the server. It appears for servers defined in a project's .mcp.json — someone committed them, and Claude Code will not start a program a repository asked for until you say so. Start a session and approve at the prompt, or run /mcp and approve there if you dismissed it.

Inside a session, /mcp shows the same servers and does more: select one to see its tool list, reconnect, or authenticate through the browser.

For the detail behind a status, claude mcp get <name> gives the HTTP status or error code, the full URL or command, and which scope holds the definition.

When to use it

Use claude mcp list right after adding a server. The Added confirmation only means the entry was written to a file — it says nothing about whether the server answers.

Use /mcp when you are already in a session and something is not working: it is the only one of the two that can fix the problem in place, by reconnecting or running the OAuth flow.

Use claude mcp get <name> when a status is not self-explanatory, which is most of the time for the two failure states.

Example

Check everything:

claude mcp list

Get the detail for one server, including its scope:

claude mcp get claude-code-docs

Inside a session:

/mcp

If a freshly added stdio server shows ✘ Failed to connect, wait and run the list again — the first run can be slow while npx downloads the package.

Common mistakes

Checking from a different project. Local-scoped servers are tied to the project they were added from. No MCP servers configured usually means you are somewhere else, not that the config is gone.

Reading Connected · tools fetch failed as working. The connection is up but Claude has nothing to call. Run claude mcp get <name> for the error detail — that status carries one.

Confusing it with an empty tool list. A server that connects and reports zero tools is the different symptom: it started, but without something it needed, usually an environment variable such as an API key. Open /mcp and select the server to see which of the two you have.

Expecting .mcp.json edits to show up immediately. Claude Code reads that file at session start. Restart the session.