고성능의 전 세계적으로 접근 가능한 모델 컨텍스트 프로토콜(MCP) 서버를 배포하려고 하십니까? Cloudflare는 MCP 인프라를 안전하게 시작하고 확장할 수 있는 완벽한 플랫폼을 제공합니다. 이 포괄적인 가이드는 Cloudflare의 최신 엣지 네트워크, 강력한 보안 기능 및 서버리스 아키텍처를 활용하여 서버의 성능과 안정성을 극대화하는 전체 배포 프로세스를 안내합니다.

MCP 서버란 무엇인가요?
MCP 서버는 애플리케이션이 표준화된 프로토콜을 사용하여 통신할 수 있도록 하는 브리지 역할을 하며, 서로 다른 시스템을 통합하기 쉽게 만듭니다. 이는 대형 언어 모델(LLM)을 다른 서비스나 애플리케이션과 통합할 때 특히 유용합니다.
왜 Cloudflare에 배포해야 하나요?
Cloudflare에 배포하면 전 세계적으로 확장 가능 하며 낮은 지연 시간을 보장합니다. 300개 이상의 도시를 포괄하는 엣지 네트워크 덕분입니다. 기존 클라우드 제공업체와 달리 Cloudflare Workers는 서버리스 모델을 사용하여 사용자에 가까운 곳에서 코드를 실행합니다. 이는 LLM 기반의 챗봇과 같은 실시간 애플리케이션에 이상적이며, 응답 시간을 더 빠르게 만들어 줍니다.
Cloudflare는 강력한 보안, 커스터마이즈 가능한 웹 애플리케이션 방화벽(WAF) 포함하여 프롬프트 주입 공격과 같은 위협을 차단합니다. DDoS 보호는 트래픽 급증을 자동으로 완화하며, SSL/TLS 암호화는 데이터 보안을 기본적으로 제공합니다. 엄격한 HTTPS 정책은 중간자 공격을 추가로 방지해 주므로, 민감한 애플리케이션에 대해 안전한 선택이 됩니다.
비용 측면에서 Cloudflare는 매우 효율적입니다. 무료 티어는 100,000개의 일일 요청을 지원하며, 더 큰 프로젝트는 Workers Unbound를 사용하여 무제한 컴퓨팅을 백만 요청당 $0.15의 저렴한 가격으로 이용할 수 있습니다. 이는 AWS Lambda보다 저렴하여 LLM 및 MCP 서버 배포를 위한 예산 친화적인 옵션이 됩니다.
전반적으로 Cloudflare에 MCP 서버를 배포하는 것은 성능, 보안 및 비용 효율성을 우선시하는 개발자에게 전략적인 결정입니다. 엣지 컴퓨팅 기능과 기업급 보안 및 경쟁력 있는 가격을 결합하여 현대적이고 확장 가능한 애플리케이션을 위한 훌륭한 플랫폼이 됩니다.
사전 요구 사항
시작하기 전에 다음을 확인하십시오:
Cloudflare 계정: 아직 계정이 없으시다면 공식 웹사이트를 방문하여 Cloudflare 계정을 만드십시오.
도메인 이름: 도메인은 Cloudflare의 DNS를 통해 트래픽을 라우팅하는 데 필수적입니다. 도메인이 없다면 Cloudflare는 임시 솔루션으로 *.workers.dev
서브 도메인을 제공합니다.
Node.js 및 npm: 서버 설정 및 배포를 위해 로컬 머신에 Node.js와 npm이 설치되어 있는지 확인하십시오.
MCP 서버 코드: Cloudflare Workers는 지속적인 연결을 유지하지 않으므로, 코드가 상태 비저장(idempotent)인지 확인하십시오. 예를 들어, 세션 데이터를 메모리에 저장하는 것을 피하고 Cloudflare KV 또는 Durable Objects를 사용하세요.
1단계: MCP 프로젝트 설정하기
배포하기 전에 MCP 서버를 위한 프로젝트 구조를 생성해야 합니다. 이는 개발 및 통합의 기초가 될 것입니다.
새 프로젝트 디렉터리 만들기
1. 터미널 또는 명령 프롬프트를 엽니다.
2. MCP 프로젝트를 위한 새 폴더를 만듭니다:
mkdir MCP-Project
cd MCP-Project
이 디렉터리는 MCP 서버에 필요한 모든 파일과 구성을 포함하게 됩니다.
Cloudflare Worker 초기화하기
1. 다음 명령을 실행하여 새 Cloudflare Worker 프로젝트를 만듭니다:
npx create-cloudflare@latest mcp-demo
이 명령은 미리 정의된 템플릿을 사용하여 새 Cloudflare Worker를 초기화합니다.
2. 템플릿으로 "Hello World Example"를 선택합니다. 이는 기본 작업자 구조를 제공합니다.

