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
            F
            license
            -
            quality
            A server for hosting Model Context Protocol (MCP) tools on Cloudflare Workers with OAuth authentication, allowing Claude AI and other MCP clients to access extended capabilities.
            Last updated -
            TypeScript
          • -
            security
            F
            license
            -
            quality
            A deployable MCP server on Cloudflare Workers that provides tools without requiring authentication, allowing users to connect from Cloudflare AI Playground or Claude Desktop.
            Last updated -
            TypeScript
          • A
            security
            F
            license
            A
            quality
            A server that enables Model Context Protocol (MCP) functionality on Cloudflare Workers with OAuth login, allowing applications like Claude Desktop to access custom tools through a standardized interface.
            Last updated -
            2
            9
            TypeScript
          • -
            security
            F
            license
            -
            quality
            A Cloudflare Workers-based MCP server that allows users to deploy and customize tools without authentication requirements, compatible with Cloudflare AI Playground and Claude Desktop.
            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