Skip to main content
Glama
archawat

@archawat/mcp-cloudflare

by archawat

@archawat/mcp-cloudflare

Сервер протокола Model Context Protocol (MCP) для управления DNS Cloudflare в нескольких зонах (доменах) с помощью одного API-токена. Создан для массовых рабочих процессов — включения/выключения прокси для множества записей, аудита DNS в разных зонах и пакетного обновления записей.

Возможности

  • Несколько зон с одним токеном — передайте доменное имя, например "example.com", и сервер сам определит зону. Также принимаются ID зон.

  • Массовые операции — bulk_toggle_proxy, bulk_update_dns_record и bulk_list_dns_records выполняются параллельно и используют общий кэш ID зон для каждого вызова, поэтому повторные обращения к зонам не требуют дополнительных запросов.

  • Безопасные настройки по умолчанию — новые записи A/CNAME создаются с параметром proxied: false (только DNS, серое облако). Проксирование включается по желанию.

  • Автоматическая пагинация — list_dns_records извлекает все страницы параллельно, если вы не запросили конкретную страницу.

Related MCP server: Cloudflare API MCP

Установка

Локальная установка не требуется — используйте npx или bunx для запуска по запросу.

Claude Code / Claude Desktop (.mcp.json)

Через npx (Node):

{
  "mcpServers": {
    "cloudflare": {
      "command": "npx",
      "args": ["-y", "@archawat/mcp-cloudflare"],
      "env": { "CLOUDFLARE_API_TOKEN": "cf-token-here" }
    }
  }
}

Через bunx (Bun):

{
  "mcpServers": {
    "cloudflare": {
      "command": "bunx",
      "args": ["-y", "@archawat/mcp-cloudflare"],
      "env": { "CLOUDFLARE_API_TOKEN": "cf-token-here" }
    }
  }
}

Claude Code CLI

claude mcp add cloudflare -s user \
  -e CLOUDFLARE_API_TOKEN="cf-token-here" \
  -- npx -y @archawat/mcp-cloudflare

Глобальная установка (самый быстрый холодный запуск)

npm install -g @archawat/mcp-cloudflare
# or: bun add -g @archawat/mcp-cloudflare

Глобальный бинарный файл называется mcp-cloudflare (без области видимости), поэтому:

{
  "mcpServers": {
    "cloudflare": {
      "command": "mcp-cloudflare",
      "env": { "CLOUDFLARE_API_TOKEN": "cf-token-here" }
    }
  }
}

API-токен

Создайте токен Cloudflare на странице https://dash.cloudflare.com/profile/api-tokens со следующими правами:

  • Zone:Read

  • Zone:DNS:Edit

Ограничьте токен зонами, которыми хотите управлять, или предоставьте доступ ко «всем зонам».

Инструменты

Инструмент

Назначение

list_zones

Обнаружение доменов, которыми может управлять токен.

list_dns_records

Список записей в зоне; автоматически переходит по всем страницам, если не задан параметр page.

bulk_list_dns_records

Список записей в нескольких зонах за один вызов. Параллельно для каждой зоны.

create_a_record

Создание A-записи. proxied по умолчанию false.

create_cname_record

Создание CNAME-записи. proxied по умолчанию false.

toggle_proxy

Включение/выключение прокси по ID записи или по имени (+ опционально тип).

bulk_toggle_proxy

Включение/выключение прокси для множества записей за один вызов (общий параметр proxied).

update_dns_record

Изменение content, ttl, proxied или comment для записи.

bulk_update_dns_record

Изменение множества записей за один вызов с индивидуальными полями для каждой.

delete_dns_record

Удаление записи по ID. Деструктивное действие.

Все инструменты принимают либо доменное имя ("example.com"), либо 32-символьный ID зоны в качестве аргумента zone.

Формат результатов массовых операций

Массовые инструменты возвращают результаты для каждого элемента; единичная ошибка не прерывает выполнение пакета:

{
  "succeeded": 10,
  "failed": 1,
  "results": [
    { "zone": "example.com", "ok": true,  "record": { "id": "…", "proxied": true } },
    { "zone": "other.com",   "ok": false, "error": "No proxyable record found for 'www.other.com'." }
  ]
}

isError: true устанавливается в ответе инструмента, если хотя бы один элемент завершился с ошибкой, при этом возвращаются результаты для всех элементов.

Разработка

Требуется Bun (рекомендуется) или Node 18+.

bun install
bun run dev         # run src/index.ts with --watch
bun run start       # run src/index.ts once
bun run typecheck   # tsc --noEmit
bun run build       # emit dist/ for publishing

Чтобы запустить копию для разработки в качестве MCP-сервера вместо опубликованного пакета, укажите в .mcp.json путь к вашей локальной сборке:

{
  "mcpServers": {
    "cloudflare": {
      "command": "bun",
      "args": ["/abs/path/to/mcp-cloudflare/src/index.ts"],
      "env": { "CLOUDFLARE_API_TOKEN": "cf-token-here" }
    }
  }
}

Сервер использует stdio — ваш MCP-клиент запускает процесс и обменивается данными через stdin/stdout.

Лицензия

MIT

Related MCP Connectors

Related MCP Servers