3. 프로젝트 언어로 TypeScript를 선택합니다. TypeScript는 더 나은 도구 및 오류 처리를 제공합니다.

4. 버전 관리를 위한 Git 설정 요청이 표시되면 아니오를 선택하십시오(버전 추적을 위해 선택 사항이지만 권장됨).
5. 즉시 배포할 것인지 질문이 들어오면 예를 선택하거나 선택적으로 아니오를 선택할 수 있습니다(우리는 나중에 여전히 배포할 것입니다).
6. 프로젝트 디렉터리로 이동합니다:
# "mcp-demo"를 프로젝트 이름으로 교체하십시오.
cd mcp-demo
7. 다음을 실행하여 MCP 서버를 설정합니다:
npx workers-mcp setup
8. 프롬프트가 표시되면 Enter를 눌러 “예”를 확인합니다.
9. src/index.ts
의 내용을 바꾸려면 Enter를 다시 누릅니다.
10. 이제 작업자가 MCP 서버에 성공적으로 배포되었습니다.
2단계: Claude와 MCP 서버 통합하기
Claude는 MCP 서버와 상호작용할 수 있는 AI 어시스턴트입니다. 통합을 통해 Claude가 배포된 MCP 서버와 통신할 수 있도록 합니다(이는 위 단계의 연속입니다).
- MCP 서버 이름(예:
mcp-demo
)을 입력하라는 메시지가 표시됩니다.

2. Claude Desktop이 설치되어 있으면 구성은 자동으로 구성 파일(.json
)에 추가됩니다.

3. .json
파일은 설치한 모든 MCP 서버를 추적하여 Claude와 여러 MCP 환경 간의 원활한 상호작용을 가능하게 합니다.
4. 이 통합을 통해 Claude는 MCP 서버의 도구 및 기능에 접근할 수 있습니다.
3단계: MCP 서버 기능 탐색하기
MCP 서버는 사용성을 향상시키기 위해 탐색하고 문서화할 수 있는 다양한 도구를 제공합니다.
- 프로젝트 폴더에서
index.ts
를 엽니다.
2. 각 도구를 자세히 문서화하기 위해 docstrings를 사용합니다. 적절한 문서는 AI와 개발자가 도구의 기능을 이해하는 데 도움이 됩니다.

3. docstring에는 다음이 포함되어야 합니다:
- 도구가 하는 일에 대한 간략한 설명.
- 필요한 매개변수, 유형 및 예상 값 포함.
- 예상되는 반환 형식, 출력 구조 설명.
잘 문서화된 함수의 예:
/**
* 두 숫자를 더합니다.
* @param {number} a - 첫 번째 숫자.
* @param {number} b - 두 번째 숫자.
* @returns {number} - 두 숫자의 합.
*/
function addNumbers(a: number, b: number): number {
return a + b;
}
4. 잘 구조화된 문서는 도구가 Claude 및 다른 MCP 클라이언트에서 효과적으로 사용될 수 있도록 보장합니다.
4단계: MCP 서버 테스트하기
테스트는 배포 전에 MCP 서버가 올바르게 작동하는지 확인합니다.
1. 새 터미널을 열고 다음을 실행합니다:
npx @modelcontextprotocol/inspector@latest
이 명령은 MCP 도구를 테스트하기 위한 인터랙티브 클라이언트인 MCP Inspector를 실행합니다.
2. 웹 브라우저에서 MCP Inspector를 열고 다음으로 이동합니다:
http://localhost:5173
3. MCP 서버를 가리키는 URL 경로를 추가하고 연결합니다.

