Skip to main content
Glama
m4tyn0

InfluxDB MCP Server

by m4tyn0

Servidor MCP de InfluxDB

Un servidor de Protocolo de contexto de modelo (MCP) que proporciona acceso seguro y de solo lectura a InfluxDB 1.8 a través de la autenticación JWT.

Descripción general

El servidor MCP de InfluxDB permite a los asistentes de IA consultar datos de series temporales almacenados en InfluxDB mediante una interfaz estandarizada. Proporciona acceso de solo lectura a su instancia de InfluxDB con autenticación mediante tokens JWT.

Related MCP server: MongoDB MCP Server

Prerrequisitos

  • Estibador

  • Instancia de InfluxDB 1.8 (ya en ejecución)

  • Credenciales para su instancia de InfluxDB

Instalación

  1. Clonar el repositorio :

    git clone https://github.com/m4tyn0/influx_mcp
    cd influxdb-mcp-server
  2. Crea un archivo .env con tu configuración:

    cp env.example .env
    INFLUXDB_HOST=
    INFLUXDB_PORT=8086
    INFLUXDB_USERNAME=
    INFLUXDB_PASSWORD=
    INFLUXDB_SSL=false
    INFLUXDB_VERIFY_SSL=true
    INFLUXDB_TIMEOUT=10
    JWT_SECRET=
    JWT_ALGORITHM=HS256
  3. Construya y ejecute el contenedor Docker :

    docker build -t influxdb-mcp-server .
    docker run -d --env-file .env -p 8000:8000 influxdb-mcp-server

Autenticación JWT

El servidor utiliza tokens JWT para la autenticación. Necesita generar un token para autenticarse con el servidor MCP. Aquí tiene un script sencillo para hacerlo:

import jwt
import datetime

# Create a token
payload = {
    "sub": "username",  # Replace with the username you want to identify with
    "iat": datetime.datetime.utcnow(),
    "exp": datetime.datetime.utcnow() + datetime.timedelta(hours=1)
}
token = jwt.encode(payload, "your-jwt-secret", algorithm="HS256")
print(token)

Guarde este token para usarlo con su cliente MCP.

Uso con clientes MCP

  1. Autenticarse con el servidor MCP usando el token JWT:

    Tool: auth
    Arguments: {"token": "your.jwt.token.here"}
  2. Consulta tus datos de InfluxDB :

    Tool: list_databases
    Arguments: {}
    Tool: list_measurements
    Arguments: {"database": "your_database_name"}
    Tool: query
    Arguments: {
      "database": "your_database_name",
      "query": "SELECT * FROM measurement_name LIMIT 10"
    }

Solución de problemas

Si encuentra problemas:

  1. Errores de conexión a InfluxDB :

    • Verifique que INFLUXDB_HOST sea correcto y accesible desde el contenedor Docker

    • Verifique que sus credenciales de InfluxDB sean correctas

    • Asegúrese de que su instancia de InfluxDB esté configurada para aceptar conexiones de hosts externos

  2. Problemas de autenticación :

    • Verifique que su JWT_SECRET esté configurado correctamente

    • Asegúrese de que el token que está utilizando coincida con JWT_SECRET y no haya expirado

    • Verifique que sus credenciales de InfluxDB tengan acceso de lectura a las bases de datos

  3. Comprobar registros :

    docker logs 

Notas de seguridad

  • El servidor MCP solo permite acceso de solo lectura a su instancia de InfluxDB

  • Todas las consultas se validan para garantizar que comiencen con SELECT

  • La autenticación JWT protege el acceso al servidor MCP

  • Considere ejecutar el servidor en una red privada para mayor seguridad

Gracias por colaborar conmigo. Si tienes algún problema con el código o quieres que se creen más cosas, contáctame: m4tyn0@gmail.com

-
security - not tested
F
license - not found
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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/m4tyn0/influx_mcp'

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