Servidor MCP de Loki simple
El servidor MCP de Loki es una interfaz de Protocolo de Contexto de Modelo (MCP) para consultar los registros de Grafana Loki mediante logcli . El servidor permite a los asistentes de IA acceder y analizar los datos de registro de Loki directamente.
Características
Consulta de registros de Loki con compatibilidad total con LogQL
Obtener valores de etiquetas y metadatos
Soporte de autenticación y configuración a través de variables de entorno o archivos de configuración
Proporciona resultados formateados en diferentes formatos de salida (predeterminado, sin procesar, líneas JSON)
Retorno automático a la API HTTP cuando
logclino está disponible en el entorno
Related MCP server: Cloud Logging API Server
Prerrequisitos
Node.js v16 o superior
Mecanografiado
(Opcional) Logcli de Grafana Loki instalado y accesible en su PATH. Si
logclino está disponible, el servidor usará automáticamente la API HTTP de Loki.Acceso a una instancia del servidor Loki
Instalación
Instalación mediante herrería
Para instalar Simple Loki MCP Server para Claude Desktop automáticamente a través de Smithery :
para MCP
npm
Clonar el repositorio:
Instalar dependencias:
Construir el proyecto:
Herramientas MCP disponibles
consulta-loki
Consultar registros de Loki con opciones de filtrado.
Parámetros:
query(obligatoria): cadena de consulta de Loki (LogQL)from: Marca de tiempo de inicio (p. ej., "2023-01-01T12:00:00Z")to: Marca de tiempo de finalización (p. ej., "2023-01-01T13:00:00Z")limit: Número máximo de registros a devolverbatch: tamaño del lote para los resultados de la consultaoutput: Formato de salida ("predeterminado", "sin procesar" o "jsonl")quiet: suprimir metadatos de consultaforward: Mostrar los resultados en orden cronológico
obtener valores de etiqueta
Recuperar todos los valores para una etiqueta específica.
Parámetros:
label(obligatorio): Nombre de la etiqueta para la que se obtendrán los valores
obtener etiquetas
Recupere todas las etiquetas disponibles.
No se requieren parámetros.
Configuración
Puedes configurar el acceso a Loki usando:
Variables de entorno
LOKI_ADDR: Dirección del servidor Loki (URL)LOKI_USERNAME: Nombre de usuario para autenticación básicaLOKI_PASSWORD: Contraseña para autenticación básicaLOKI_TENANT_ID: ID de inquilino para Loki multiinquilinoLOKI_BEARER_TOKEN: Token portador para autenticaciónLOKI_BEARER_TOKEN_FILE: Archivo que contiene el token portadorLOKI_CA_FILE: Archivo CA personalizado para TLSLOKI_CERT_FILE: Archivo de certificado de cliente para TLSLOKI_KEY_FILE: Archivo de clave de cliente para TLSLOKI_ORG_ID: ID de organización para configuraciones multiorganizacionalesLOKI_TLS_SKIP_VERIFY: Omitir la verificación TLS ("verdadero" o "falso")LOKI_CONFIG_PATH: Ruta personalizada al archivo de configuraciónDEBUG: Habilitar el registro de depuración
Nota : Cuando el cliente utiliza el modo API HTTP (cuando
logclino está disponible), se utilizan los mismos parámetros de configuración para autenticarse y conectarse al servidor Loki.
Archivos de configuración
Alternativamente, cree un archivo logcli-config.yaml en una de estas ubicaciones:
Ruta personalizada especificada por
LOKI_CONFIG_PATHDirectorio de trabajo actual
Su directorio de inicio (
~/.logcli-config.yaml)
Ejemplo de archivo de configuración:
Uso
Iniciar el servidor:
Para desarrollo:
Detalles de implementación
Retorno automático a la API HTTP
El servidor comprobará automáticamente si logcli está instalado y disponible en el entorno:
Si
logcliestá disponible, se utilizará para todas las consultas, proporcionando la funcionalidad completa de la herramienta CLI.Si
logclino está disponible, el servidor recurrirá automáticamente al uso de la API HTTP de Loki:No se necesita ninguna configuración adicional
Los mismos parámetros de autenticación se utilizan para la API HTTP
El formato de la respuesta es consistente con la salida de la CLI
El límite predeterminado de 1000 registros por consulta se aplica en ambos modos
Esta detección automática garantiza que el servidor funcione sin problemas en diferentes entornos sin necesidad de configuración manual.
Desarrollo
Licencia
Este proyecto está licenciado bajo la licencia MIT: consulte el archivo LICENSE.md para obtener más detalles.