Cloudflare MCP 서버로 AI에게 인프라 관리 맡기기

Cloudflare MCP 서버로 AI에게 인프라 관리 맡기기

Cloudflare에서 Workers를 배포하고 KV에 데이터를 저장하고 D1 데이터베이스를 관리하려면 보통 Wrangler CLI를 쓰거나 대시보드에 접속해야 합니다. 그런데 이걸 AI한테 “내 Workers 목록 좀 보여줘”, “KV에 이 값 저장해줘” 같은 자연어로 시킬 수 있다면 어떨까요? 🤔

Cloudflare는 자사 서비스를 AI 도구에서 바로 사용할 수 있도록 MCP(Model Context Protocol) 서버를 공식으로 제공하고 있습니다. Claude Desktop, Cursor, VS Code 같은 AI 도구에 연결만 해두면 대화만으로 Cloudflare 인프라를 조회하고 관리할 수 있게 되는 거죠.

이번 글에서는 Cloudflare MCP 서버가 무엇이고 어떤 서비스를 지원하는지 살펴본 다음, 실제로 AI 도구에 연결해서 사용하는 방법까지 알아보겠습니다.

원격 MCP 서버란?

MCP 서버는 보통 로컬에서 실행됩니다. npx로 프로세스를 띄우고 표준 입출력(stdio)으로 통신하는 방식이죠. 이 방식은 빠르고 간편하지만 서버를 사용자 컴퓨터에 설치해야 하고 업데이트도 직접 해야 합니다.

Cloudflare MCP 서버는 이와 달리 원격(remote)으로 동작합니다. 서버가 Cloudflare 인프라 위에서 돌아가고 있어서 설치할 것도 없고, 항상 최신 버전을 사용할 수 있어요. 클라이언트는 HTTP를 통해 원격 서버에 접속하고 OAuth 2.1로 인증을 처리합니다.

데스크톱 소프트웨어에서 웹 서비스로 넘어가는 것과 비슷한 전환이라고 볼 수 있습니다. 로컬 설치 부담이 사라지고 접근성이 훨씬 좋아지거든요.

Cloudflare MCP 서버 목록

Cloudflare는 16개 이상의 MCP 서버를 *.mcp.cloudflare.com 도메인으로 제공하고 있습니다. 각 서버는 Cloudflare의 특정 서비스에 대응하며, 필요한 서버만 골라서 연결할 수 있어요.

가장 많이 쓰이는 서버들을 살펴볼게요.

Workers Bindings 서버(bindings.mcp.cloudflare.com/sse)는 Cloudflare의 핵심 스토리지 서비스들을 다룹니다. Workers 코드를 조회하고 KV 네임스페이스를 생성하거나 삭제할 수 있고, R2 버킷 관리, D1 데이터베이스 쿼리까지 가능합니다. 가장 범용적인 서버라서 처음 시작할 때 이것부터 연결하는 걸 추천합니다.

운영 중인 Workers의 로그가 궁금할 때는 Observability 서버(observability.mcp.cloudflare.com/sse)를 쓰면 됩니다. “지난 1시간 동안 에러율이 높은 Worker 알려줘” 같은 요청으로 운영 상태를 바로 파악할 수 있어요.

개발하다가 문서를 찾아보고 싶을 때는 Documentation 서버(docs.mcp.cloudflare.com/sse)가 편합니다. “R2 CORS 설정 방법 알려줘” 같은 질문을 대화 중에 바로 던지면 되니까 브라우저를 따로 열 필요가 없어요.

이 밖에도 DNS 분석, 감사 로그 조회, 보안 점검(CASB), 인터넷 트래픽 분석(Radar), 브라우저 렌더링 등 여러 서버가 있습니다.

  • dns-analytics.mcp.cloudflare.com/sse — DNS 성능 분석 및 최적화
  • auditlogs.mcp.cloudflare.com/sse — 감사 로그 조회
  • radar.mcp.cloudflare.com/sse — 인터넷 트래픽 인사이트
  • browser.mcp.cloudflare.com/sse — 웹 페이지 스크린샷 및 콘텐츠 가져오기
  • ai-gateway.mcp.cloudflare.com/sse — AI Gateway 로그 분석
  • containers.mcp.cloudflare.com/sse — 컨테이너 기반 개발 환경
  • logs.mcp.cloudflare.com/sse — Logpush 작업 상태 확인

전체 목록과 소스 코드는 GitHub 저장소에서 확인할 수 있습니다.

Claude Desktop에서 연결하기

