mcp-cloudflare-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 저장소 | |
컨테이너 |
|
Python 패키지 (PyPI) |
|
CLI 명령 |
|
모듈 가져오기 |
|
Hummingbird를 사용하는 이유는?
컨테이너 이미지는 Project Hummingbird의 Hummingbird 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-crunchtoolspip 사용
pip install mcp-cloudflare-crunchtools컨테이너 사용
podman run -e CLOUDFLARE_API_TOKEN=your_token \
quay.io/crunchtools/mcp-cloudflare구성
Cloudflare API 토큰 생성
API 토큰으로 이동
"Create Token" 클릭
"Create Custom Token" 옆의 "Get started" 클릭
토큰 이름 구성
입력:
mcp-cloudflare-crunchtools
권한 구성
권한 섹션에는 행당 세 개의 드롭다운이 있습니다:
첫 번째 드롭다운: 리소스 유형 (
Account또는Zone)두 번째 드롭다운: 특정 권한 범주
세 번째 드롭다운: 액세스 수준 (
Read또는Edit)
각 권한 행을 추가하려면 "+ Add more"를 클릭하세요. 전체 관리를 위해 다음을 추가하세요:
리소스
권한
액세스
Zone
Zone
Read
Zone
DNS
Edit
Zone
Page Rules
Edit
Zone
Transform Rules
Edit
Zone
Cache Purge
Purge
영역 리소스 구성
첫 번째 드롭다운: "Include" 선택
두 번째 드롭다운: "All zones" 또는 "Specific zone" 선택
클라이언트 IP 주소 필터링 구성 (선택 사항)
토큰을 현재 IP로 제한하려면 "Use my IP" 버튼 클릭
토큰 생성 및 복사
"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에서 다음을 확인하세요:
위협 모델 및 공격 벡터
심층 방어 아키텍처
토큰 처리 모범 사례
입력 검증 규칙
감사 로깅
주요 보안 기능
토큰 보호
SecretStr로 저장 (실수로 로그에 기록되지 않음)
환경 변수로만 저장 (파일이나 인수에 저장되지 않음)
모든 오류 메시지에서 삭제됨
입력 검증
모든 입력에 대한 Pydantic 모델
레코드 유형, 작업에 대한 허용 목록
ID에 대한 엄격한 형식 검증
API 강화
하드코딩된 API 기본 URL (SSRF 방지)
TLS 인증서 검증
요청 시간 제한
응답 크기 제한
자동 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를 읽어주세요.
링크
Maintenance
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
- Alicense-quality-maintenanceA lightweight MCP server for managing DNS records, purging cache, and interacting with the Cloudflare API through natural language commands.24
- Alicense-qualityDmaintenanceA lightweight MCP server that enables agents to interface with Cloudflare's REST API, allowing management of DNS records and other Cloudflare services.515GPL 2.0
- Alicense-quality-maintenanceA token-efficient MCP server for managing Cloudflare DNS zones and records with full CRUD support and bulk operations. It can be deployed locally via stdio or as a Cloudflare Worker for remote HTTP access.
- Alicense-qualityCmaintenanceMCP server for managing Cloudflare DNS across multiple zones from a single API token, enabling bulk operations like toggling proxy, listing records, and batch updates.18MIT
Related MCP Connectors
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Cloud-hosted MCP server for durable AI memory
A MCP server built for developers enabling Git based project management with project and personal…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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