cloudflare-api-mcp
Это облегченный сервер протокола управления моделью (MCP), загружаемый с помощью create-mcp и развернутый на Cloudflare Workers.
Этот сервер MCP позволяет агентам (таким как Cursor) взаимодействовать с Cloudflare REST API .
Он все еще находится в стадии разработки, я буду добавлять больше инструментов по мере необходимости.
Доступные инструменты
Текущий список инструментов см. в src/index.ts. Каждый метод в классе — это инструмент MCP.
Related MCP server: Cloudflare API MCP Server
Установка
Запустите скрипт автоматической установки, чтобы клонировать этот сервер MCP и развернуть его в своей учетной записи Cloudflare:
bun create mcp --clone https://github.com/zueai/cloudflare-api-mcpОткройте
Cursor Settings -> MCP -> Add new MCP serverи вставьте скопированную в буфер обмена команду.Загрузите свой ключ API Cloudflare и адрес электронной почты в ваши рабочие секреты:
bunx wrangler secret put CLOUDFLARE_API_KEY
bunx wrangler secret put CLOUDFLARE_API_EMAILМестное развитие
Добавьте свой ключ API Cloudflare и адрес электронной почты в файл .dev.vars :
CLOUDFLARE_API_KEY=<your-cloudflare-api-key>
CLOUDFLARE_API_EMAIL=<your-cloudflare-api-email>Развертывание
Запустите скрипт развертывания:
bun run deployПерезагрузите окно курсора, чтобы увидеть новые инструменты.
Как создать новые инструменты MCP
Чтобы создать новые инструменты MCP, добавьте методы в класс MyWorker в src/index.ts . Каждая функция автоматически станет инструментом MCP, который может использовать ваш агент.
Пример:
/**
* Create a new DNS record in a zone.
* @param zoneId {string} The ID of the zone to create the record in.
* @param name {string} The name of the DNS record.
* @param content {string} The content of the DNS record.
* @param type {string} The type of DNS record (CNAME, A, TXT, or MX).
* @param comment {string} Optional comment for the DNS record.
* @param proxied {boolean} Optional whether to proxy the record through Cloudflare.
* @return {object} The created DNS record.
*/
createDNSRecord(zoneId: string, name: string, content: string, type: string, comment?: string, proxied?: boolean) {
// Implementation
}Комментарии JSDoc важны:
Первая строка становится описанием инструмента.
Теги
@paramопределяют параметры инструмента с типами и описаниями.Тег
@returnопределяет возвращаемое значение и тип.