frescales/influxmcp
If you are the rightful owner of influxmcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
InfluxMCP is a Model Context Protocol (MCP) server for InfluxDB, deployed on Cloudflare Workers, enabling AI assistants like Claude to interact with InfluxDB time-series databases.
🚀 InfluxMCP - InfluxDB MCP Server en Cloudflare Workers
Un servidor Model Context Protocol (MCP) para InfluxDB desplegado en Cloudflare Workers que permite a Claude y otros asistentes de IA interactuar con bases de datos de series temporales InfluxDB.
✨ Características
- 📊 Recursos: Acceso a organizaciones y buckets de InfluxDB
- 🛠️ Herramientas: Escritura de datos, consultas Flux, creación de buckets y organizaciones
- 💡 Prompts: Ejemplos de consultas Flux y guía de Line Protocol
- 🌍 Global: Desplegado en la red global de Cloudflare
- ⚡ Rápido: Latencia ultra-baja desde cualquier ubicación
- 🔒 Seguro: Manejo seguro de tokens y autenticación
🛠️ Recursos Disponibles
influxdb://orgs
Lista todas las organizaciones disponibles en la instancia InfluxDB.
influxdb://buckets
Muestra todos los buckets con sus metadatos correspondientes.
🔧 Herramientas Disponibles
write-data
Escribe datos de series temporales en formato line protocol.
- Parámetros:
org(string): Nombre de la organizaciónbucket(string): Nombre del bucketdata(string): Datos en formato line protocol de InfluxDBprecision(opcional): Precisión del timestamp (ns, us, ms, s)
query-data
Ejecuta consultas Flux en InfluxDB.
- Parámetros:
org(string): Nombre de la organizaciónquery(string): Consulta Flux
create-bucket
Crea un nuevo bucket en InfluxDB.
- Parámetros:
name(string): Nombre del bucketorgID(string): ID de la organizaciónretentionPeriodSeconds(opcional): Período de retención en segundos
create-org
Crea una nueva organización.
- Parámetros:
name(string): Nombre de la organizacióndescription(opcional): Descripción de la organización
💡 Prompts Disponibles
flux-query-examples
Ejemplos comunes de consultas Flux para diferentes casos de uso.
line-protocol-guide
Guía completa del formato Line Protocol de InfluxDB.
⚙️ Configuración
Variables de Entorno Requeridas
Configura las siguientes variables en el dashboard de Cloudflare Workers:
INFLUXDB_TOKEN(requerido): Token de autenticación para la API de InfluxDBINFLUXDB_URL(opcional): URL de la instancia InfluxDB (default: http://localhost:8086)INFLUXDB_ORG(opcional): Organización por defecto para ciertas operaciones
Configuración en Claude Desktop
Agrega el servidor a tu claude_desktop_config.json:
{
"mcpServers": {
"influxdb": {
"command": "npx",
"args": ["mcp-remote", "https://influxmcp.tu-cuenta.workers.dev/sse"],
"env": {}
}
}
}
Configuración en Cursor/Claude Code
{
"mcpServers": {
"influxdb": {
"command": "npx",
"args": ["mcp-remote", "https://influxmcp.tu-cuenta.workers.dev/sse"],
"env": {}
}
}
}
🚀 Despliegue
Opción 1: Usar Wrangler CLI
# Clonar el repositorio
git clone https://github.com/frescales/influxmcp.git
cd influxmcp
# Instalar dependencias
npm install
# Configurar variables de entorno
wrangler secret put INFLUXDB_TOKEN
# Desplegar
npm run deploy
Opción 2: Cloudflare Dashboard
- Ve al dashboard de Cloudflare Workers
- Crea un nuevo Worker
- Copia el código de
src/index.js - Configura las variables de entorno
- Despliega
📋 Ejemplos de Uso
Escribir Datos
// Usar la herramienta write-data
await mcp.tool("write-data", {
org: "mi-org",
bucket: "mi-bucket",
data: "temperature,location=sala1,sensor=A temp=23.5 1609459200000000000",
precision: "ns"
});
Consultar Datos
// Usar la herramienta query-data
await mcp.tool("query-data", {
org: "mi-org",
query: `
from(bucket: "mi-bucket")
|> range(start: -1h)
|> filter(fn: (r) => r._measurement == "temperature")
|> mean()
`
});
Crear Bucket
// Usar la herramienta create-bucket
await mcp.tool("create-bucket", {
name: "sensores-iot",
orgID: "tu-org-id",
retentionPeriodSeconds: 2592000 // 30 días
});
🔍 Formato Line Protocol
measurement,tag_key=tag_value field_key=field_value timestamp
# Ejemplos:
temperature,location=sala1,sensor=A temp=23.5 1609459200000000000
cpu,host=server01,core=1 usage=75.2,idle=24.8
memory,host=server01 used=8192000000i,available=4096000000i
🏗️ Estructura del Proyecto
influxmcp/
├── src/
│ └── index.js # Servidor MCP principal
├── package.json # Dependencias y scripts
├── wrangler.toml # Configuración de Cloudflare Workers
└── README.md # Documentación
🧪 Testing
El servidor incluye un endpoint de health check:
curl https://influxmcp.tu-cuenta.workers.dev/health
🔧 Desarrollo Local
# Ejecutar en modo desarrollo
npm run dev
# Ver logs en tiempo real
npm run tail
📊 Endpoints
/: Página de información y configuración/sse: Endpoint MCP para conexiones de clientes/health: Health check del servicio
🤝 Contribuir
- Fork el proyecto
- Crea tu feature branch (
git checkout -b feature/AmazingFeature) - Commit tus cambios (
git commit -m 'Add some AmazingFeature') - Push al branch (
git push origin feature/AmazingFeature) - Abre un Pull Request
📝 Licencia
Este proyecto está bajo la licencia MIT. Ver el archivo para más detalles.
🆘 Soporte
- Issues: GitHub Issues
- Email: losfrescales@gmail.com
🔗 Enlaces Útiles
⭐ Si este proyecto te resulta útil, ¡no olvides darle una estrella en GitHub!