mcp-victorialogs — Claude Code MCP server: query VictoriaLogs
Connects your agent to a VictoriaLogs instance: log queries, streams and fields, stats as metrics. Bundled docs are searchable offline.
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.0What mcp-victorialogs 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.
What it helps with
- 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 for the agent
- Show me the latest errors from the
nginxstream today - Which fields does the
app-logsstream have? - Build a metric of record counts grouped by log level
How to install mcp-victorialogs
Platform CLI
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.0Replace <…> with your own values
Platform CLI
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.0Replace <…> with your own values
Config file
{
"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
Config file
{
"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
Platform CLI
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.0Replace <…> with your own values
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about mcp-victorialogs
How do I install mcp-victorialogs in Claude Code?
Run `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`. Fill in your instance address and token.
What does mcp-victorialogs do?
It wires an agent into the VictoriaLogs API for log queries, stream and field listings, and statistics. It also searches bundled documentation with no network access.
Can I try it without installing anything?
Yes. A public instance at https://play-vmlogs-mcp.victoriametrics.com/mcp runs in Streamable HTTP mode. It points at the public VictoriaLogs playground, so your own data stays out of it.