troubleshoot-mcp-connection
Acerca de
Esta habilidad diagnostica y corrige problemas de conexión del servidor MCP entre Claude Code/Desktop y los servidores MCP. Ayuda cuando las herramientas no aparecen, las conexiones fallan o se encuentran errores de "no se puede adjuntar el servidor". La habilidad cubre análisis de argumentos en Windows, fallos de autenticación, problemas de transporte y depuración específica de plataforma.
Instalación rápida
Claude Code
Recomendadonpx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/troubleshoot-mcp-connectionCopia y pega este comando en Claude Code para instalar esta habilidad
Documentación
Troubleshoot MCP Connection
Diagnose and resolve MCP server connection failures.
适用场景
- Claude Code or Claude Desktop fails to connect to an MCP server
- MCP tools don't appear in sessions
- "Cannot attach the server" errors
- Connection was working but stopped
- Setting up MCP on a new machine
输入
- 必需: Error message or symptom description
- 必需: Which client (Claude Code, Claude Desktop, or both)
- 必需: Which MCP server (mcptools, Hugging Face, custom)
- 可选: Recent changes to configuration or environment
步骤
第 1 步:Identify the Client and Configuration
Claude Code (WSL):
# View MCP configuration
claude mcp list
claude mcp get server-name
# Configuration stored in
cat ~/.claude.json | python3 -m json.tool
Claude Desktop (Windows):
# Configuration file location
cat "/mnt/c/Users/$USER/AppData/Roaming/Claude/claude_desktop_config.json"
预期结果: Configuration file is located and readable, showing the MCP server entries with command, args, and env fields.
失败处理: If the config file does not exist or is empty, the server was never configured. Follow the configure-mcp-server skill to set it up from scratch.
第 2 步:Test Server Independently
R mcptools:
# Test if R can start the server
"/mnt/c/Program Files/R/R-4.5.0/bin/Rscript.exe" -e "mcptools::mcp_server()"
If this fails:
- Check R path exists:
ls "/mnt/c/Program Files/R/" - Check mcptools is installed:
Rscript -e "library(mcptools)" - Check ellmer dependency:
Rscript -e "library(ellmer)"
Hugging Face MCP:
# Test mcp-remote directly
mcp-remote https://huggingface.co/mcp
# Check if mcp-remote is installed
which mcp-remote
npm list -g mcp-remote
预期结果: The server process starts and produces initialization output (JSON-RPC handshake or "listening" message) without errors.
失败处理: If R mcptools fails, check that the R version path is correct and that mcptools is installed in the R library. If mcp-remote fails, reinstall globally with npm install -g mcp-remote and verify it is on the PATH.
第 3 步:Diagnose Common Error Patterns
"Cannot attach the server" (Claude Desktop)
Root cause: Windows command argument parsing.
Fix: Use environment variables instead of --header arguments:
{
"hf-mcp-server": {
"command": "mcp-remote",
"args": ["https://huggingface.co/mcp"],
"env": { "HF_TOKEN": "your_token" }
}
}
Also ensure mcp-remote is globally installed (npm install -g mcp-remote), not relying on npx.
"Connection refused"
- Server isn't running or port is wrong
- Firewall blocking the connection
- Wrong transport type (stdio vs HTTP)
"Command not found"
- Missing full path to executable
- PATH not configured in the execution context
- On Windows: use
C:\\PROGRA~1\\...for paths with spaces
MCP tools don't appear but no error
- Server starts but tools aren't registered
- Check server stdout for initialization messages
- Verify the server uses the correct MCP protocol version
预期结果: Error pattern matched to one of the documented categories (cannot attach, connection refused, command not found, or silent failure).
失败处理: If the error does not match any known pattern, capture the full error output and check server-side logs. Search for the exact error message in the MCP server's GitHub issues.
第 4 步:Check Network and Authentication
# Test Hugging Face API connectivity
curl -I "https://huggingface.co/mcp"
# Verify token validity
curl -H "Authorization: Bearer $HF_TOKEN" https://huggingface.co/api/whoami
预期结果: HTTP endpoint returns 200 status and the whoami call returns your Hugging Face username, confirming network connectivity and valid authentication.
失败处理: If curl returns a connection error, check DNS resolution and proxy settings. If the token is rejected (401), regenerate the token at huggingface.co/settings/tokens and update the configuration.
第 5 步:Verify JSON Configuration Syntax
# Validate JSON (common issue: trailing commas, missing quotes)
python3 -m json.tool /path/to/config.json
预期结果: JSON parses without errors, confirming the configuration file has valid syntax.
失败处理: The most common JSON issues are trailing commas after the last entry in an object or array, missing quotes around string values, and mismatched braces. Fix the syntax error reported by the parser and re-validate.
第 6 步:Platform-Specific Debugging
Windows (Claude Desktop):
- Argument parsing differs from Unix
- Spaces in paths break command execution
- Use 8.3 short paths:
C:\PROGRA~1\R\R-45~1.0\bin\x64\Rscript.exe - Environment variables work more reliably than command-line headers
WSL (Claude Code):
- Unix-style quoting works correctly
- Can use full paths with spaces (quoted)
- npm/npx via NVM: ensure NVM is loaded in the execution context
预期结果: Platform-specific issue identified (e.g., Windows argument parsing, WSL path resolution, or NVM context loading).
失败处理: If the issue is Windows-specific, switch from command-line arguments to environment variables for authentication. If WSL-specific, verify that the Windows executable path is accessible from WSL using the full /mnt/c/... path.
第 7 步:Reset and Reconfigure
If all else fails:
# Remove and re-add the server (Claude Code)
claude mcp remove server-name
claude mcp add server-name stdio "/full/path/to/executable" -- args
# Restart Claude Desktop after config changes
# (close and reopen the application)
预期结果: After removing and re-adding the server, claude mcp list shows the server with the correct configuration and a fresh connection attempt succeeds.
失败处理: If re-adding fails, check that the executable path is correct and the command works when run directly in the terminal. For Claude Desktop, ensure the application is fully closed (check system tray) before restarting.
第 8 步:Check Logs
Claude Code: Look for MCP errors in the terminal output when starting a session.
Claude Desktop: Check application logs (location varies by OS).
Server-side: Add logging to the MCP server to capture incoming requests and errors.
预期结果: Log entries reveal the specific point of failure (server startup, handshake, authentication, or tool registration).
失败处理: If no logs are available, add stderr capture to the server command (e.g., redirect to a log file) and reproduce the failure. For Claude Desktop, check %APPDATA%\Claude\logs\ for application-level logs.
验证清单
- Server starts independently without errors
- Configuration JSON is valid
- Client connects successfully
- MCP tools appear in the session
- Tools execute correctly when called
- Connection persists across multiple requests
常见问题
- Editing the wrong config file: Claude Code (
~/.claude.json) vs Claude Desktop (%APPDATA%\Claude\claude_desktop_config.json) - Not restarting after config changes: Claude Desktop requires restart; Claude Code picks up changes on new session
- npx in restricted environments: npx downloads packages at runtime. If network or permissions are restricted, install globally.
- Token expiration: Hugging Face tokens can expire. Regenerate if auth failures appear suddenly.
- Version mismatches: MCP protocol versions must be compatible between client and server
相关技能
configure-mcp-server- initial MCP setupbuild-custom-mcp-server- custom server debugging contextsetup-wsl-dev-environment- WSL prerequisite setup
Repositorio GitHub
Habilidades relacionadas
evaluating-llms-harness
PruebasEsta Skill de Claude ejecuta el benchmark lm-evaluation-harness para evaluar modelos de lenguaje en más de 60 tareas académicas estandarizadas como MMLU y GSM8K. Está diseñada para que los desarrolladores comparen la calidad de los modelos, realicen seguimiento del progreso del entrenamiento o reporten resultados académicos. La herramienta admite varios backends, incluidos modelos de HuggingFace y vLLM.
cloudflare-cron-triggers
PruebasEsta habilidad proporciona conocimiento integral para implementar Cron Triggers de Cloudflare y programar Workers mediante expresiones cron. Cubre la configuración de tareas periódicas, trabajos de mantenimiento y flujos de trabajo automatizados, manejando problemas comunes como expresiones cron inválidas y inconvenientes de zonas horarias. Los desarrolladores pueden utilizarla para configurar manejadores programados, probar activadores cron e integrar con Workflows y Green Compute.
webapp-testing
PruebasEsta habilidad de Claude proporciona un kit de herramientas basado en Playwright para probar aplicaciones web locales mediante scripts de Python. Permite verificación de frontend, depuración de interfaz de usuario, captura de pantallas y visualización de registros, mientras gestiona los ciclos de vida del servidor. Úsela para tareas de automatización de navegadores, pero ejecute los scripts directamente en lugar de leer su código fuente para evitar contaminación del contexto.
finishing-a-development-branch
PruebasEsta habilidad ayuda a los desarrolladores a completar el trabajo terminado verificando que las pruebas pasen y luego presentando opciones estructuradas de integración. Guía el flujo de trabajo para fusionar, crear PRs o limpiar ramas después de que se completa la implementación. Úsala cuando tu código esté listo y probado para finalizar sistemáticamente el proceso de desarrollo.
