Skip to content

BitLurker/cloudflare-mcp-server

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cloudflare MCP Server (non-official but stronged audited).

In this repository we offer the Cloudflare MCP Server developed by @avilaroman and complete installation guide, with an easy podman solution including a complete tutorial for installation of Goose created by Block, Goose is the new modern Open Source Agent LLM Solution Goose is the tool that commnunicate with MCP servers and manipulate uniplexed data from, they come to replace to another LLMs runners and agentics vibe codding tools or loaders, because is robust is simple and efficient and is Open Source!, we include the installation with RamaLama another big deploy of the RedHat ecosystem, Ramalama is a new concept of get running the LLM and getting all in pods or podman containers, RamaLama replace Ollama with a new and nice solution because Ollama can be containerized but is not native support for these envoriment.

Esto le permite usar Claude Desktop, o cualquier cliente MCP, para usar lenguaje natural y lograr cosas en su cuenta de Cloudflare, por ejemplo:

  • Implemente un nuevo Worker con un objeto duradero de ejemplo.
  • ¿Puede informarme sobre los datos en mi base de datos D1 llamada '...'?
  • ¿Puede copiar todas las entradas de mi espacio de nombres KV '...' en mi depósito R2 '...'?

Demostración

Configuración

  1. Ejecuta npx @cloudflare/mcp-server-cloudflare init
  2. o clona localmente tu repo: "git clone https://github.com/avilaroman/MCP.git"
Ejemplo de salida de consola
  1. Reinicia Claude Desktop. Deberías ver un pequeño ícono 🔨 que muestra las siguientes herramientas disponibles para usar:
Ejemplo de ícono de herramienta Ejemplo de lista de herramientas

Características

Administración de almacenamiento de KV

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

Administración de almacenamiento de R2

  • r2_list_buckets: enumera todos los depósitos de R2 en su cuenta
  • r2_create_bucket: crea un nuevo depósito de R2
  • r2_delete_bucket: eliminar un depósito R2
  • r2_list_objects: enumerar 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

Administración de bases de datos D1

  • d1_list_databases: enumerar todas las bases de datos D1 en su cuenta
  • d1_create_database: crear una nueva base de datos D1
  • d1_delete_database: eliminar una base de datos D1
  • d1_query: ejecutar una consulta SQL en una base de datos D1

Administración de Workers

  • worker_list: enumerar todos los Workers en su cuenta
  • worker_get: obtener el contenido del script de un Workers
  • worker_put: crear o actualizar un script de Worker
  • worker_delete: eliminar un script de Worker

Análisis

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

Desarrollo

En la carpeta del proyecto actual,

git clone https://github.com/avilaroman/MCP.git
cd MCP

luego 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 está usando un cliente MCP alternativo o está probando cosas localmente, emita el comando tools/list para obtener una lista actualizada de todas las herramientas disponibles. Luego, puede llamarlas directamente usando el comando tools/call.

Workers

// Listar Workers
worker_list()

// Obtener el código del Worker
worker_get({ name: "my-worker" })

// Actualizar 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"
}
],
compatible_date: "2024-01-01",
compatible_flags: ["nodejs_compat"]
})

// Eliminar Workers
worker_delete({ name: "my-worker" })

KV Store

// Lista de espacios de nombres de KV
get_kvs()

// Obtener valor
kv_get({
namespaceId: "your_namespace_id",
key: "myKey"
})

// Almacenar valor
kv_put({
namespaceId: "your_namespace_id",
key: "myKey",
value: "myValue",
expirationTtl: 3600 // opcional, en segundos
})

// Lista de claves
kv_list({
namespaceId: "your_namespace_id",
prefix: "app_", // opcional
limit: 10 // opcional
})

// Eliminar clave
kv_delete({
namespaceId: "your_namespace_id",
key: "myKey"
})

R2 Almacenamiento

// Lista de depósitos
r2_list_buckets()

// Crear depósito
r2_create_bucket({ name: "my-bucket" })

// Eliminar depósito
r2_delete_bucket({ name: "my-bucket" })

// Listar objetos en el depósito
r2_list_objects({
depósito: "my-bucket",
prefijo: "carpeta/", // opcional
delimitador: "/", // opcional
límite: 1000 // opcional
})

// Obtener objeto
r2_get_object({
depósito: "my-bucket",
clave: "carpeta/archivo.txt"
})

// Poner objeto
r2_put_object({

About

Cloudflare MCP Server is a datapipe orchestation services focused for RedHat OS family with podman compatibility, include a wide range of tools IA Agents

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 97.6%
  • JavaScript 2.4%