Other MCP Server · MODEL CONTEXT PROTOCOL
ghrud92 simple loki mcp
ghrud92 simple loki mcp is a community-listed Model Context Protocol server. Review the source repository before installation.
连接能力
ghrud92 simple loki mcp 为 AI Agent 提供什么
- 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)
- Automatic fallback to HTTP API when `logcli` is not available in the environment
- Node.js v16 or higher
- TypeScript
- (Optional) [Grafana Loki logcli](https://grafana.com/docs/loki/latest/tools/logcli/) installed and accessible in your PATH. If `logcli` is not available, the server will automatically use the Loki HTTP API instead
- Access to a Loki server instance
- Clone the repository:
- Install dependencies:
- Build the project:
- `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 return
- `batch`: Batch size for query results
- `output`: Output format ("default", "raw", or "jsonl")
- `quiet`: Suppress query metadata
- `forward`: Display results in chronological order
- `label` (required): Label name to get values for
- `LOKI_ADDR`: Loki server address (URL)
- `LOKI_USERNAME`: Username for basic auth
- `LOKI_PASSWORD`: Password for basic auth
- `LOKI_TENANT_ID`: Tenant ID for multi-tenant Loki
- `LOKI_BEARER_TOKEN`: Bearer token for authentication
- `LOKI_BEARER_TOKEN_FILE`: File containing bearer token
- `LOKI_CA_FILE`: Custom CA file for TLS
- `LOKI_CERT_FILE`: Client certificate file for TLS
- `LOKI_KEY_FILE`: Client key file for TLS
- `LOKI_ORG_ID`: Organization ID for multi-org setups
- `LOKI_TLS_SKIP_VERIFY`: Skip TLS verification ("true" or "false")
- `LOKI_CONFIG_PATH`: Custom path to config file
- `DEBUG`: Enable debug logging
- Custom path specified by `LOKI_CONFIG_PATH`
- Current working directory
- Your home directory (`~/.logcli-config.yaml`)
- If `logcli` is available, it will be used for all queries, providing the full functionality of the CLI tool
- If `logcli` is not available, the server will automatically fall back to using the Loki HTTP API:
- No additional configuration is needed
- The same authentication parameters are used for the HTTP API
- Response formatting is consistent with the CLI output
- Default limit of 1000 logs per query is applied in both modes
安全
MCP 收录不等于安全审核
MCP 服务器可能获得模型上下文、凭据、本地文件或调用外部系统的权限。连接 Agent 前,请检查代码、环境变量、网络行为、软件包来源与维护状态。
README
仓库文档
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.
- 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)
- Automatic fallback to HTTP API when
logcliis not available in the environment
- Node.js v16 or higher
- TypeScript
- (Optional) Grafana Loki logcli installed and accessible in your PATH. If
logcliis not available, the server will automatically use the Loki HTTP API instead - Access to a Loki server instance
To install Simple Loki MCP Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @ghrud92/simple-loki-mcp --client claude{
"mcpServers": {
"simple-loki": {
"command": "npx",
"args": ["-y", "simple-loki-mcp"],
"env": {
"LOKI_ADDR": "https://loki.sup.band"
}
}
}
}- Clone the repository:
git clone https://github.com/ghrud92/loki-mcp.git
cd loki-mcp- Install dependencies:
npm install- Build the project:
npm run buildQuery 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
Retrieve all values for a specific label.
Parameters:
label(required): Label name to get values for
Retrieve all available labels.
No parameters required.
You can configure Loki access using:
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
Note: When the client is using the HTTP API mode (when
logcliis not available), the same configuration parameters are used to authenticate and connect to the Loki server.
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:
addr: https://loki.example.com
username: user
password: pass
tenant_id: mytenantStart the server:
npm startFor development:
npm run devThe server will automatically check if logcli is installed and available in the environment:
- If
logcliis available, it will be used for all queries, providing the full functionality of the CLI tool - If
logcliis not available, the server will automatically fall back to using the Loki HTTP API:- No additional configuration is needed
- The same authentication parameters are used for the HTTP API
- Response formatting is consistent with the CLI output
- Default limit of 1000 logs per query is applied in both modes
This automatic detection ensures that the server works seamlessly in different environments without manual configuration.
# Run linter
npm run lint
# Fix linting issues
npm run lint:fix
# Run tests
npm run testThis project is licensed under the MIT License - see the LICENSE.md file for details.
社区