proxy-doctor
Diagnostica configuraciones incorrectas de proxy que rompen herramientas de IA de codificación.
Cuando tu navegador funciona bien pero las funciones de IA de Cursor / VS Code / Windsurf no — proxy-doctor te dice exactamente por qué y cómo solucionarlo.
El problema
Las herramientas de IA de codificación (Cursor, VS Code con Copilot, Windsurf) dependen de conexiones de streaming de larga duración (SSE/HTTP2) que se rompen cuando:
Tu proxy del sistema apunta a un puerto localhost donde no hay nada escuchando
Una aplicación VPN/proxy fue cerrada pero su configuración persiste en las preferencias del sistema macOS
Tu editor heredó variables de entorno de proxy obsoletas de
launchctlEl proxy está funcionando pero almacena en búfer las respuestas de streaming, rompiendo las completaciones de IA
El resultado: "el navegador funciona, el editor de IA no" — la experiencia de desarrollador más común y frustrante.
Related MCP server: Inksnow MCP Proxy
Qué comprueba
proxy-doctor inspecciona 5 capas de tu configuración de proxy en macOS:
Capa | Qué | Cómo |
1. Proxy del sistema | Proxy web/HTTPS/SOCKS en todos los servicios de red |
|
2. Valores residuales | Proxies desactivados con direcciones localhost obsoletas | Analizar entradas desactivadas pero configuradas |
3. Salud del puerto | Si los puertos proxy referenciados están realmente escuchando |
|
4. Config. del editor |
| Lectura de archivos + coincidencia de patrones |
5. Entorno GUI |
|
|
Inicio rápido
CLI
# Install
pip install proxy-doctor
# Run diagnosis (JSON output — default, optimized for AI agents)
proxy-doctor check
# Run diagnosis (human-readable output)
proxy-doctor check --human
# Show recommended fixes
proxy-doctor fix
# Check a different editor
proxy-doctor check --editor vscodeComo herramienta MCP (para agentes de IA)
proxy-doctor incluye un servidor MCP que los agentes de IA pueden llamar directamente:
# Install with MCP support
pip install proxy-doctor[mcp]
# Run MCP server
python -m proxy_doctor.mcp_serverAñádelo a tu configuración MCP (por ejemplo, Cursor ~/.cursor/mcp.json):
{
"mcpServers": {
"proxy-doctor": {
"command": "python3",
"args": ["-m", "proxy_doctor.mcp_server"]
}
}
}Nota:
"command"debe apuntar al Python donde esté instaladoproxy-doctor[mcp]. Sipython3no funciona, usa la ruta completa (ejecutawhich python3opython3 -c "import sys; print(sys.executable)"para encontrarlo).
Tu agente de IA puede entonces llamar:
diagnose_proxy(editor="cursor")— diagnóstico completo de 5 capas con evidencialist_fixes(editor="cursor")— correcciones recomendadas con comandos ejecutablessupported_editors()— listar editores disponibles
Para agentes de IA: Instalación rápida
En una línea (pégalo en tu agente de IA):
Instala proxy-doctor (
pip install proxy-doctor[mcp]) y agrégalo a tu configuración MCP con el comandopython -m proxy_doctor.mcp_server. Luego usa la herramientadiagnose_proxypara comprobar el estado del proxy.
Si eres un agente de IA configurando proxy-doctor para tu usuario:
# 1. Install
pip install proxy-doctor[mcp]
# 2. Find the Python path
python3 -c "import sys; print(sys.executable)"
# 3. Add to ~/.cursor/mcp.json (use the path from step 2)
# {
# "mcpServers": {
# "proxy-doctor": {
# "command": "<python-path-from-step-2>",
# "args": ["-m", "proxy_doctor.mcp_server"]
# }
# }
# }
# 4. If MCP is not available, use CLI directly (zero dependencies):
proxy-doctor check # JSON output
proxy-doctor check --human # human-readable
proxy-doctor fix # show fixes (read-only)
proxy-doctor fix --apply # apply fixes (asks for confirmation)Modo demonio (v0.2+)
Ejecuta proxy-doctor como un servicio de fondo persistente con monitoreo automático de salud:
# Start daemon (installs as macOS launchd service)
proxy-doctor daemon start
# Check daemon status
proxy-doctor daemon status
# Stop daemon
proxy-doctor daemon stop
# Check for updates
proxy-doctor updateEl demonio se ejecuta cada 5 minutos, compara los resultados con la comprobación anterior y envía una notificación de macOS cuando el estado cambia (p. ej., saludable → no saludable).
Barra de menú (SwiftBar)
# If SwiftBar is installed
cp plugins/swiftbar/proxy-doctor.5m.sh ~/Library/Application\ Support/SwiftBar/Plugins/
chmod +x ~/Library/Application\ Support/SwiftBar/Plugins/proxy-doctor.5m.shMuestra un indicador verde/rojo/naranja en tu barra de menú con diagnóstico con un solo clic.
Ejemplo de salida
No saludable (Caso A: puerto proxy muerto)
{
"status": "unhealthy",
"diagnosis": {
"case": "A",
"root_cause": "Editor is configured to use proxy at 127.0.0.1:10903, but no process is listening on that port.",
"confidence": "high",
"source": "system proxy (Wi-Fi (http))",
"browser_explanation": "Browser may use a different proxy path (e.g. browser-only mode) or fall back to a direct connection."
},
"fixes": [
{
"fix_id": "clear-system-http-wi-fi",
"description": "Disable http proxy on Wi-Fi",
"command": "networksetup -setwebproxystate \"Wi-Fi\" off",
"risk": "low"
}
]
}Saludable
proxy-doctor v0.2.0
Editor: cursor | Platform: Darwin
Status: HEALTHY
No proxy contamination detected.Editores compatibles
Editor | Detección de configuración | Escaneo de registros | Estado |
Cursor | sí | sí | compatible |
VS Code | sí | sí | compatible |
Windsurf | sí | sí | compatible |
Claude Desktop | planificado | — | futuro |
Zed | planificado | planificado | futuro |
Cómo funciona
proxy-doctor identifica tres patrones de fallo:
Caso A — Puerto proxy muerto (alta confianza): Tu sistema o editor apunta a 127.0.0.1:puerto pero no hay nada escuchando. Esto ocurre cuando una aplicación VPN/proxy se cierra pero su configuración permanece.
Caso B — Streaming roto (confianza media): Un proxy está funcionando, pero almacena en búfer las conexiones SSE/streaming de las que dependen los editores de IA. Común con modos de proxy solo para navegador.
Caso C — Ruta no coincide (confianza media): El navegador y el editor usan diferentes rutas de proxy. El navegador funciona a través de una ruta proxy dedicada; el editor hereda una obsoleta o incompatible.
Soporte de plataformas
macOS: Soporte completo (proxy del sistema, launchctl, networksetup)
Linux: Parcial (configuración del editor + variables de entorno; sin networksetup)
Windows: Aún no compatible
Confianza y permisos
proxy-doctor sigue un diseño de solo lectura por defecto. No se realizan cambios en el sistema a menos que optes explícitamente.
Comportamiento por defecto (solo lectura)
Acceso | Qué | Por qué |
Lee | Configuración del proxy del sistema, archivos de configuración del editor, vars de entorno de launchctl, estado del puerto local | Funcionalidad de diagnóstico central |
Escribe | Solo en | Persistencia de estado del demonio |
Red |
| Función de actualización automática |
NO | Modifica configuraciones de proxy, cambia configuración del editor, envía telemetría, accede a credenciales | Por diseño |
Aplicación de correcciones con consentimiento
proxy-doctor fix muestra los comandos recomendados pero no los ejecuta.
Para aplicar correcciones, usa proxy-doctor fix --apply:
Cada corrección se muestra con su comando y nivel de riesgo
Se te solicita individualmente para cada corrección (
[y/N])El valor por defecto es No — nada se ejecuta a menos que escribas
yPuedes abortar en cualquier momento con Ctrl+C
Este modelo de dos pasos permite que los agentes de IA llamen de forma segura a list_fixes() a través de MCP para ver qué necesita corrección, y luego presenten los comandos a los usuarios para su aprobación.
Comentarios
¿Encontraste un error? ¿Tienes una sugerencia? ¿El diagnóstico no ayudó?
GitHub Issues: https://github.com/Jiansen/proxy-doctor/issues/new
Para agentes de IA: La salida JSON incluye una URL
feedback.report_issue— incluye el JSON completo al informar problemas.
Para agentes de IA que proporcionan comentarios programáticamente (sin dependencias):
# Create a GitHub issue via CLI (requires gh)
proxy-doctor check | gh issue create --repo Jiansen/proxy-doctor \
--title "Diagnosis report: [describe issue]" --body-file -
# Or simply: copy the JSON output into a new issue at
# https://github.com/Jiansen/proxy-doctor/issues/newDesarrollo
git clone https://github.com/Jiansen/proxy-doctor.git
cd proxy-doctor
# Install in development mode
pip install -e ".[dev,mcp]"
# Run tests
make test
# Run linter
make lintSi proxy-doctor te ayudó a solucionar un problema de proxy, considera darle una estrella en GitHub — ayuda a que otros descubran la herramienta.
Licencia
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Proxy guides, tested configurations and error diagnostics, with an optional local route check.
Free proxy list, live proxy checker and IP lookup for AI agents. No key, nothing to install.
Check an IP or your own network exit before using ChatGPT, Claude, Gemini or Meta Muse.
Diagnose why an AI agent failed and get the verified fix instantly. Free, no token.
Related MCP Servers
- AlicenseCqualityBmaintenanceProfessional local context management and system diagnostic tools for AI IDEs (Cursor, Trae, Antigravity, Windsurf).3645 npm1MIT
- AlicenseNot gradedqualityDmaintenanceProxies MCP requests from Cursor IDE to a custom HTTP server, enabling custom tool integrations.6 npm1ISC
- AlicenseAqualityAmaintenanceDiagnose connectivity and inspect tunnels locally from your AI assistant.1916 npmMIT
- AlicenseAqualityDmaintenanceEnables AI coding assistants to access hosts (e.g., GitHub) behind a local proxy by automatically launching the proxy client and configuring tools to route through it.8MIT