Skip to main content
Glama

Cloudflare MCP Server

by GutMutCode

Servidor MCP de Cloudflare para IDE

El Protocolo de Contexto de Modelo (MCP) es un nuevo protocolo estandarizado para gestionar el contexto entre grandes modelos de lenguaje (LLM) y sistemas externos. En este repositorio, ofrecemos un instalador y un servidor MCP para la API de Cloudflare .

Esto le permite usar Claude Desktop y IDE como VSCode (Cline) y Windsurf o cualquier cliente MCP, para usar lenguaje natural para lograr cosas en su cuenta de Cloudflare, por ejemplo:

  • Please deploy me a new Worker with an example durable object.
  • Can you tell me about the data in my D1 database named '...'?
  • Can you copy all the entries from my KV namespace '...' into my R2 bucket '...'?

Manifestación

Configuración

  1. Ejecute npx @gutmutcode/mcp-server-cloudflare init
  2. Reinicie Claude Desktop, debería ver un pequeño ícono 🔨 que muestra las siguientes herramientas disponibles para su uso:
  3. Consulta el archivo de configuración de Cline; deberías ver una sección cloudflare con tu ID de cuenta de Cloudflare.
  4. Revisa tu archivo de configuración MCP de Windsurf; deberías ver una sección cloudflare . Windsurf tiene limitaciones en el uso de herramientas MCP, por lo que no puedes usar demasiadas simultáneamente. (A diferencia de Cline y Claude)

Características

Gestión de tiendas KV

  • get_kvs : enumera todos los espacios de nombres KV en su cuenta
  • kv_get : obtiene un valor de un espacio de nombres KV
  • kv_put : Almacenar un valor en un espacio de nombres KV
  • kv_list : Lista de claves en un espacio de nombres KV
  • kv_delete : eliminar una clave de un espacio de nombres KV

Gestión de almacenamiento R2

  • r2_list_buckets : enumera todos los depósitos R2 en su cuenta
  • r2_create_bucket : Crea un nuevo depósito R2
  • r2_delete_bucket : eliminar un depósito R2
  • r2_list_objects : enumera objetos en un depósito R2
  • r2_get_object : Obtener un objeto de un depósito R2
  • r2_put_object : Colocar un objeto en un depósito R2
  • r2_delete_object : eliminar un objeto de un depósito R2

Gestión de bases de datos D1

  • d1_list_databases : enumera todas las bases de datos D1 en su cuenta
  • d1_create_database : Crea una nueva base de datos D1
  • d1_delete_database : Eliminar una base de datos D1
  • d1_query : Ejecuta una consulta SQL contra una base de datos D1

Gestión de trabajadores

  • worker_list : Lista todos los trabajadores en tu cuenta
  • worker_get : obtiene el contenido del script de un trabajador
  • worker_put : Crea o actualiza un script de trabajador
  • worker_delete : eliminar un script de trabajador

Analítica

  • analytics_get : recupera datos analíticos para tu dominio
    • Incluye métricas como solicitudes, ancho de banda, amenazas y páginas vistas.
    • Admite filtrado por rango de fechas

Desarrollo

En la carpeta del proyecto actual, ejecute:

pnpm install pnpm build:watch

Luego, en una segunda terminal:

node dist/index.js init

Esto vinculará Claude Desktop con su versión instalada localmente para que pueda probarla.

Uso fuera de Claude

Para ejecutar el servidor localmente, ejecute node dist/index run <account-id> .

Si usa un cliente MCP alternativo o realiza pruebas locales, ejecute el comando tools/list para obtener una lista actualizada de todas las herramientas disponibles. Después, puede llamarlas directamente con el comando tools/call .

trabajadores

// List workers worker_list() // Get worker code worker_get({ name: "my-worker" }) // Update worker worker_put({ name: "my-worker", script: "export default { async fetch(request, env, ctx) { ... }}", bindings: [ { type: "kv_namespace", name: "MY_KV", namespace_id: "abcd1234" }, { type: "r2_bucket", name: "MY_BUCKET", bucket_name: "my-files" } ], compatibility_date: "2024-01-01", compatibility_flags: ["nodejs_compat"] }) // Delete worker worker_delete({ name: "my-worker" })

