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: MCP Auth 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

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    A Model Context Protocol server that provides Claude with access to InfluxDB time-series database instances, enabling data writing, querying, and management of organizations and buckets through natural language.
    4
    1,268 npm
    46
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A selective, aggregation-first MCP server for InfluxDB v2 that bounds output and pushes reduction to the database, avoiding context flooding from raw time-series data.
    MIT