Guide / 2026-09-28

MCP server configured but unavailable to your coding agent?

Diagnose MCP scope, connection, authentication, tool selection, and cross-CLI setup with a read-only documentation server as the example.

Canopy agent sessions beside shared project context
Canopy agent sessions beside shared project context

Seeing an MCP server name is only the first check. The agent CLI must load its configuration, connect, pass any required authentication, expose the tool to that session, and choose to use it for the request. Canopy can help inspect supported CLI configurations, but one CLI's server or login does not become another CLI's tool automatically.

Identify which CLI and project are failing

Write down the agent CLI, its version, the current project directory, the server name, and whether the server should be personal or project-wide. In a Canopy workspace, verify which installed CLI owns the active session. Canopy's current-main README describes discovering and inspecting MCP servers across CLI configurations, but that view does not grant another CLI access or prove parity in the installed release. Run the CLI's own status command in the intended environment before editing configuration.

Separate configured from connected

For Codex, `codex mcp list` shows configured servers; the official docs also describe `codex mcp login <server-name>` for servers using OAuth. For Claude Code, `claude mcp list` and `claude mcp get <name>` show status, and `/mcp` checks the server inside an interactive session. Claude's docs distinguish connected, authentication-needed, failed, pending-approval, rejected, and disabled states. A server written to config is not necessarily connected, approved, or usable. Do not paste a token into a chat to fix an authentication problem; use the CLI's documented authorization flow.

Diagnose the first failing boundary, then repeat the status check.
ObservationCheckNext step
Not listedCLI, project, user/project scope, config locationAdd it to the CLI that will use it
Listed but pending or disabledProject trust and tool settingsReview and enable it in that CLI
Authentication neededProvider account and authorization scopeUse the CLI's supported login flow
Connection failedServer process or URL, network, environment variablesFix the endpoint or process; inspect status again
Connected but unusedTool available in the live session and task wordingAsk for one specific read-only tool-backed answer

Try a public read-only server

OpenAI provides a public documentation MCP server at `https://developers.openai.com/mcp`. Its official quickstart gives `codex mcp add openaiDeveloperDocs --url https://developers.openai.com/mcp` and, separately, `claude mcp add --transport http openaiDeveloperDocs https://developers.openai.com/mcp`. Add only to the CLI you intend to test, then run that CLI's `mcp list` command; in Claude Code, also inspect `/mcp`. Ask the agent to use the documentation server to find one specific API field and cite the page. The server provides read-only documentation search and page content; it does not call the OpenAI API for you. This trial isolates MCP discovery without granting access to GitHub, tickets, or a database.

Check scope and approval before copying configuration

Claude Code supports user and project scopes, with project configuration in `.mcp.json`; its current docs describe a workspace-trust and approval step for project servers. Codex has its own MCP configuration and OAuth state. Setting up a server in Claude Code does not add it to Codex, and the two may use different credentials even when they point at the same endpoint. For a team, commit only a safe project-level definition when the CLI supports it, then have each person approve and authenticate separately. Review tool capabilities and permissions before enabling a write-capable server.

Prove the agent used the tool

A plausible answer is not evidence of an MCP call. Ask for a current fact that the server can return, request a direct source link, and inspect the CLI's visible tool activity or transcript. If the answer came from memory, explicitly ask it to use the configured server and recheck availability. If one CLI succeeds and another fails, compare their status output, scope, and authentication rather than blaming Canopy's tab layout. Record the exact CLI and Canopy versions; integrations can differ by release.

Copyable resources

MCP connection diagnosis

Use a read-only server first; keep credential values out of the record.

Canopy release / platform: [ ]
Agent CLI and version: [ ]
Project directory and server name: [ ]
Expected scope (personal or project): [ ]
CLI list/get status: [ ]
Interactive session status and approval: [ ]
Authentication state, without tokens: [ ]
Server URL or process and relevant error: [ ]
One read-only tool request and cited result: [ ]
Next failing boundary and owner: [ ]

Frequently asked questions

Why can Claude Code use an MCP server but Codex cannot?

Each CLI loads its own configuration and authentication. Add, approve, and verify the server in Codex separately; Canopy does not transfer Claude Code's tools or credentials.

Does a server in Canopy's MCP view mean an agent can use it?

No. Discovery or inspection is not proof of a live connection, authorization, or tool use. Check the owning CLI's status and a real tool-backed request.

Should I put an MCP token in AGENTS.md or CLAUDE.md?

No. Those files are instructions, not a secret store. Use the CLI's documented credential and MCP configuration flow, and keep committed project files free of tokens.

Is an MCP server the same as a skill?

No. An MCP server supplies live tools or data. A skill describes a repeatable workflow and may tell the agent when to use those tools.

Browse more Canopy questions →

Sources and further reading