Tienda KV

// List KV namespaces get_kvs() // Get value kv_get({ namespaceId: "your_namespace_id", key: "myKey" }) // Store value kv_put({ namespaceId: "your_namespace_id", key: "myKey", value: "myValue", expirationTtl: 3600 // optional, in seconds }) // List keys kv_list({ namespaceId: "your_namespace_id", prefix: "app_", // optional limit: 10 // optional }) // Delete key kv_delete({ namespaceId: "your_namespace_id", key: "myKey" })

Almacenamiento R2

// List buckets r2_list_buckets() // Create bucket r2_create_bucket({ name: "my-bucket" }) // Delete bucket r2_delete_bucket({ name: "my-bucket" }) // List objects in bucket r2_list_objects({ bucket: "my-bucket", prefix: "folder/", // optional delimiter: "/", // optional limit: 1000 // optional }) // Get object r2_get_object({ bucket: "my-bucket", key: "folder/file.txt" }) // Put object r2_put_object({ bucket: "my-bucket", key: "folder/file.txt", content: "Hello, World!", contentType: "text/plain" // optional }) // Delete object r2_delete_object({ bucket: "my-bucket", key: "folder/file.txt" })

Base de datos D1

// List databases d1_list_databases() // Create database d1_create_database({ name: "my-database" }) // Delete database d1_delete_database({ databaseId: "your_database_id" }) // Execute a single query d1_query({ databaseId: "your_database_id", query: "SELECT * FROM users WHERE age > ?", params: ["25"] // optional }) // Create a table d1_query({ databaseId: "your_database_id", query: ` CREATE TABLE users ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, email TEXT UNIQUE, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ) ` })

Analítica

// Get today's analytics analytics_get({ zoneId: "your_zone_id", since: "2024-11-26T00:00:00Z", until: "2024-11-26T23:59:59Z" })

Contribuyendo

¡Agradecemos sus contribuciones! No dude en enviar una solicitud de incorporación de cambios.

-
security - not tested
A
license - permissive license
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Un servidor MCP que permite utilizar lenguaje natural para administrar recursos de Cloudflare (Workers, KV, R2, D1) a través de Claude Desktop, VSCode y otros clientes MCP.

  1. Manifestación
    1. Configuración
      1. Características
        1. Gestión de tiendas KV
        2. Gestión de almacenamiento R2
        3. Gestión de bases de datos D1
        4. Gestión de trabajadores
        5. Analítica
      2. Desarrollo
        1. Uso fuera de Claude
          1. trabajadores
          2. Tienda KV
          3. Almacenamiento R2
          4. Base de datos D1
          5. Analítica
        2. Contribuyendo

          Related MCP Servers

          • -
            security
            A
            license
            -
            quality
            Lets you use Claude Desktop, or any MCP Client, to use natural language to accomplish things on your Cloudflare account.
            Last updated -
            2,413
            2,244
            TypeScript
            Apache 2.0
            • Apple
          • -
            security
            A
            license
            -
            quality
            A lightweight MCP server for managing DNS records, purging cache, and interacting with the Cloudflare API through natural language commands.
            Last updated -
            13
            TypeScript
            MIT License
          • -
            security
            A
            license
            -
            quality
            A package that connects Claude Desktop and other MCP clients to Cloudflare Workers, enabling custom functionality to be accessed via natural language through the Model Context Protocol.
            Last updated -
            1,942
            457
            TypeScript
            Apache 2.0
          • -
            security
            F
            license
            -
            quality
            A deployable MCP (Model Context Protocol) server on Cloudflare Workers that doesn't require authentication, allowing users to create and access custom AI tools through Claude Desktop or the Cloudflare AI Playground.
            Last updated -
            TypeScript

          View all related MCP servers

          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/GutMutCode/mcp-server-cloudflare'

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