mcp-vmanomaly — Claude Code MCP server: what it does, how to install
Connects AI assistants to the vmanomaly REST API. It tunes anomaly detection models for VictoriaMetrics and produces alerting configurations.
claude mcp add --env VMANOMALY_ENDPOINT=<VMANOMALY_ENDPOINT> --env VMANOMALY_BEARER_TOKEN=<VMANOMALY_BEARER_TOKEN> --env VMANOMALY_BEARER_TOKEN_FILE=<VMANOMALY_BEARER_TOKEN_FILE> --env VMANOMALY_HEADERS=<VMANOMALY_HEADERS> --env MCP_SERVER_MODE=<MCP_SERVER_MODE> --transport stdio victoriametrics-mcp-vmanomaly -- docker run -i --rm -e VMANOMALY_ENDPOINT -e VMANOMALY_BEARER_TOKEN -e VMANOMALY_BEARER_TOKEN_FILE -e VMANOMALY_HEADERS -e MCP_SERVER_MODE ghcr.io/victoriametrics/mcp-vmanomaly:0.5.1What mcp-vmanomaly does
The server exposes vmanomaly REST endpoints to language models through the Model Context Protocol. It allows assistants to query engine health, inspect build metadata, and validate setups for univariate and multivariate detectors. Offline documentation search is also included via embedded docs.
The tool samples time series data to suggest shared configurations across multiple metrics. It translates calculated anomaly scores into alerting rules for vmalert and produces deployment-ready YAML specs.
A running vmanomaly instance is mandatory. Basic operations need version 1.28.3+, while autotuning and peer-group features require versions up to 1.31.0. Compiling the binary manually requires Go 1.26.9.
What it helps with
- Generate YAML configurations for vmanomaly
- Tune model parameters across multiple time series using autotune
- Produce alerting rules for vmalert based on anomaly metrics
- Search embedded vmanomaly documentation offline
Example prompts for the agent
- Check the health status and build info of my vmanomaly instance
- Generate a vmalert alerting rule using anomaly score metrics for CPU usage
- Profile these metric series and autotune a vmanomaly detection config
How to install mcp-vmanomaly
Platform CLI
claude mcp add --env VMANOMALY_ENDPOINT=<VMANOMALY_ENDPOINT> --env VMANOMALY_BEARER_TOKEN=<VMANOMALY_BEARER_TOKEN> --env VMANOMALY_BEARER_TOKEN_FILE=<VMANOMALY_BEARER_TOKEN_FILE> --env VMANOMALY_HEADERS=<VMANOMALY_HEADERS> --env MCP_SERVER_MODE=<MCP_SERVER_MODE> --transport stdio victoriametrics-mcp-vmanomaly -- docker run -i --rm -e VMANOMALY_ENDPOINT -e VMANOMALY_BEARER_TOKEN -e VMANOMALY_BEARER_TOKEN_FILE -e VMANOMALY_HEADERS -e MCP_SERVER_MODE ghcr.io/victoriametrics/mcp-vmanomaly:0.5.1Replace <…> with your own values. 7 more environment variables are in the server README
Platform CLI
codex mcp add victoriametrics-mcp-vmanomaly --env VMANOMALY_ENDPOINT=<VMANOMALY_ENDPOINT> --env VMANOMALY_BEARER_TOKEN=<VMANOMALY_BEARER_TOKEN> --env VMANOMALY_BEARER_TOKEN_FILE=<VMANOMALY_BEARER_TOKEN_FILE> --env VMANOMALY_HEADERS=<VMANOMALY_HEADERS> --env MCP_SERVER_MODE=<MCP_SERVER_MODE> -- docker run -i --rm -e VMANOMALY_ENDPOINT -e VMANOMALY_BEARER_TOKEN -e VMANOMALY_BEARER_TOKEN_FILE -e VMANOMALY_HEADERS -e MCP_SERVER_MODE ghcr.io/victoriametrics/mcp-vmanomaly:0.5.1Replace <…> with your own values. 7 more environment variables are in the server README
Config file
{
"mcpServers": {
"victoriametrics-mcp-vmanomaly": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"VMANOMALY_ENDPOINT",
"-e",
"VMANOMALY_BEARER_TOKEN",
"-e",
"VMANOMALY_BEARER_TOKEN_FILE",
"-e",
"VMANOMALY_HEADERS",
"-e",
"MCP_SERVER_MODE",
"ghcr.io/victoriametrics/mcp-vmanomaly:0.5.1"
],
"env": {
"VMANOMALY_ENDPOINT": "<VMANOMALY_ENDPOINT>",
"VMANOMALY_BEARER_TOKEN": "<VMANOMALY_BEARER_TOKEN>",
"VMANOMALY_BEARER_TOKEN_FILE": "<VMANOMALY_BEARER_TOKEN_FILE>",
"VMANOMALY_HEADERS": "<VMANOMALY_HEADERS>",
"MCP_SERVER_MODE": "<MCP_SERVER_MODE>"
}
}
}
}Replace <…> with your own values. 7 more environment variables are in the server README
Config file
{
"servers": {
"victoriametrics-mcp-vmanomaly": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"VMANOMALY_ENDPOINT",
"-e",
"VMANOMALY_BEARER_TOKEN",
"-e",
"VMANOMALY_BEARER_TOKEN_FILE",
"-e",
"VMANOMALY_HEADERS",
"-e",
"MCP_SERVER_MODE",
"ghcr.io/victoriametrics/mcp-vmanomaly:0.5.1"
],
"env": {
"VMANOMALY_ENDPOINT": "<VMANOMALY_ENDPOINT>",
"VMANOMALY_BEARER_TOKEN": "<VMANOMALY_BEARER_TOKEN>",
"VMANOMALY_BEARER_TOKEN_FILE": "<VMANOMALY_BEARER_TOKEN_FILE>",
"VMANOMALY_HEADERS": "<VMANOMALY_HEADERS>",
"MCP_SERVER_MODE": "<MCP_SERVER_MODE>"
}
}
}
}Replace <…> with your own values. 7 more environment variables are in the server README
Platform CLI
gemini mcp add -e VMANOMALY_ENDPOINT=<VMANOMALY_ENDPOINT> -e VMANOMALY_BEARER_TOKEN=<VMANOMALY_BEARER_TOKEN> -e VMANOMALY_BEARER_TOKEN_FILE=<VMANOMALY_BEARER_TOKEN_FILE> -e VMANOMALY_HEADERS=<VMANOMALY_HEADERS> -e MCP_SERVER_MODE=<MCP_SERVER_MODE> victoriametrics-mcp-vmanomaly docker run -i --rm -e VMANOMALY_ENDPOINT -e VMANOMALY_BEARER_TOKEN -e VMANOMALY_BEARER_TOKEN_FILE -e VMANOMALY_HEADERS -e MCP_SERVER_MODE ghcr.io/victoriametrics/mcp-vmanomaly:0.5.1Replace <…> with your own values. 7 more environment variables are in the server README
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-vmanomaly
How do I install mcp-vmanomaly in Claude Code?
Run this command in your terminal: `claude mcp add --env VMANOMALY_ENDPOINT=<VMANOMALY_ENDPOINT> --env VMANOMALY_BEARER_TOKEN=<VMANOMALY_BEARER_TOKEN> --env VMANOMALY_BEARER_TOKEN_FILE=<VMANOMALY_BEARER_TOKEN_FILE> --env VMANOMALY_HEADERS=<VMANOMALY_HEADERS> --env MCP_SERVER_MODE=<MCP_SERVER_MODE> --transport stdio victoriametrics-mcp-vmanomaly -- docker run -i --rm -e VMANOMALY_ENDPOINT -e VMANOMALY_BEARER_TOKEN -e VMANOMALY_BEARER_TOKEN_FILE -e VMANOMALY_HEADERS -e MCP_SERVER_MODE ghcr.io/victoriametrics/mcp-vmanomaly:0.5.1`. Replace the placeholders with your actual endpoint and token values.
What does mcp-vmanomaly do?
It connects AI models to vmanomaly to validate anomaly detection setups, generate configs, and write vmalert alerting rules. It also provides offline lookup inside bundled documentation.
Which vmanomaly versions are supported?
Core capabilities require vmanomaly 1.28.3 or higher. Advanced tasks such as shared autotune and peer-group tuning require versions 1.30.0 through 1.31.0.