en un clic
mcp-doctor
Check health of configured MCP servers
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Menu
Check health of configured MCP servers
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Basé sur la classification professionnelle SOC
Authoritative, version-pinned reference for every Claude Code CLI flag, classified by whether it works in an INTERACTIVE session (default TUI), a HEADLESS session (-p/--print), or BOTH — plus the canonical launch recipes for each mode. Use when any session needs to launch or script `claude` and must know which switch is valid in which mode, build a headless/streaming invocation, set up remote-control or an always-on session, pass model/effort/permissions/MCP/plugin/settings flags, or answer "does flag X work with -p / in interactive". Trigger: "claude flags", "claude cli switches", "which flags work headless vs interactive", "-p flags", "stream-json flags", "how do I launch claude with X", "/claude-cli-flags".
Authoritative, version-pinned reference for every built-in Claude Code slash (/) command — what each does, its aliases, and which are bundled Skills/Workflows vs fixed built-ins — plus how custom slash commands work (the commands-merged-into-skills model, file locations, frontmatter, arguments, !bash, @file). Includes the full /loop vs /schedule breakdown. Use when any session needs to know what a slash command does, find the right command for a task (clear context, switch model, review code, schedule work, background a task), or author a custom /command. Trigger: "claude slash commands", "what does /X do", "list the slash commands", "built-in commands", "custom slash command", "/loop vs /schedule", "how do I make a /command", "/claude-slash-commands". Sibling of claude-cli-flags (launch flags).
Initialise a workspace, register projects under it, or sync upstream changes. Single entry point for workspace lifecycle.
Enforce coordinated integration testing — identify tool dependencies, check running systems, test all 4 levels (unit/component/integration/system), never disrupt workflows
Autonomous task loop — runs a task repeatedly until completion criteria are met. No babysitting required.
Dual-model review — runs the same question past a second, independent reasoner (a separate model/CLI, e.g. Codex) and synthesizes the disagreements with the primary Claude take. Use before an irreversible call — architecture, security, strategy, high-blast-radius code. Trigger phrases "second opinion", "/second-opinion", "review this", "get another perspective", "sanity check this plan".
| name | mcp-doctor |
| description | Check health of configured MCP servers |
| user_invocable | true |
You are performing a health check on all configured MCP servers.
This skill has two modes:
/hello and for routine verification.--deep) — process-level connectivity tests for diagnosing missing or broken servers.Use this when invoked by /hello or standalone without --deep.
Read .mcp.json to get the list of configured local servers and their names.
Enumerate session tools: Identify all mcp__<server>__<tool> tool names visible in the current session. Group them by server prefix (the part between mcp__ and __<tool>).
Cross-reference with .mcp.json: For each server configured in .mcp.json, check whether any tools with its prefix appear in the session.
Identify claude.ai integrations: Group all mcp__claude_ai_<Name>__* tools as a separate "Claude.ai Integrations" section — these are not in .mcp.json.
authenticate and complete_authentication tools → label as auth-only (OAuth flow required before full tools are available)Report a unified status table:
MCP Health — Session
─────────────────────────────────────────
Local Servers (.mcp.json)
Server Status Tools
cognee HEALTHY 23 tools
playwright HEALTHY 12 tools
other-server ABSENT —
Claude.ai Integrations
Integration Status
Slack connected (14 tools)
Gmail auth-only (OAuth required)
If any .mcp.json server is ABSENT, offer: "Run /mcp-doctor --deep to diagnose why <server> failed to connect."
Return the health status so calling skills (e.g., /hello) can use it.
--deep)Use this when a server is missing or broken and you need to diagnose why.
Read MCP configuration: Read .mcp.json from the project root to discover all configured MCP servers, their transport type, and their setup details.
Classify each server: For each entry in .mcp.json, determine the transport:
command and args fields (e.g., cognee with a Python binary, playwright with npx)url fieldHealth-check each server via its native transport: Do NOT call MCP tools (they require the server to already be loaded in the Claude Code session). Instead, test connectivity directly:
For stdio servers using Python (command points to a Python binary):
command fieldmcp.ClientSession, StdioServerParameters, and stdio_client from the MCP Python SDKcommand, args, and env from .mcp.jsoninitialize(), then list_tools(), print the tool count and tool namesFor stdio servers using npx/node (e.g., playwright):
For HTTP/SSE servers (url is set):
Key principle: This skill describes what to do. You generate the actual test scripts on the fly based on what you find in .mcp.json. Do not use pre-baked scripts.
Report results: Present a status table covering ALL configured servers:
MCP Health Report — Deep
─────────────────────────
Server Status Transport Tools
cognee healthy stdio 23 tools
playwright healthy stdio 12 tools
other-server unhealthy http (connection refused)
If a server is healthy, show the tool count. If unhealthy, show the error summary.
If any server is unhealthy, troubleshoot based on the actual config found in .mcp.json:
For local clone setups (command points to a Python path):
commandserver.py exists at the path shown in argsLLM_API_KEY in the env block has an actual value (not a shell variable reference like ${LLM_API_KEY})/setup-cognee to reinstallFor Docker setups (command is docker):
docker info)docker images for the image name from args)--network flag is in args, verify that Docker network exists (docker network ls)DB_HOST in the env/argshost.docker.internal while Linux may need the bridge network IPFor HTTP/SSE setups (url is set):
For npx-based servers (e.g., playwright):
npx is available and the package can be resolvedGeneral checks (all setups):
LLM_API_KEY is present and looks like a real key (not empty, not a placeholder) — for servers that need it/setup-cognee, /setup-playwright-mcp)Do not hardcode any paths — derive everything from what's actually in .mcp.json.
Return the health status so calling skills can use it.