Skip to main content
Glama

AI 코딩 도구를 망가뜨리는 프록시 설정 오류를 진단합니다.

브라우저는 정상 작동하는데 Cursor / VS Code / Windsurf AI 기능이 동작하지 않을 때 — proxy-doctor가 정확한 원인과 해결 방법을 알려줍니다.

문제

AI 코딩 도구(Cursor, Copilot이 포함된 VS Code, Windsurf)는 장기 연결 스트리밍(SSE/HTTP2)에 의존하며, 다음과 같은 경우에 문제가 발생합니다:

  • 시스템 프록시가 수신 대기 중인 프로세스가 없는 localhost 포트를 가리키는 경우

  • VPN/프록시 앱이 종료되었지만 해당 설정이 macOS 시스템 환경설정에 남아 있는 경우

  • 에디터가 launchctl로부터 오래된 프록시 환경 변수를 상속받은 경우

  • 프록시가 실행 중이지만 스트리밍 응답을 버퍼링하여 AI 완성 기능이 끊기는 경우

결과는 “브라우저는 되는데 AI 에디터는 안 된다” — 가장 흔하고 좌절스러운 개발자 경험입니다.

Related MCP server: Inksnow MCP Proxy

확인 항목

proxy-doctor는 macOS 프록시 설정의 5개 계층을 검사합니다:

계층

내용

방법

1. 시스템 프록시

모든 네트워크 서비스의 Web/HTTPS/SOCKS 프록시

networksetup

2. 잔여 값

비활성화되었지만 오래된 localhost 주소가 남아 있는 프록시

비활성화되었지만 설정된 항목 파싱

3. 포트 상태

참조된 프록시 포트가 실제로 수신 대기 중인지 여부

socket.connect()

4. 에디터 설정

settings.json, argv.json, 최근 오류 로그

파일 읽기 + 패턴 매칭

5. GUI 환경

GUI 앱 컨텍스트의 http_proxy/https_proxy

launchctl getenv

빠른 시작

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 vscode

MCP 도구로 사용하기 (AI 에이전트용)

proxy-doctor는 AI 에이전트가 직접 호출할 수 있는 MCP 서버로 제공됩니다:

# Install with MCP support
pip install proxy-doctor[mcp]

# Run MCP server
python -m proxy_doctor.mcp_server

MCP 설정에 추가하세요 (예: Cursor ~/.cursor/mcp.json):

{
  "mcpServers": {
    "proxy-doctor": {
      "command": "python3",
      "args": ["-m", "proxy_doctor.mcp_server"]
    }
  }
}

참고: "command"proxy-doctor[mcp]가 설치된 Python을 가리켜야 합니다. python3이 작동하지 않으면 전체 경로를 사용하세요 (which python3 또는 python3 -c "import sys; print(sys.executable)"를 실행하여 찾을 수 있습니다).

그러면 AI 에이전트가 다음을 호출할 수 있습니다:

  • diagnose_proxy(editor="cursor") — 전체 5개 계층 진단과 증거 제공

  • list_fixes(editor="cursor") — 실행 가능한 명령이 포함된 권장 수정 사항

  • supported_editors() — 지원되는 에디터 목록

AI 에이전트용: 빠른 설치

한 줄 설치 (AI 에이전트에 붙여넣으세요):

proxy-doctor를 설치하고 (pip install proxy-doctor[mcp]) MCP 설정에 python -m proxy_doctor.mcp_server 명령으로 추가하세요. 그런 다음 diagnose_proxy 도구를 사용하여 프록시 상태를 확인하세요.

사용자를 위해 proxy-doctor를 설정하는 AI 에이전트라면:

# 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)

데몬 모드 (v0.2+)

proxy-doctor를 자동 상태 모니터링이 포함된 상주 백그라운드 서비스로 실행합니다:

# 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 update

데몬은 5분마다 실행되어 이전 검사와 결과를 비교하고, 상태가 변경되면(예: 정상 → 비정상) macOS 알림을 보냅니다.

