# mcp-victorialogs

Connects your agent to a VictoriaLogs instance: log queries, streams and fields, stats as metrics. Bundled docs are searchable offline.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 105
- Author: VictoriaMetrics
- License: Apache-2.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/VictoriaMetrics/mcp-victorialogs
- Updated: 2026-10-16
- HTML: https://affpapa.org/en/nevibecode/mcp/victoriametrics-mcp-victorialogs

## What it does

The server exposes nearly every read-only VictoriaLogs API, matching what the Web UI offers. Your agent can explore logs, read instance parameters, list streams and fields with their values, and turn log statistics into metrics. In Streamable HTTP mode the root endpoint serves a UI with setup steps and a tool listing.

Documentation ships inside the binary, so searching it needs no network. Install options cover Go, prebuilt binaries, Docker and a Helm chart. Building from source takes Go 1.26 or newer. Nothing works until a VictoriaLogs instance exists — single-node or cluster, either one.

A public instance at `https://play-vmlogs-mcp.victoriametrics.com/mcp` lets you test before installing. It runs in Streamable HTTP mode against the public VictoriaLogs playground. That URL belongs in an MCP client, not a browser tab. Configuration goes through `VL_INSTANCE_ENTRYPOINT`, `VL_INSTANCE_BEARER_TOKEN` and `MCP_DISABLED_TOOLS`.

## Requirements
- Needs: Docker
- Environment variables: `VL_INSTANCE_ENTRYPOINT`, `VL_INSTANCE_BEARER_TOKEN`, `MCP_DISABLED_TOOLS` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env VL_INSTANCE_ENTRYPOINT=<VL_INSTANCE_ENTRYPOINT> --env VL_INSTANCE_BEARER_TOKEN=<VL_INSTANCE_BEARER_TOKEN> --env MCP_DISABLED_TOOLS=<MCP_DISABLED_TOOLS> --transport stdio victoriametrics-mcp-victorialogs -- docker run -i --rm -e VL_INSTANCE_ENTRYPOINT -e VL_INSTANCE_BEARER_TOKEN -e MCP_DISABLED_TOOLS ghcr.io/victoriametrics/mcp-victorialogs:1.9.0
```
Replace <…> with your own values

### Codex

**Platform CLI**
```bash
codex mcp add victoriametrics-mcp-victorialogs --env VL_INSTANCE_ENTRYPOINT=<VL_INSTANCE_ENTRYPOINT> --env VL_INSTANCE_BEARER_TOKEN=<VL_INSTANCE_BEARER_TOKEN> --env MCP_DISABLED_TOOLS=<MCP_DISABLED_TOOLS> -- docker run -i --rm -e VL_INSTANCE_ENTRYPOINT -e VL_INSTANCE_BEARER_TOKEN -e MCP_DISABLED_TOOLS ghcr.io/victoriametrics/mcp-victorialogs:1.9.0
```
Replace <…> with your own values

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "victoriametrics-mcp-victorialogs": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "-e",
                "VL_INSTANCE_ENTRYPOINT",
                "-e",
                "VL_INSTANCE_BEARER_TOKEN",
                "-e",
                "MCP_DISABLED_TOOLS",
                "ghcr.io/victoriametrics/mcp-victorialogs:1.9.0"
            ],
            "env": {
                "VL_INSTANCE_ENTRYPOINT": "<VL_INSTANCE_ENTRYPOINT>",
                "VL_INSTANCE_BEARER_TOKEN": "<VL_INSTANCE_BEARER_TOKEN>",
                "MCP_DISABLED_TOOLS": "<MCP_DISABLED_TOOLS>"
            }
        }
    }
}
```
Replace <…> with your own values

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "victoriametrics-mcp-victorialogs": {
            "type": "stdio",
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "-e",
                "VL_INSTANCE_ENTRYPOINT",
                "-e",
                "VL_INSTANCE_BEARER_TOKEN",
                "-e",
                "MCP_DISABLED_TOOLS",
                "ghcr.io/victoriametrics/mcp-victorialogs:1.9.0"
            ],
            "env": {
                "VL_INSTANCE_ENTRYPOINT": "<VL_INSTANCE_ENTRYPOINT>",
                "VL_INSTANCE_BEARER_TOKEN": "<VL_INSTANCE_BEARER_TOKEN>",
                "MCP_DISABLED_TOOLS": "<MCP_DISABLED_TOOLS>"
            }
        }
    }
}
```
Replace <…> with your own values

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e VL_INSTANCE_ENTRYPOINT=<VL_INSTANCE_ENTRYPOINT> -e VL_INSTANCE_BEARER_TOKEN=<VL_INSTANCE_BEARER_TOKEN> -e MCP_DISABLED_TOOLS=<MCP_DISABLED_TOOLS> victoriametrics-mcp-victorialogs docker run -i --rm -e VL_INSTANCE_ENTRYPOINT -e VL_INSTANCE_BEARER_TOKEN -e MCP_DISABLED_TOOLS ghcr.io/victoriametrics/mcp-victorialogs:1.9.0
```
Replace <…> with your own values

## When to use it
- check what is happening in logs without opening the Web UI
- find a stream and its fields by name
- turn log statistics into metrics
- look up query syntax in the bundled docs
- inspect the parameters of a VictoriaLogs instance

## Example prompts
- Show me the latest errors from the `nginx` stream today
- Which fields does the `app-logs` stream have?
- Build a metric of record counts grouped by log level

## Similar
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33918
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81115
- [Oh My Posh Validator](https://affpapa.org/en/nevibecode/mcp/oh-my-posh-validator.md) — MCP server · ★ 23643
- [Keploy](https://affpapa.org/en/nevibecode/mcp/keploy.md) — MCP server · ★ 18727
- [Coder](https://affpapa.org/en/nevibecode/mcp/coder.md) — MCP server · ★ 17160
- [mcp](https://affpapa.org/en/nevibecode/mcp/kubeshark-mcp.md) — MCP server · ★ 12109

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
