remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Simple Loki MCP Server
Loki MCP Server is a Model Context Protocol (MCP) interface for querying Grafana Loki logs using logcli
. The server enables AI assistants to access and analyze log data from Loki directly.
Features
- Query Loki logs with full LogQL support
- Get label values and metadata
- Authentication and configuration support via environment variables or config files
- Provides formatted results in different output formats (default, raw, JSON lines)
Prerequisites
- Node.js v16 or higher
- TypeScript
- Grafana Loki logcli installed and accessible in your PATH
- Access to a Loki server instance
Installation
- Clone the repository:
- Install dependencies:
- Build the project:
Configuration
You can configure Loki access using:
Environment Variables
LOKI_ADDR
: Loki server address (URL)LOKI_USERNAME
: Username for basic authLOKI_PASSWORD
: Password for basic authLOKI_TENANT_ID
: Tenant ID for multi-tenant LokiLOKI_BEARER_TOKEN
: Bearer token for authenticationLOKI_BEARER_TOKEN_FILE
: File containing bearer tokenLOKI_CA_FILE
: Custom CA file for TLSLOKI_CERT_FILE
: Client certificate file for TLSLOKI_KEY_FILE
: Client key file for TLSLOKI_ORG_ID
: Organization ID for multi-org setupsLOKI_TLS_SKIP_VERIFY
: Skip TLS verification ("true" or "false")LOKI_CONFIG_PATH
: Custom path to config fileDEBUG
: Enable debug logging
Config Files
Alternatively, create a logcli-config.yaml
file in one of these locations:
- Custom path specified by
LOKI_CONFIG_PATH
- Current working directory
- Your home directory (
~/.logcli-config.yaml
)
Example config file:
Usage
Start the server:
For development:
Available MCP Tools
query-loki
Query logs from Loki with filtering options.
Parameters:
query
(required): Loki query string (LogQL)from
: Start timestamp (e.g. "2023-01-01T12:00:00Z")to
: End timestamp (e.g. "2023-01-01T13:00:00Z")limit
: Maximum number of logs to returnbatch
: Batch size for query resultsoutput
: Output format ("default", "raw", or "jsonl")quiet
: Suppress query metadataforward
: Display results in chronological order
get-label-values
Retrieve all values for a specific label.
Parameters:
label
(required): Label name to get values for
get-labels
Retrieve all available labels.
No parameters required.
Development
License
This project is licensed under the MIT License - see the LICENSE.md file for details.
This server cannot be installed
An MCP interface that allows AI assistants to query and analyze Grafana Loki logs using LogQL, with support for authentication and various output formats.