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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseCqualityBmaintenanceProfessional local context management and system diagnostic tools for AI IDEs (Cursor, Trae, Antigravity, Windsurf).36771MIT
- Alicense-qualityDmaintenanceProxies MCP requests from Cursor IDE to a custom HTTP server, enabling custom tool integrations.121ISC
- AlicenseAqualityAmaintenanceDiagnose connectivity and inspect tunnels locally from your AI assistant.1912MIT
- AlicenseAqualityDmaintenanceNetwork diagnostics tool for AI agents that provides DNS lookup, IP geolocation, SSL certificate inspection, WHOIS queries, and HTTP latency testing.5361MIT
Related MCP Connectors
Find your AI agent's likely failure mode, get runtime settings, and clarify ambiguous prompts.
Lints + auto-fixes how AI coding agents discover any new product. 24 rules, 6 tools, score 0-100.
Bug translation for vibe coders: plain-English diagnosis + paste-ready fix in your AI coding agent
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Jiansen/proxy-doctor'
If you have feedback or need assistance with the MCP directory API, please join our Discord server