튜토리얼 2026-04-15 · 약 18분

Claude Code와 MCP 도구가 자주 타임아웃될 때, 2026년 Clash로 CLI·npm·GitHub 출구를 맞추기

2026년 개발자 측에서는 Claude Code 같은 터미널 중심 워크플로와 Model Context Protocol(MCP)로 IDE 밖에서 돌아가는 도구·마켓 메타데이터 접근이 한꺼번에 주목받고 있습니다. 그런데 체감 장애는 모델 품질보다 서로 다른 출구에서 자주 납니다. Anthropic API, npm 레지스트리, GitHubraw.githubusercontent.com, 때로는 MCP 카탈로그·레지스트리 URL까지 한 작업 흐름에 섞이면, 브라우저의 Claude 웹·API 글만으로는 커버되지 않는 CLI 타임아웃·패키지 설치 실패·MCP 서버 기동 지연이 생깁니다. 이 글은 Clash 분류 규칙의 순서, DNS, 장시간 연결, 노드 선택을 터미널·외부 프로세스 관점에서 정리합니다.

왜 “웹 Claude” 글과 다른가요

Anthropic Claude 웹·API 가이드는 세션 쿠키·브라우저 탭·API 베이스 호스트를 전제로 합니다. 반면 Claude Code와 MCP는 보통 로컬 프로세스HTTPS 클라이언트로 직접 붙고, 같은 세션 안에서 패키지 매니저Git 호출이 끼어듭니다. 시스템 프록시만 켜두고 터미널이 DIRECT로 나가면 “IDE 플러그인 화면만 멈춘다”는 형태로 나타나기도 합니다.

  • 모델·도구 트래픽: Anthropic이 문서에 명시한 API 호스트(리전·제품 업데이트에 따라 변할 수 있음).
  • 에코시스템 다운로드: registry.npmjs.org, 스코프 패키지 tarball CDN, 사내 Verdaccio 등.
  • 소스·릴리스: github.com, api.github.com, objects.githubusercontent.com 등.
  • MCP 주변: 로컬 stdio 브리지는 루프백이지만, 마켓·템플릿 JSON을 원격에서 받는 흐름이면 별도 도메인이 추가됩니다.

한 줄 요약

한 줄 MATCH로 모두 프록시도 가능하지만, 대용량 tarball장시간 SSE·스트림이 같은 정책 그룹에서 경쟁하면 CLI만 간헐적으로 끊기는 패턴이 납니다. 호스트 목적을 나누세요.

1단계: Connections 로그로 “누가 어디로 가는지” 적기

가장 먼저 할 일은 추측이 아니라 실제 목적지입니다. Clash 대시보드나 로그에서 claude·npm·node·에디터 보조 프로세스가 치는 SNI·호스트를 적습니다. Windows라면 WSL 안의 프로세스까지 포함되는지(WSL2·Clash 글)도 같이 봅니다.

자주 등장하는 축(예시 — 본인 환경에서 검증)

  • Anthropic 계열 API·인증: 문서 기준 호스트(예: api.anthropic.com 등) — 제품 변경 시 반드시 재확인.
  • npm: registry.npmjs.org 및 tarball이 뜨는 CDN 호스트.
  • GitHub: API·웹·오브젝트 스토리지·raw 경로가 서로 다를 수 있음.
  • MCP: 원격 카탈로그를 쓰는 경우 해당 벤더 도메인(조직마다 상이).

아래 YAML은 설명용 스켈레톤입니다. AI-DEV·PKG-CDN·GITHUB는 구독에 있는 proxy-group 이름으로 바꾸고, 더 구체적인 DOMAIN 행은 로그에서 채워 넣으세요.

# Illustrative rules — replace proxy groups; verify hostnames in your logs
rules:
  - DOMAIN-SUFFIX,api.anthropic.com,AI-DEV
  - DOMAIN-SUFFIX,anthropic.com,AI-DEV
  - DOMAIN-SUFFIX,registry.npmjs.org,PKG-CDN
  - DOMAIN-SUFFIX,npmjs.org,PKG-CDN
  - DOMAIN-SUFFIX,github.com,GITHUB
  - DOMAIN-SUFFIX,githubusercontent.com,GITHUB
  - DOMAIN-SUFFIX,githubassets.com,GITHUB
  - MATCH,DIRECT

분류 규칙 순서는 “좁은 것 → 넓은 것”이 기본입니다. 원격 RULE-SET을 쓰면 이미 GITHUBnpm 행이 들어 있을 수 있으니, 로컬 오버라이드가 위쪽에 오는지 병합 순서를 확인하세요. DOMAIN-KEYWORD,github 같은 넓은 행은 과매칭이 나기 쉬워 마지막 수단으로 두는 편이 안전합니다.

2단계: 장시간 연결·스트림과 “fat download”를 같은 노드에 두지 않기

MCP 세션은 종종 한 TCP 연결을 오래 유지하는 패턴과, 짧은 HTTP가 빠르게 연속되는 패턴이 섞입니다. 한편 npm install많은 작은 파일 + 가끔 큰 tarball이라 지터와 패킷 손실에 민감합니다. 둘을 동일한 혼잡 노드에 몰아넣으면 “도구 목록만 가끔 실패한다”는 식으로 보입니다.