4. "도구 목록"을 클릭하여 MCP 서버에서 노출하는 사용 가능한 도구를 봅니다.

5. 도구를 호출하고 올바르게 응답하는지 확인합니다.
5단계: Claude와 함께 MCP 서버 실행하기
Claude와 통합되면 AI 기반 명령을 통해 MCP 서버와 상호작용할 수 있게 됩니다.
- Claude Desktop을 엽니다.
- 알림이 표시됩니다: "새 MCP 도구가 하나 추가되었습니다."

3. docstring의 설명이 Claude에서 표시되어 도구의 기능을 설명합니다.

4. Claude가 MCP 서버와 통신하도록 허용할 것인지 요청합니다. "이 채팅에 대해 허용"을 클릭합니다.

5. 이제 MCP 서버가 연결되어 Claude를 통해 접근할 수 있으며, AI 기반 자동화가 원활하게 이루어집니다. 샘플 프롬프트를 입력하여 상호작용을 테스트하고 응답을 확인합니다:
>> John Doe에게 인사하세요.
6단계: MCP 서버 배포하기
원격 접근을 위해 MCP 서버를 Cloudflare에 배포합니다.
7. 새 터미널을 열고 다음을 실행합니다:
npx wrangler@latest deploy
8. Git을 사용하는 경우 변경 사항을 푸시하거나 메인 브랜치에 풀 리퀘스트를 병합하여 배포할 수 있습니다.
9. 배포가 완료되면 MCP 서버의 Cloudflare URL을 복사하고 http://localhost:5173
의 MCP Inspector에 이 URL을 입력합니다. 이제 MCP 서버가 라이브 상태이며 원격으로 접근할 수 있습니다.
7단계: 로컬 프록시를 통한 원격 MCP 서버 연결하기
배포가 완료된 후 로컬 프록시를 사용하여 Claude Desktop을 원격 MCP 서버와 연결할 수 있습니다.
- mcp-remote를 사용하여 Claude 및 기타 MCP 클라이언트가 원격 서버와 통신할 수 있도록 합니다.
- Claude Desktop 구성 파일(
.json
)을 MCP 서버의 URL로 업데이트합니다:
{
"mcpServers": {
"math": {
"command": "npx",
"args": [
"mcp-remote",
"https://your-worker-name.your-account.workers.dev/sse"
]
}
}
}
3. Claude Desktop을 재시작하고 인증 흐름을 완료합니다.
4. Claude에게 질문하여 통합을 테스트합니다:
>> 23과 19를 더하기 위해 수학 도구를 사용할 수 있습니까?
5. Claude는 수학 도구를 호출하여 MCP 서버에서 올바른 결과를 반환해야 합니다.
결론
당신의 MCP 서버를 Cloudflare에 배포하면 확장성, 보안 및 성능이 크게 향상됩니다. 이 단계별 가이드를 따르면 Cloudflare의 인프라를 활용하여 MCP 서버를 효과적으로 관리할 수 있으며, 다음을 성공적으로 완료했을 것입니다:
✔ MCP 서버 설정. ✔ Claude와 통합. ✔ 서버 기능 탐색 및 문서화. ✔ MCP Inspector를 사용하여 로컬에서 서버 테스트. ✔ MCP 서버를 Cloudflare에 배포. ✔ 원격 MCP 서버를 Claude Desktop에 연결.
당신의 MCP 서버는 이제 확장 가능하고, 안전하며, 전 세계적으로 접근 가능합니다! 이 설정은 LLM과 안정적이고 신뢰할 수 있는 서버 환경을 요구하는 다른 서비스 통합에 이상적입니다. 🚀