Claude Desktop처럼 원격 MCP를 기본 지원하지 않는 클라이언트에서는 mcp-remote라는 어댑터 패키지를 사용합니다. 이 패키지가 로컬 stdio 서버처럼 동작하면서 뒤에서 원격 서버와 HTTP 통신을 중계해주는 역할을 해요.

Claude Desktop의 MCP 설정 파일에 다음과 같이 추가하면 됩니다.

claude_desktop_config.json
{
  "mcpServers": {
    "cloudflare-bindings": {
      "command": "npx",
      "args": ["mcp-remote", "https://bindings.mcp.cloudflare.com/sse"]
    },
    "cloudflare-observability": {
      "command": "npx",
      "args": ["mcp-remote", "https://observability.mcp.cloudflare.com/sse"]
    },
    "cloudflare-docs": {
      "command": "npx",
      "args": ["mcp-remote", "https://docs.mcp.cloudflare.com/sse"]
    }
  }
}

설정 후 Claude Desktop을 재시작하면 Cloudflare 도구가 목록에 나타납니다. 처음 사용할 때 브라우저가 열리면서 Cloudflare 계정으로 로그인하라는 OAuth 인증 화면이 뜨는데, 한 번만 인증하면 이후에는 자동으로 연결됩니다.

클로드 코드에서 연결하기

클로드 코드에서는 CLI 명령어로 바로 추가할 수 있습니다.

claude mcp add --transport http cloudflare-bindings https://bindings.mcp.cloudflare.com/sse
claude mcp add --transport http cloudflare-docs https://docs.mcp.cloudflare.com/sse

팀 프로젝트에서 모든 개발자가 동일한 설정을 쓰게 하려면 프로젝트 루트에 .mcp.json 파일을 만들어서 Git으로 관리하는 것도 좋습니다.

.mcp.json
{
  "mcpServers": {
    "cloudflare-bindings": {
      "type": "http",
      "url": "https://bindings.mcp.cloudflare.com/sse"
    },
    "cloudflare-docs": {
      "type": "http",
      "url": "https://docs.mcp.cloudflare.com/sse"
    }
  }
}

Cursor와 VS Code에서 연결하기

Cursor는 원격 MCP 서버를 바로 지원합니다. Settings > MCP에서 서버를 추가하면 돼요.

프로젝트 루트에 .cursor/mcp.json 파일을 만들어서 설정할 수도 있습니다.

.cursor/mcp.json
{
  "mcpServers": {
    "cloudflare-bindings": {
      "url": "https://bindings.mcp.cloudflare.com/sse"
    }
  }
}

VS Code에서는 설정 파일(.vscode/mcp.json)이나 settings.json에 추가합니다.

.vscode/mcp.json
{
  "mcpServers": {
    "cloudflare-bindings": {
      "type": "http",
      "url": "https://bindings.mcp.cloudflare.com/sse"
    }
  }
}

어떤 도구를 쓰든 첫 연결 시 Cloudflare OAuth 인증이 한 번 필요하고, 그 이후로는 자동으로 연결됩니다.

Workers Bindings 서버 써보기

Workers Bindings 서버가 어떤 도구를 제공하는지 좀 더 자세히 살펴볼게요.

우선 Workers 관련 도구로는 workers_list로 계정의 전체 Worker 목록을 조회하고 workers_get_worker로 특정 Worker의 상세 정보를 볼 수 있습니다. workers_get_worker_code를 쓰면 배포된 Worker의 소스 코드까지 가져올 수 있어요.

KV 관련 도구도 풍부합니다. kv_namespaces_list로 네임스페이스 목록을 보고, kv_namespace_create로 새로 만들고, kv_namespace_get으로 특정 키의 값을 읽을 수 있습니다. KV는 키-값 쌍을 저장하는 전역 분산 스토리지라서 설정값이나 캐시 데이터를 관리할 때 자주 쓰이거든요.

R2 오브젝트 스토리지도 마찬가지로 버킷 생성, 삭제, 조회가 됩니다. r2_buckets_list, r2_bucket_create, r2_bucket_delete 같은 도구를 쓰면 돼요.

D1은 Cloudflare의 서버리스 SQL 데이터베이스인데, d1_database_query 도구로 SQL 쿼리를 직접 실행할 수 있습니다. “users 테이블에서 최근 가입한 10명 보여줘” 같은 요청을 하면 AI가 적절한 SQL을 생성해서 실행해주는 식이죠.

실제 사용 예시를 몇 가지 들어볼게요.

AI에게 “내 Workers 목록 보여줘”라고 하면 workers_list 도구를 호출해서 계정에 있는 Worker 이름과 상태를 정리해서 알려줘요.

