Cloudflare
Cloudflare
Cloudflare MCP 서버는 Cloudflare의 개발자 플랫폼 서비스와 상호작용할 수 있는 Model Context Protocol 구현체입니다. 이 서버를 통해 AI 어시스턴트가 Cloudflare Workers, KV 스토리지, R2 스토리지, D1 데이터베이스 등의 리소스를 관리하고 제어할 수 있습니다.
특징
- 원격 MCP 서버: 인터넷을 통해 접근 가능한 원격 MCP 서버 지원
- OAuth 인증 통합: 표준 OAuth 프로토콜을 통한 사용자 인증 및 권한 부여
- 세분화된 권한: 각 서버별로 필요한 최소한의 권한만 부여하여 보안 강화
- 클라우드 배포: Cloudflare Workers를 통한 간편한 배포 및 확장
- 다양한 서비스 통합: Cloudflare의 다양한 서비스와 통합되어 포괄적인 기능 제공
제공 서버 종류
Cloudflare는 다양한 MCP 서버를 제공합니다:
- Cloudflare 문서 서버: Cloudflare 문서 정보 실시간 검색 및 제공
- Workers Bindings 서버: D1 데이터베이스, R2 객체 스토리지, KV 저장소 관리
- Observability 서버: 모니터링, 로그 분석 및 성능 관찰
- Radar 서버: 인터넷 트래픽, 트렌드 및 보안 위협 분석
- Container 서버: Cloudflare 네트워크에서 코드 실행 환경 제공
- Browser Rendering 서버: 웹 페이지 스크린샷 및 콘텐츠 추출
- Logpush 서버: 로그 데이터 관리 및 전송
- AI Gateway 서버: AI 모델 관리 및 통합
- AutoRAG 서버: 자동화된 검색 증강 생성 기능
- Audit Logs 서버: 계정 활동 감사 및 분석
- DNS Analytics 서버: DNS 요청 패턴 및 성능 분석
- Digital Experience Monitoring 서버: 디지털 경험 모니터링 및 분석
- Cloudflare One CASB 서버: 클라우드 애플리케이션 보안 관리
API
리소스
Cloudflare 계정 정보
- 계정 정보, 구독 상태 및 리소스 사용 정보
도메인 목록
- 계정에 등록된 도메인 및 DNS 설정 정보
Workers 목록
- 배포된 Workers 코드, 설정 및 성능 정보
도구
create_worker
새 Cloudflare Worker를 생성합니다.
- 입력:
- name: Worker 이름
- content: Worker 코드(JavaScript 또는 TypeScript)
- bindings: 환경 변수 및 바인딩 설정(선택 사항)
create_kv_namespace
KV 네임스페이스를 생성합니다.
- 입력:
- title: 네임스페이스 제목
create_r2_bucket
R2 버킷을 생성합니다.
- 입력:
- name: 버킷 이름
- location: 지역 설정(선택 사항)
create_d1_database
D1 데이터베이스를 생성합니다.
- 입력:
- name: 데이터베이스 이름
query_logs
로그를 쿼리합니다.
- 입력:
- query: 로그 쿼리 문자열
- start_time: 시작 시간(선택 사항)
- end_time: 종료 시간(선택 사항)
- limit: 최대 반환 로그 수(선택 사항)
get_page_screenshot
웹 페이지 스크린샷을 촬영합니다.
- 입력:
- url: 웹 페이지 URL
- full_page: 전체 페이지 캡처 여부(기본값: false)
- device: 디바이스 에뮬레이션 설정(선택 사항)
사용 방법
원격 MCP 서버 연결 (원격 지원 클라이언트용)
- MCP 클라이언트의 서버 설정에서 다음 URL을 추가합니다:
- 문서 서버:
https://docs.mcp.cloudflare.com/sse - Workers Bindings 서버:
https://bindings.mcp.cloudflare.com/sse - Observability 서버:
https://observability.mcp.cloudflare.com/sse -
기타 필요한 서버 URL
-
OAuth 인증 절차를 통해 클라이언트에 권한을 부여합니다.
로컬 MCP 서버 연결 (원격 지원이 없는 클라이언트용)
-
mcp-remote 패키지를 설치합니다:
npm install -g mcp-remote -
Claude Desktop 구성 파일을 수정합니다:
{ "mcpServers": { "cloudflare-observability": { "command": "npx", "args": ["mcp-remote", "https://observability.mcp.cloudflare.com/sse"] }, "cloudflare-bindings": { "command": "npx", "args": ["mcp-remote", "https://bindings.mcp.cloudflare.com/sse"] } } }
자체 Cloudflare MCP 서버 개발 및 배포
-
Cloudflare Workers 프로젝트를 생성합니다:
npm create cloudflare@latest my-mcp-server -- --type=worker -
workers-mcp 패키지를 추가합니다:
npm install workers-mcp -
MCP 서버 코드 작성:
import { WorkerEntrypoint } from 'cloudflare:workers'; import { ProxyToSelf } from 'workers-mcp'; export default class MyWorker extends WorkerEntrypoint { async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> { const mcp = new ProxyToSelf(this, request, env, ctx, { name: "My MCP Server", description: "MCP 서버 예제", tools: [ { name: "hello", description: "인사말을 반환합니다", parameters: { type: "object", properties: { name: { type: "string", description: "인사할 이름", } }, required: ["name"], }, func: async ({ name }) => { return `안녕하세요, ${name}님!`; }, }, ], }); return mcp.handle(); } } -
서버를 배포합니다:
npx wrangler deploy
활용 사례
- 웹 애플리케이션 개발 자동화: AI 어시스턴트를 통해 Cloudflare Workers 애플리케이션 개발 및 배포 자동화
- 인프라 관리: 자연어 명령으로 Cloudflare 리소스 생성, 구성 및 관리
- 로그 분석: 로그 데이터 분석 및 패턴 식별을 통한 문제 해결 및 최적화
- 보안 모니터링: Cloudflare의 보안 서비스 설정 및 모니터링 자동화
- 웹사이트 분석: 웹사이트 성능 및 사용자 경험 분석을 통한 최적화 제안