트래픽 노드에 바라는 성질 흔한 실수
Anthropic API·스트림 안정 RTT, 세션 유지, 플랩 적음 속도 테스트 1위 노드에 API만 몰기
npm·Git LFS 처리량, 재시도 친화, 대역폭 API와 동일 그룹에서 큐 점유
GitHub API(레이트 리밋) 출구 IP 안정, 403·429 재현 최소화 출구가 잦게 바뀌는 자동 선택

URL-TEST 주기가 너무 짧으면 장시간 작업 중에 출구가 바뀌어 인증·세션이 흔들릴 수 있습니다. API용 그룹은 보수적인 간격이나 작업 단위로 고정하는 운용을 검토하세요.

3단계: DNS·fake-ip를 Node·터미널 스택과 맞추기

브라우저, Electron 계열 IDE, 순수 터미널의 Node 런타임이 서로 다른 리졸버를 쓰면 같은 이름도 다른 애니캐스트 엣지로 갈라집니다. Clash의 fake-ip를 쓰는 경우, 일부 HTTP 스택은 예상과 다른 경로로 붙어 TLS 직후 RST처럼 보이기도 합니다.

  • 한 번에 한 변수: 노드를 바꾸기 전에 DNS 모드를 고정하고 재현해 보세요. 점검 순서는 DNS·fake-ip 가이드를 따르면 됩니다.
  • IPv6: AAAA가 우선되면 의도와 다른 경로로 나가는 경우가 있습니다.
  • Split tunnel·VPN: 회사 제로트러스트와 병행할 때, 터미널만 다른 인터페이스를 타는지 확인합니다.

주의

본문의 도메인은 이해를 돕기 위한 예시입니다. Anthropic·GitHub·npm은 호스트가 늘거나 리전별로 달라질 수 있으니 항상 본인 연결 로그를 기준으로 규칙을 만드세요.

4단계: CLI가 프록시를 “진짜로” 타게 만들기

macOS·Linux에서 TUN·시스템 프록시가 잡히지 않으면 Node·git·docker pull이 그대로 직행합니다. Windows는 특히 WSL2와 호스트 Clash 조합에서 환경 변수와 포트가 어긋나기 쉽습니다.

  • TUN: 앱이 프록시를 무시해도 스택 전체를 끌어올릴 수 있어 CLI에 유리한 경우가 많습니다.
  • HTTP_PROXY / HTTPS_PROXY: CI 스크립트·에디터가 상속하는지 확인합니다.
  • git: http.proxy 대신 “트래픽이 Clash를 통과하는 경로” 자체를 맞추는 편이 덜 꼬입니다.

범용 IDE 트래픽은 Cursor·AI 개발 글과 겹치는 부분이 있으나, 여기서는 Claude Code + MCP + 패키지 소스에 초점을 맞춥니다.

OpenAI Codex 글과의 차이

OpenAI Codex·o3 글chatgpt.comapi.openai.com 축이 중심입니다. 이 글은 Anthropic + npm + GitHub + (선택) MCP 레지스트리로 호스트 집합이 다릅니다. 규칙을 복붙하기보다 로그에서 같은 패턴을 이식하세요.

증상별로 의심할 순서

MCP 도구만 타임아웃하고 채팅 API는 정상

원격 MCP 브리지나 카탈로그 호스트만 다른 규칙에 걸려 DIRECT로 막혔을 가능성, 또는 로컬 방화벽·루프백은 정상인데 외부 메타데이터만 실패하는 경우를 의심합니다. Connections에서 해당 프로세스의 목적지를 확인하세요.

npm만 느리거나 ECONNRESET

레지스트리와 tarball CDN이 서로 다른 출구로 갈리면 일부 패키지에서만 실패합니다. PKG-CDN 그룹을 분리했는지 확인합니다.

GitHub clone은 되는데 API 403·429

출구 IP가 자주 바뀌면 레이트 리밋 정책에 걸리기 쉽습니다. API용 그룹의 플랩을 줄입니다.

실무 체크리스트

  1. Claude Code·Node·git·IDE 보조 프로세스별로 Connections 로그에 찍힌 호스트 목록을 적습니다.
  2. Anthropic API, npm, GitHub(웹·API·오브젝트·raw)를 정책 그룹에 매핑할지 결정합니다.
  3. DNS·fake-ip·IPv6를 고정한 상태에서 한 번에 한 가지만 바꿉니다.
  4. 장시간 스트림용 그룹과 대용량 다운로드용 그룹을 분리했는지 확인합니다.
  5. TUN 또는 프록시 환경 변수로 터미널이 실제로 Clash를 통과하는지 재현 테스트합니다.

정리

2026년 Claude CodeMCP는 “브라우저 한 탭”이 아니라 터미널·패키지 레지스트리·Git 호스팅이 한 작업선에 묶인 개발자 네트워크입니다. Clash분류 규칙 순서를 정하고 DNS·장시간 연결·노드를 맞추면, 출구 불안정으로 인한 CLI·플러그인 소스 장애를 호스트 단위로 분해해 줄일 수 있습니다.

Clash를 무료로 내려받고 차이를 경험해 보세요

CLI·MCP 출구 정리

Anthropic·npm·GitHub를 나누고 개발 전용 정책 그룹에 묶으세요.

Clash 다운로드