Skip to main content
Glama
SquarePiSigma5

cloudflare-dns-mcp-server

cloudflare-dns-mcp-server

Сервер Model Context Protocol (MCP), который позволяет любому MCP-совместимому LLM-клиенту (Claude Code, Claude Desktop, пользовательским коннекторам claude.ai, Cursor и другим) читать и редактировать DNS-записи в вашем аккаунте Cloudflare. Он работает как потоковый HTTP-сервер (stateless JSON-режим, текущий стандарт MCP для удалённых серверов) с режимом stdio для клиентов, которые запускают локальные дочерние процессы.

Инструменты

Инструмент

Что делает

cloudflare_verify_token

Подтверждает, что токен API действителен и активен

cloudflare_list_zones

Перечисляет домены, которыми может управлять токен

cloudflare_list_dns_records

Перечисляет/фильтрует записи в зоне (источник ID записей)

cloudflare_get_dns_record

Получает одну запись по ID

cloudflare_create_dns_record

Создаёт записи A/AAAA/CNAME/MX/TXT/SRV/CAA и т.д.

cloudflare_update_dns_record

Частичное обновление; возвращает состояние до/после, чтобы изменения можно было откатить

cloudflare_delete_dns_record

Удаление (требуется confirm=true); возвращает снимок для воссоздания

cloudflare_export_zone

Экспортирует зону в файл BIND — сделайте резервную копию перед массовыми изменениями

Related MCP server: cloudflare-dns-mcp-server

Установка

Требуется Node.js 20+.

1. Создайте ограниченный API-токен Cloudflare. В панели управления Cloudflare перейдите в My Profile → API Tokens → Create Token → используйте шаблон Edit zone DNS и в разделе Zone Resources ограничьте его конкретными зонами, которыми должна управлять модель. Не используйте Global API Key — ограниченный токен означает, что в худшем случае радиус поражения — это DNS только на этих зонах.

2. Установите и соберите:

npm install
npm run build

3. Настройте и запустите:

cp .env.example .env   # fill in tokens, then either export them or use a loader
export CLOUDFLARE_API_TOKEN="cf_..."
export MCP_AUTH_TOKEN="$(openssl rand -hex 24)"   # protects the MCP endpoint itself
npm start

Конечная точка MCP теперь доступна по адресу http://127.0.0.1:8787/mcp (проверка работоспособности — /healthz). Переменные окружения: HOST (по умолчанию 127.0.0.1), PORT (по умолчанию 8787), TRANSPORT (http по умолчанию или stdio), ALLOWED_ORIGINS (дополнительные браузерные источники, через запятую).

4. Быстрая проверка:

MCP_AUTH_TOKEN="<same token>" npm run smoke

Это подключается через реальный MCP-клиент, выводит список из 8 инструментов и вызывает cloudflare_verify_token. Также можно указать MCP Inspector URL: npx @modelcontextprotocol/inspector.

Подключение клиентов

Claude Code:

claude mcp add --transport http cloudflare-dns http://127.0.0.1:8787/mcp \
  --header "Authorization: Bearer $MCP_AUTH_TOKEN"

Cursor / другие клиенты с JSON-конфигурацией — любой клиент, поддерживающий потоковый HTTP с пользовательскими заголовками, работает так же:

{
  "mcpServers": {
    "cloudflare-dns": {
      "url": "http://127.0.0.1:8787/mcp",
      "headers": { "Authorization": "Bearer <MCP_AUTH_TOKEN>" }
    }
  }
}

Клиенты, которые запускают только локальные stdio-серверы:

{
  "mcpServers": {
    "cloudflare-dns": {
      "command": "node",
      "args": ["/path/to/cloudflare-dns-mcp-server/dist/index.js"],
      "env": { "CLOUDFLARE_API_TOKEN": "cf_...", "TRANSPORT": "stdio" }
    }
  }
}

Пользовательские коннекторы claude.ai / Claude mobile требуют публичный HTTPS-URL — они не могут обращаться к localhost. Самый быстрый путь — Cloudflare Tunnel с машины, на которой запущен сервер:

cloudflared tunnel --url http://127.0.0.1:8787

Важное предостережение: пользовательский интерфейс коннектора claude.ai аутентифицируется через OAuth или вообще никак — в нём нет поля для статического bearer-заголовка. Это оставляет два варианта для удалённого использования: разместить туннель за Cloudflare Access (сервисная аутентификация) и завершать аутентификацию там, либо запускать без MCP_AUTH_TOKEN и полагаться на секретность URL туннеля — что является заметно более слабой защитой для того, что может редактировать ваш DNS. При использовании Cloudflare Tunnel сервер по-прежнему привязывается к 127.0.0.1, поэтому согласие не требуется; но если вы открываете порт напрямую, а не через туннель, неаутентифицированная привязка не к localhost требует ALLOW_UNAUTHENTICATED=true. Проверьте текущие варианты аутентификации коннектора claude.ai перед выбором; это меняется со временем.

Замечания по безопасности

Сервер по умолчанию привязывается к 127.0.0.1 и отказывается запускаться без CLOUDFLARE_API_TOKEN. Если вы привязываетесь к любому другому адресу без установленного MCP_AUTH_TOKEN, он отказывается запускаться — любой, кто может достучаться до порта, сможет редактировать ваш DNS — если только вы не установите ALLOW_UNAUTHENTICATED=true, что допустимо только когда аутентификация завершается выше по потоку (например, Cloudflare Access). Запросы из браузерных источников отклоняются, если они не с localhost или не из ALLOWED_ORIGINS (защита от DNS-ребдинга). Токены читаются из окружения, никогда не логируются и не возвращаются ни одним инструментом.

Что касается безопасности модели: удаление требует явного аргумента confirm=true, обновления возвращают состояние до/после, чтобы любое изменение можно было откатить, а cloudflare_export_zone даёт резервную копию BIND в один вызов — стоит попросить модель выполнить его перед массовыми правками. DNS-изменения распространяются в реальный интернет; неверная запись может вывести сайт или почту из строя, поэтому проверяйте то, что предлагает модель, прежде чем допускать её к боевым зонам.

Разработка

npm run build    # compile TypeScript → dist/
npm start        # run HTTP server
npm run smoke    # end-to-end client test against the running server

Структура исходников: src/index.ts (транспорты, middleware аутентификации), src/cloudflare.ts (API-клиент, разрешение зон, форматирование), src/tools.ts (регистрация инструментов).

Лицензия

MIT

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
1hResponse time
Release cycle
Releases (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

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

  • Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.

  • An MCP server that integrates with Discord to provide AI-powered features.

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/SquarePiSigma5/CloudFlareMCP'

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