mcp-cloudflare
mcp-cloudflare
Компактный MCP-сервер Cloudflare для управления DNS, зонами, туннелями, WAF, Zero Trust и безопасностью через Cloudflare API v4.
Без SSH. Без выполнения команд оболочки. Только API. 3 зависимости времени выполнения.
Содержание
Возможности
75 инструментов в 11 доменах:
DNS — управление записями (A, AAAA, CNAME, MX, TXT, SRV, CAA, NS), пакетные операции
Зоны — список зон, настройки, конфигурация SSL/TLS, управление кэшем
Туннели — создание, настройка и управление входящим трафиком Cloudflare Tunnel
WAF — управление наборами правил, пользовательские правила брандмауэра, ограничение скорости (rate limiting)
Zero Trust — CRUD для приложений доступа (создание/удаление), политики (создание/удаление), поставщики идентификации (создание/удаление), статус шлюза
Безопасность — аналитика событий безопасности, правила доступа по IP, конфигурация DDoS, аналитика Центра безопасности
Workers KV — управление пространствами имен, чтение/запись/удаление пар ключ-значение, список ключей
Workers — развертывание скриптов, управление маршрутами
Секреты Worker — управление секретами (только имена, значения никогда не раскрываются)
Аналитика Worker — метрики вызовов, время CPU, частота ошибок через GraphQL
Хранилище R2 — управление бакетами, список объектов и метаданные, пользовательские домены, подсказки о местоположении
Быстрый старт
npm install
cp .env.example .env # Edit with your Cloudflare API token
npm run build
node dist/index.js # stdio transport for MCPИнтеграция с Claude Code
Добавьте в .mcp.json в корне вашего проекта:
{
"mcpServers": {
"cloudflare": {
"command": "node",
"args": ["/path/to/mcp-cloudflare/dist/index.js"],
"env": {
"CLOUDFLARE_API_TOKEN": "your-api-token-here",
"CLOUDFLARE_ACCOUNT_ID": "your-account-id"
}
}
}
}Конфигурация
Переменная | Обязательно | По умолчанию | Описание |
| Да | — | Токен API Cloudflare (с соответствующими разрешениями) |
| Нет | — | ID учетной записи Cloudflare (требуется для операций на уровне учетной записи) |
| Нет |
| Тайм-аут запроса в миллисекундах |
| Нет | — | URL HashiCorp Vault, включает загрузку AppRole из Vault (см. ниже) |
| Нет | — | role_id для Vault AppRole |
| Нет | — | secret_id для Vault AppRole |
| Нет |
| Путь монтирования Vault KV v2 |
Загрузка секретов из HashiCorp Vault (AppRole)
Если вы используете центральный экземпляр Vault, mcp-cloudflare может получать свои учетные данные при запуске через AppRole вместо передачи их через конфигурацию MCP:
export NAS_VAULT_ADDR=https://vault.example.com
export NAS_VAULT_ROLE_ID=<role-id>
export NAS_VAULT_SECRET_ID=<secret-id>
# optional — defaults to "kv"
export NAS_VAULT_KV_MOUNT=kvЗагрузчик считывает KV v2 по пути <mount>/data/cloudflare/api и ожидает два ключа: api_token и account_id. Пример записи в Vault:
vault kv put kv/cloudflare/api \
api_token=your-api-token-here \
account_id=00000000000000000000000000000000Приоритет: process.env (явно) > Vault. Если NAS_VAULT_ADDR не задан, загрузчик ничего не делает — сервер ведет себя так же, как и раньше. При любой ошибке Vault (сеть, аутентификация, отсутствующий путь) в stderr записывается однострочное предупреждение, и сервер возвращается к использованию уже заданных переменных окружения.
Безопасность: значения секретов никогда не логируются. В диагностике stderr отображаются только имя пути KV и количество заполненных полей. Используется глобальный fetch (Node 20+) — никаких новых зависимостей времени выполнения.
Разрешения токена API
Создайте токен API на странице dash.cloudflare.com/profile/api-tokens со следующими разрешениями в зависимости от ваших нужд:
DNS: Zone > DNS > Edit
Настройки зоны: Zone > Zone Settings > Edit
Очистка кэша: Zone > Cache Purge > Edit
Туннели: Account > Cloudflare Tunnel > Edit
WAF: Zone > Firewall Services > Edit
Zero Trust: Account > Access: Apps and Policies > Edit
События безопасности: Zone > Analytics > Read
Workers KV: Account > Workers KV Storage > Edit
Workers: Account > Worker Scripts > Edit
R2: Account > R2 Storage > Edit
Поддержка нескольких зон
Все инструменты с областью действия зоны принимают параметр zone_id, который может быть:
32-символьным шестнадцатеричным ID зоны (например,
00000000000000000000000000000001) — используется напрямуюИменем зоны / доменом (например,
example.com) — разрешается автоматически через API Cloudflare
Это позволяет управлять несколькими зонами по имени без необходимости вручную искать ID.
Инструменты
Документация по инструментам появится в версии v1 по мере реализации модулей инструментов. См. docs/api-reference.md для планируемого сопоставления конечных точек API.
Навыки
Навыки Claude Code объединяют инструменты MCP в рабочие процессы более высокого уровня. См. .claude/skills/README.md для получения подробной документации.
Навык | Слэш-команда | Описание |
cloudflare-health |
| Панель состояния зоны — DNS, безопасность, туннели, WAF, статус DDoS |
cloudflare-live-test |
| Интеграционный тест в реальном времени — чтение + безопасная запись с очисткой |
cloudflare-dns-management | — | Управление DNS-записями — добавление, список, обновление, удаление в разных зонах |
cloudflare-incident-response | — | Экстренное реагирование на DDoS/атаки — обнаружение, оценка, смягчение, мониторинг |
cloudflare-security-audit | — | Аудит состояния безопасности — WAF, события, доступ по IP, аналитика DDoS |
cloudflare-tunnel-management | — | Управление туннелями — создание, настройка входящего трафика, мониторинг соединений |
cloudflare-waf-management | — | Управление WAF — пользовательские правила, наборы правил, доступ по IP, режим Under Attack |
cloudflare-zero-trust | — | Zero Trust — доступ к приложениям, политики, поставщики идентификации, шлюз |
cloudflare-kv-manage | — | Workers KV — операции CRUD для пространств имен и пар ключ-значение |
cloudflare-worker-deploy | — | Workers — развертывание скриптов, маршруты, секреты, аналитика |
cloudflare-r2-manage | — | Хранилище R2 — управление бакетами и объектами, рабочие процессы аудита |
Разработка
npm run build # Compile TypeScript
npm test # Run unit tests (vitest)
npm run typecheck # Type check only (no emit)См. CONTRIBUTING.md для получения рекомендаций по внесению вклада.
Лицензия
Этот проект имеет двойную лицензию:
Open Source: GNU Affero General Public License v3.0 (AGPL-3.0) — бесплатно для open-source и некоммерческого использования
Коммерческая: Доступна для проприетарных интеграций — см. COMMERCIAL_LICENSE.md
Если вы используете mcp-cloudflare в проприетарном продукте или SaaS-предложении, требуется коммерческая лицензия. Поддержите разработку, спонсируя нас на GitHub.
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/itunified-io/mcp-cloudflare'
If you have feedback or need assistance with the MCP directory API, please join our Discord server