Skip to main content
Glama
crunchtools

mcp-cloudflare-crunchtools

by crunchtools

MCP Cloudflare CrunchTools

Cloudflare DNS, Transform Rules, Page Rules 및 캐시 관리를 위한 보안 MCP(Model Context Protocol) 서버입니다.

개요

이 MCP 서버는 다음과 같은 특징을 갖도록 설계되었습니다:

  • 기본적으로 안전함 - 포괄적인 위협 모델링, 입력 검증, 토큰 보호

  • 타사 서비스 없음 - stdio를 통해 로컬에서 실행되며, API 토큰이 사용자의 컴퓨터를 벗어나지 않습니다

  • 크로스 플랫폼 - Linux, macOS, Windows에서 작동합니다

  • 자동 업데이트 - GitHub Actions가 CVE를 모니터링하고 종속성을 업데이트합니다

  • 컨테이너화 - Hummingbird Python 기본 이미지를 기반으로 quay.io/crunchtools/mcp-cloudflare에서 사용 가능합니다

Related MCP server: Cloudflare API MCP

명명 규칙

구성 요소

이름

GitHub 저장소

crunchtools/mcp-cloudflare

컨테이너

quay.io/crunchtools/mcp-cloudflare

Python 패키지 (PyPI)

mcp-cloudflare-crunchtools

CLI 명령

mcp-cloudflare-crunchtools

모듈 가져오기

mcp_cloudflare_crunchtools

Hummingbird를 사용하는 이유는?

컨테이너 이미지는 Project HummingbirdHummingbird Python 기본 이미지를 기반으로 구축되었으며, 다음을 제공합니다:

  • 최소 CVE 노출 - Hummingbird 이미지는 최소 패키지 세트로 구축되어 일반적인 이미지에 비해 공격 표면을 획기적으로 줄입니다

  • 정기 업데이트 - 보안 패치가 신속하게 적용되어 CVE 수를 낮게 유지합니다

  • Python에 최적화 - uv 패키지 관리자로 사전 구성된 Python 환경으로 빠르고 재현 가능한 빌드를 제공합니다

  • 프로덕션 준비 - 적절한 신호 처리와 비루트 사용자 기본값으로 프로덕션 워크로드에 맞게 설계되었습니다

즉, MCP 서버가 일반적인 Python 컨테이너 이미지보다 취약점이 적은 강화된 환경에서 실행됩니다.

기능

영역 관리 (2개 도구)

  • list_zones - API 토큰으로 액세스 가능한 모든 영역 나열

  • get_zone - ID 또는 도메인 이름으로 영역 세부 정보 가져오기

DNS 레코드 (5개 도구)

  • list_dns_records - 필터링으로 DNS 레코드 나열

  • get_dns_record - 단일 DNS 레코드 가져오기

  • create_dns_record - A, AAAA, CNAME, MX, TXT, NS, SRV, CAA 레코드 생성

  • update_dns_record - 기존 레코드 업데이트

  • delete_dns_record - 레코드 삭제

Transform Rules (6개 도구)

  • list_request_header_rules / set_request_header_rules - 요청 헤더 수정

  • list_response_header_rules / set_response_header_rules - 응답 헤더 수정

  • list_url_rewrite_rules / set_url_rewrite_rules - URL 경로/쿼리 재작성

Page Rules (4개 도구)

  • list_page_rules - 모든 페이지 규칙 나열

  • create_page_rule - 리디렉션, 캐시 설정, SSL 모드 생성

  • update_page_rule - 기존 규칙 수정

  • delete_page_rule - 규칙 제거

캐시 관리 (1개 도구)

  • purge_cache - URL, 태그, 호스트, 접두사 또는 전체로 퍼지

설치

uvx 사용 (권장)

uvx mcp-cloudflare-crunchtools

pip 사용

pip install mcp-cloudflare-crunchtools

컨테이너 사용

podman run -e CLOUDFLARE_API_TOKEN=your_token \
    quay.io/crunchtools/mcp-cloudflare

구성