메뉴바 (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.sh

메뉴바에 녹색/빨간색/주황색 표시등을 표시하고 클릭 한 번으로 진단을 실행합니다.

출력 예시

비정상 (사례 A: 프록시 포트가 죽은 경우)

{
  "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"
    }
  ]
}

정상

proxy-doctor v0.2.0
Editor: cursor | Platform: Darwin

Status: HEALTHY

No proxy contamination detected.

지원되는 에디터

에디터

설정 감지

로그 스캔

상태

Cursor

지원됨

VS Code

지원됨

Windsurf

지원됨

Claude Desktop

계획됨

향후

Zed

계획됨

계획됨

향후

작동 원리

proxy-doctor는 세 가지 실패 패턴을 식별합니다:

사례 A — 프록시 포트가 죽은 경우 (신뢰도 높음): 시스템이나 에디터가 127.0.0.1:port를 가리키지만 수신 대기 중인 프로세스가 없습니다. VPN/프록시 앱이 종료되었지만 해당 설정이 남아 있을 때 발생합니다.

사례 B — 스트리밍 중단 (신뢰도 중간): 프록시가 실행 중이지만 AI 에디터가 의존하는 SSE/스트리밍 연결을 버퍼링합니다. 브라우저 전용 프록시 모드에서 흔합니다.

사례 C — 경로 불일치 (신뢰도 중간): 브라우저와 에디터가 서로 다른 프록시 경로를 사용합니다. 브라우저는 전용 프록시 경로로 작동하지만, 에디터는 오래되었거나 호환되지 않는 경로를 상속받습니다.

플랫폼 지원

  • macOS: 완전 지원 (시스템 프록시, launchctl, networksetup)

  • Linux: 부분 지원 (에디터 설정 + 환경 변수, networksetup 없음)

  • Windows: 아직 미지원

신뢰 및 권한

proxy-doctor는 기본적으로 읽기 전용 설계를 따릅니다. 명시적으로 동의하지 않으면 시스템 변경이 이루어지지 않습니다.

기본 동작 (읽기 전용)

접근

내용

이유

읽기

시스템 프록시 설정, 에디터 설정 파일, launchctl 환경 변수, 로컬 포트 상태

핵심 진단 기능

쓰기

~/.proxy-doctor/만 (캐시, 로그, 업데이트 상태)

데몬 상태 유지

네트워크

pypi.org (버전 확인 전용)

자동 업데이트 기능

하지 않음

프록시 설정 수정, 에디터 설정 변경, 원격 분석 전송, 자격 증명 접근

설계상

선택적 수정 적용

proxy-doctor fix는 권장 명령을 표시하지만 실행하지는 않습니다.

수정을 적용하려면 proxy-doctor fix --apply를 사용하세요:

  • 각 수정 사항은 명령과 위험 수준과 함께 표시됩니다.

  • 각 수정 사항에 대해 개별적으로 확인 메시지가 표시됩니다 ([y/N]).

  • 기본값은 Noy를 입력하지 않는 한 아무것도 실행되지 않습니다.

  • 언제든지 Ctrl+C로 중단할 수 있습니다.

이 2단계 모델을 통해 AI 에이전트는 MCP로 list_fixes()를 안전하게 호출하여 무엇을 수정해야 하는지 확인한 다음, 사용자의 승인을 위해 명령을 제시할 수 있습니다.

피드백

버그를 발견하셨나요? 제안이 있으신가요? 진단이 도움이 되지 않았나요?

프로그램 방식으로 피드백을 제공하는 AI 에이전트용 (의존성 없음):

# 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/new

개발

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 lint

proxy-doctor가 프록시 문제를 해결하는 데 도움이 되었다면 GitHub에서 별표를 눌러 주세요. 다른 사람들이 이 도구를 발견하는 데 도움이 됩니다.

Star on GitHub

라이선스

MIT

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
2Releases (12mo)
Commit activity

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

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

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