“production-api Worker의 코드 보여줘”라고 하면 workers_get_worker_code로 해당 Worker의 소스 코드를 가져와서 보여줍니다. 코드를 분석해달라거나 특정 엔드포인트의 로직을 설명해달라고 이어서 요청할 수도 있어요.

“D1 데이터베이스 목록 보여주고, 그 중에서 main-db에서 최근 주문 5건 조회해줘”라고 하면 d1_databases_list로 데이터베이스를 찾은 다음 d1_database_query로 SQL을 실행하는 식으로 여러 도구를 순차적으로 호출합니다.

Observability 서버 써보기

운영 중인 서비스의 상태를 모니터링할 때는 Observability 서버가 유용합니다.

이 서버에는 세 가지 핵심 도구가 있습니다. Query Worker Observability는 Workers의 로그와 메트릭을 분석하는 메인 도구입니다. Observability Keys로 어떤 필드를 기준으로 필터링할 수 있는지 확인하고, Observability Values로 특정 필드의 가능한 값을 미리 볼 수 있어요.

예를 들어 “지난 24시간 동안 500 에러가 가장 많이 발생한 Worker가 뭐야?” 같은 질문을 던지면 AI가 적절한 쿼리를 구성해서 로그 데이터를 분석합니다. Wrangler의 wrangler tail로 실시간 로그를 보는 것보다 과거 데이터를 빠르게 훑어볼 수 있다는 점이 장점이에요.

“production-api Worker에서 지난 1시간 동안의 응답 시간 분포를 알려줘”라고 하면 p50, p95, p99 같은 백분위수를 계산해서 보여주기도 합니다.

나만의 MCP 서버 만들기

Cloudflare에서는 이미 만들어진 MCP 서버를 쓰는 것뿐 아니라 직접 원격 MCP 서버를 만들어 배포할 수도 있습니다.

Cloudflare Workers와 Agents SDK의 McpAgent 클래스를 사용하면 됩니다. Durable Objects 위에 구축되어 있어서 클라이언트 세션별로 상태를 유지할 수 있고 OAuth 인증도 내장되어 있어요.

src/index.ts
import { McpAgent } from "agents/mcp";
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { z } from "zod";

export class MyMCP extends McpAgent {
  server = new McpServer({
    name: "my-mcp-server",
    version: "1.0.0",
  });

  async init() {
    this.server.tool("hello", { name: z.string() }, async ({ name }) => ({
      content: [{ type: "text", text: `안녕하세요, ${name}님!` }],
    }));
  }
}

이렇게 만든 서버를 wrangler deploy로 배포하면 전 세계 엣지에서 실행되는 원격 MCP 서버가 완성됩니다.

기존에 로컬 stdio 방식으로 만든 MCP 서버가 있다면 이걸 Cloudflare Workers 위에 올려서 원격 서버로 전환하는 것도 고려해볼 만합니다. 사용자가 Node.js 환경을 갖추지 않아도 되고 서버 업데이트도 배포만 하면 모든 사용자에게 즉시 반영되니까요.

마치며

Cloudflare MCP 서버를 연결해두면 터미널과 대시보드를 오가며 하던 인프라 관리 작업을 AI와의 대화로 처리할 수 있습니다. Workers 배포 현황 확인, KV 데이터 조회, D1 쿼리 실행, 로그 분석 같은 일상적인 작업을 자연어로 요청하니까 개발 흐름이 끊기지 않아요.

특히 여러 서비스를 동시에 관리해야 하는 상황에서 빛을 발합니다. “D1에서 데이터 확인하고, KV에 캐시 무효화하고, Worker 재배포해줘” 같은 복합적인 작업도 한 번의 대화로 처리할 수 있으니까요.

Cloudflare를 이미 사용하고 있다면 MCP 서버 연결은 몇 분이면 끝나니 한 번 시도해 보시길 추천합니다.

MCP의 기본 개념이 아직 익숙하지 않다면 먼저 읽어보시면 이 글의 내용이 더 잘 와닿을 겁니다. Cloudflare WorkersWorkers AI에 대해서도 궁금하시다면 관련 글을 참고해보세요. 클로드 코드에서 MCP 서버를 연동하는 방법도 함께 확인해보시면 실제 개발 워크플로우에 MCP를 녹이는 데 도움이 될 거예요.

This work is licensed under CC BY 4.0 CC BY

개발자를 위한 뉴스레터

달레가 정리한 AI 개발 트렌드와 직접 만든 콘텐츠를 전해드립니다.

Discord