Cloudflare API 토큰 생성

  1. API 토큰으로 이동

  2. 토큰 이름 구성

    • 입력: mcp-cloudflare-crunchtools

  3. 권한 구성

    권한 섹션에는 행당 세 개의 드롭다운이 있습니다:

    • 첫 번째 드롭다운: 리소스 유형 (Account 또는 Zone)

    • 두 번째 드롭다운: 특정 권한 범주

    • 세 번째 드롭다운: 액세스 수준 (Read 또는 Edit)

    각 권한 행을 추가하려면 "+ Add more"를 클릭하세요. 전체 관리를 위해 다음을 추가하세요:

    리소스

    권한

    액세스

    Zone

    Zone

    Read

    Zone

    DNS

    Edit

    Zone

    Page Rules

    Edit

    Zone

    Transform Rules

    Edit

    Zone

    Cache Purge

    Purge

  4. 영역 리소스 구성

    • 첫 번째 드롭다운: "Include" 선택

    • 두 번째 드롭다운: "All zones" 또는 "Specific zone" 선택

  5. 클라이언트 IP 주소 필터링 구성 (선택 사항)

    • 토큰을 현재 IP로 제한하려면 "Use my IP" 버튼 클릭

  6. 토큰 생성 및 복사

    • "Continue to summary" → "Create Token" 클릭

    • 중요: 토큰을 즉시 복사하세요 - 한 번만 표시됩니다!

Claude Code에 추가

claude mcp add mcp-cloudflare-crunchtools \
    --env CLOUDFLARE_API_TOKEN=your_token_here \
    -- uvx mcp-cloudflare-crunchtools

또는 컨테이너 버전의 경우:

claude mcp add mcp-cloudflare-crunchtools \
    --env CLOUDFLARE_API_TOKEN=your_token_here \
    -- podman run -i --rm -e CLOUDFLARE_API_TOKEN quay.io/crunchtools/mcp-cloudflare

사용 사례별 권한 세트

읽기 전용 (보기만)

리소스

권한

액세스

Zone

Zone

Read

Zone

DNS

Read

DNS 관리 전용

리소스

권한

액세스

Zone

Zone

Read

Zone

DNS

Edit

전체 관리 (모든 기능)

리소스

권한

액세스

Zone

Zone

Read

Zone

DNS

Edit

Zone

Page Rules

Edit

Zone

Transform Rules

Edit

Zone

Cache Purge

Purge

사용 예

영역 나열

User: List my Cloudflare zones
Assistant: [calls list_zones]

DNS 레코드 생성

User: Create an A record for www.example.com pointing to 192.168.1.1
Assistant: [calls create_dns_record with type=A, name=www, content=192.168.1.1]

보안 헤더 추가

User: Add X-Content-Type-Options: nosniff to all responses for zone abc123...
Assistant: [calls set_response_header_rules with appropriate rule]

캐시 퍼지

User: Purge the cache for https://example.com/styles.css
Assistant: [calls purge_cache with files=["https://example.com/styles.css"]]

보안

이 서버는 보안을 최우선으로 설계되었습니다. SECURITY.md에서 다음을 확인하세요:

  • 위협 모델 및 공격 벡터

  • 심층 방어 아키텍처

  • 토큰 처리 모범 사례

  • 입력 검증 규칙

  • 감사 로깅

주요 보안 기능

  1. 토큰 보호

    • SecretStr로 저장 (실수로 로그에 기록되지 않음)

    • 환경 변수로만 저장 (파일이나 인수에 저장되지 않음)

    • 모든 오류 메시지에서 삭제됨

  2. 입력 검증

    • 모든 입력에 대한 Pydantic 모델

    • 레코드 유형, 작업에 대한 허용 목록

    • ID에 대한 엄격한 형식 검증

  3. API 강화

    • 하드코딩된 API 기본 URL (SSRF 방지)

    • TLS 인증서 검증

    • 요청 시간 제한

    • 응답 크기 제한

  4. 자동 CVE 스캔

    • GitHub Actions가 매주 종속성 스캔

    • 보안 업데이트를 위한 자동 PR

    • Dependabot 알림 활성화

개발

설정

git clone https://github.com/crunchtools/mcp-cloudflare.git
cd mcp-cloudflare
uv sync

테스트 실행

uv run pytest

린트 및 타입 검사

uv run ruff check src tests
uv run mypy src

컨테이너 빌드

podman build -t mcp-cloudflare .

라이선스

AGPL-3.0-or-later

기여

기여를 환영합니다! 보안 관련 변경 사항을 제출하기 전에 SECURITY.md를 읽어주세요.

링크

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/crunchtools/mcp-cloudflare'

If you have feedback or need assistance with the MCP directory API, please join our Discord server