MCP 터널을 사용하면 프라이빗 네트워크 내부에서 실행되는 Model Context Protocol(MCP) 서버에 Claude를 연결할 수 있습니다. 트래픽은 아웃바운드 전용 연결을 통해 흐르므로 인바운드 방화벽 포트를 열거나, 서비스를 공용 인터넷에 노출하거나, 오리진에서 Anthropic의 IP 범위를 허용 목록에 추가할 필요가 없습니다.
MCP 터널은 연구 프리뷰 단계입니다. 사용해 보려면 액세스를 요청하세요. MCP 터널은 가동 시간, 지원 또는 연속성에 대한 어떠한 약속도 없이 "있는 그대로" 제공되며, 기본 전송에 대한 가용성 약속을 하지 않는 서드파티 네트워크 제공업체(Cloudflare)에 의존합니다. Anthropic은 언제든지 MCP 터널을 수정하거나 중단할 수 있습니다.
Zero Data Retention 및 HIPAA BAA 적격성에 대해서는 API 및 데이터 보존을 참조하세요.
터널 스택은 네트워크 내부에서 실행되는 두 가지 구성 요소로 이루어져 있습니다:
노출하는 각 MCP 서버는 터널 도메인 아래에 호스트 이름을 갖게 됩니다(예: docs.<your-tunnel-domain>). 이러한 호스트 이름을 Claude Console의 Managed Agent 세션에 연결하거나, MCP 커넥터를 통해 Messages API에 전달할 수 있습니다.
배포하기 전에 다음을 준비하세요:
workspace:manage_tunnels 범위를 가진 페더레이션 규칙이 필요합니다.| 구성 요소 | 대상 | 포트 / 프로토콜 | 사용 시점 |
|---|---|---|---|
| 설정 구성 요소 | api.anthropic.com | 443 TCP | 프로비저닝 및 토큰 교체 |
| cloudflared | 터널 엣지(198.41.192.0/19, 2606:4700:a0::/44) | 7844 TCP 및 UDP | 런타임 |
| 프록시 | 업스트림 MCP 서버 | 구성에 따름 | 런타임 |
세 개의 독립적인 계층이 모든 요청을 보호합니다:
| 계층 | 보호 대상 |
|---|---|
| Anthropic과 전송 제공업체 간의 외부 mTLS 및 IP 검증 | 승인되지 않은 클라이언트가 터널에 도달하는 것 |
| Anthropic의 백엔드에서 프록시까지의 내부 TLS | 전송 제공업체 또는 네트워크 중개자에 의한 페이로드 검사 |
| 각 MCP 서버의 OAuth | 인증된 터널 트래픽에 의한 MCP 도구의 무단 사용 |
터널 전송은 Cloudflare의 네트워크에서 실행됩니다. 프록시가 사용자만 보유한 인증서를 사용하여 내부 TLS를 종료하기 때문에 Cloudflare는 요청 또는 응답 페이로드를 읽을 수 없습니다. Anthropic은 CA 인증서가 등록될 때까지 터널에 연결하지 않으므로, 페이로드는 Cloudflare의 네트워크를 통과할 때 항상 암호화됩니다. Cloudflare는 연결 메타데이터를 수신합니다. 전송 제공업체가 관찰할 수 있는 것을 참조하세요.
| Anthropic이 담당하는 것 | 조직이 담당하는 것 |
|---|---|
| 터널 액세스 제어 | 터널을 통과하는 모든 콘텐츠와 트래픽, 그리고 적용 가능한 서드파티 사용 제한 정책(Cloudflare의 정책 포함) 준수 |
| 프록시에 연결하기 전에 CA 인증서 검증 | 이 페이지들의 배포 지침 준수 |
| Claude가 조직이 소유한 터널에만 요청을 보내도록 보장 | 터널 토큰 및 TLS 개인 키 보호 |
| 서버 인증서 관리 및 만료 전 갱신 | |
| 각 MCP 서버에 OAuth 구성 | |
| 프록시 및 MCP 서버에 대한 네트워크 액세스 제한 | |
| 침해가 의심되는 경우 Anthropic에 통지 |
공격자가 터널 토큰과 TLS 개인 키 중 하나를 모두 획득하면 프록시를 가장하여 MCP 요청 페이로드를 읽을 수 있습니다. 둘 다 고가치 비밀로 취급하세요. 강화 지침은 MCP 터널 보안을 참조하세요.
Cloudflare는 아웃바운드 전송을 제공합니다. MCP 요청 또는 응답 페이로드를 읽을 수는 없지만 다음과 같은 연결 메타데이터를 수신합니다:
*.tunnel.anthropic.com 서브도메인Anthropic과 Cloudflare 간의 계약은 Cloudflare의 이 원격 측정 데이터 사용을 제한합니다. Cloudflare는 이 연구 프리뷰에서 하위 처리자(subprocessor)로 활동합니다.
MCP 터널을 처음 사용하는 경우, 프로덕션 배포를 구성하기 전에 퀵스타트로 시작하여 로컬에서 작동하는 터널을 만들어 보세요.
작동하는 터널로 가는 가장 빠른 경로: 샘플 MCP 서버가 포함된 Docker Compose.
Anthropic Helm 차트를 사용하여 Kubernetes 클러스터에 설치합니다.
Docker Compose를 사용하여 VM에 설치합니다.
선택 기준:
터널이 활성화되면(활성 CA 인증서가 있고 터널 스택이 연결됨) 업스트림 MCP 서버에 Claude Managed Agents 및 Messages API에서 접근할 수 있습니다.
Console을 통해 생성된 MCP 터널은 claude.ai에서 커넥터로 사용할 수 없습니다.
두 경우 모두 터널은 암호화된 트래픽을 MCP 서버로 전달하지만 MCP 서버에 인증하지는 않습니다. 업스트림 MCP 서버가 자체 인증(OAuth, 베어러 토큰)을 요구하는 경우, 다른 MCP 서버와 동일한 방식으로 제공하세요. 이는 터널과 독립적입니다.
다른 원격 MCP 서버와 동일한 방식으로 mcp_servers 배열에 업스트림 MCP 서버의 URL을 전달합니다. 요청 본문과 anthropic-beta 헤더는 표준 MCP 커넥터 형식을 따르며, url만 터널에 특화되어 있습니다. 다음 예제는 MCP 커넥터의 mcp-client 베타 헤더를 사용하며, 이는 Tunnels API에서 사용하는 mcp-tunnels 베타와는 별개입니다. 터널이 생성된 워크스페이스의 API 키를 사용하세요(Console Settings > API keys).
URL의 호스트는 <subdomain>.<your-tunnel-domain>입니다. 경로는 터널이 아니라 업스트림 MCP 서버에 따라 달라집니다. FastMCP의 streamable-http 전송은 /mcp에서 서비스되며, 다른 서버는 / 또는 사용자 지정 경로를 사용할 수 있습니다(서버 문서를 확인하세요). 프록시는 경로를 변경하지 않고 전달합니다.
client = anthropic.Anthropic()
response = client.beta.messages.create(
model="claude-opus-5",
max_tokens=1000,
messages=[{"role": "user", "content": "Use the hello tool to greet tunnel."}],
mcp_servers=[
{
"type": "url",
"url": "https://echo.YOUR_TUNNEL_DOMAIN_HERE/mcp",
"name": "echo",
}
],
tools=[{"type": "mcp_toolset", "mcp_server_name": "echo"}],
betas=["mcp-client-2025-11-20"],
)
print(response)업스트림 MCP 서버에 대한 인증(authorization_token) 및 기타 mcp_servers 옵션은 MCP 커넥터를 참조하세요.
강화 지침, 자격 증명 교체 및 침해 대응.
연결, TLS 및 라우팅 문제를 진단합니다.
프록시 구성 필드, Tunnels API, 인증서 요구 사항 및 설정 구성 요소.
Messages API에서 터널링된 서버를 사용합니다.
Was this page helpful?