mcp-victorialogs

MCP.Pizza Chef: VictoriaMetrics-Community

The mcp-victorialogs is an MCP server implementation that integrates with VictoriaLogs, enabling comprehensive read-only access to logs data, instance parameters, and query statistics. It supports almost all VictoriaLogs APIs used in the Web UI, facilitating advanced log querying, exploration, and observability workflows. This server empowers engineers and tools to automate and interact with VictoriaLogs instances seamlessly for debugging and monitoring purposes.

Use This MCP server To

Query and explore logs data from VictoriaLogs instances Retrieve parameters and configuration details of VictoriaLogs List available log streams, fields, and field values Access query statistics for performance and usage analysis Integrate VictoriaLogs data into AI workflows for observability Automate log-based debugging and monitoring tasks Enable real-time log data retrieval for incident response Combine VictoriaLogs logs with other data sources via MCP

README

VictoriaLogs MCP Server

The implementation of Model Context Protocol (MCP) server for VictoriaLogs.

This provides access to your VictoriaLogs instance and seamless integration with VictoriaLogs APIs and documentation. It can give you a comprehensive interface for logs, observability, and debugging tasks related to your VictoriaLogs instances, enable advanced automation and interaction capabilities for engineers and tools.

Features

This MCP server allows you to use almost all read-only APIs of VictoriaLogs, i.e. all functions available in Web UI:

  • Querying logs and exploring logs data
  • Showing parameters of your VictoriaLogs instance
  • Listing available streams, fields, field values
  • Query statistics for the logs as metrics

In addition, the MCP server contains embedded up-to-date documentation and is able to search it without online access.

More details about the exact available tools and prompts can be found in the Usage section.

You can combine functionality of tools, docs search in your prompts and invent great usage scenarios for your VictoriaLogs instance. And please note the fact that the quality of the MCP Server and its responses depends very much on the capabilities of your client and the quality of the model you are using.

You can also combine the MCP server with other observability or doc search related MCP Servers and get even more powerful results.

Requirements

  • VictoriaLogs instance (single-node or cluster)
  • Go 1.24 or higher (if you want to build from source)

Installation

Go

go install github.com/VictoriaMetrics-Community/mcp-victorialogs/cmd/mcp-victorialogs@latest

Source Code

git clone https://github.com/VictoriaMetrics-Community/mcp-victorialogs.git
cd mcp-victorialogs
go build -o bin/mcp-victorialogs ./cmd/mcp-victorialogs/main.go

# after that add bin/mcp-victorialogs file to your PATH

Binaries

Just download the latest release from Releases page and put it to your PATH.

Docker

Coming soon...

Configuration

MCP Server for VictoriaLogs is configured via environment variables:

Variable Description Required Default Allowed values
VL_INSTANCE_ENTRYPOINT URL to VictoriaLogs instance Yes - -
VL_INSTANCE_BEARER_TOKEN Authentication token for VictoriaLogs API No - -
MCP_SERVER_MODE Server operation mode No stdio stdio, sse
MCP_SSE_ADDR Address for SSE server to listen on No :8081 -

Сonfiguration examples

# For a public playground
export VL_INSTANCE_ENTRYPOINT="https://play-vmlogs.victoriametrics.com"

# Server mode
export MCP_SERVER_MODE="sse"
export MCP_SSE_ADDR="0.0.0.0:8081"

Setup in clients

Cursor

Go to: Settings -> Cursor Settings -> MCP -> Add new global MCP server and paste the following configuration into your Cursor ~/.cursor/mcp.json file:

{
  "mcpServers": {
    "victorialogs": {
      "command": "/path/to/mcp-victorialogs",
      "env": {
        "VL_INSTANCE_ENTRYPOINT": "<YOUR_VL_INSTANCE>",
        "VL_INSTANCE_BEARER_TOKEN": "<YOUR_VL_BEARER_TOKEN>"
      }
    }
  }
}

See Cursor MCP docs for more info.

Claude Desktop

Add this to your Claude Desktop claude_desktop_config.json file (you can find it if open Settings -> Developer -> Edit config):

{
  "mcpServers": {
    "victorialogs": {
      "command": "/path/to/mcp-victorialogs",
      "env": {
        "VL_INSTANCE_ENTRYPOINT": "<YOUR_VL_INSTANCE>",
        "VL_INSTANCE_BEARER_TOKEN": "<YOUR_VL_BEARER_TOKEN>"
      }
    }
  }
}

See Claude Desktop MCP docs for more info.

Claude Code

Run the command:

claude mcp add victorialogs -- /path/to/mcp-victorialogs \
  -e VL_INSTANCE_ENTRYPOINT=<YOUR_VL_INSTANCE> \
  -e VL_INSTANCE_BEARER_TOKEN=<YOUR_VL_BEARER_TOKEN>

See Claude Code MCP docs for more info.

Visual Studio Code

Add this to your VS Code MCP config file:

{
  "servers": {
    "victorialogs": {
      "type": "stdio",
      "command": "/path/to/mcp-victorialogs",
      "env": {
        "VL_INSTANCE_ENTRYPOINT": "<YOUR_VL_INSTANCE>",
        "VL_INSTANCE_BEARER_TOKEN": "<YOUR_VL_BEARER_TOKEN>"
      }
    }
  }
}

See VS Code MCP docs for more info.

Zed

Add the following to your Zed config file:

  "context_servers": {
    "victorialogs": {
      "command": {
        "path": "/path/to/mcp-victorialogs",
        "args": [],
        "env": {
          "VL_INSTANCE_ENTRYPOINT": "<YOUR_VL_INSTANCE>",
          "VL_INSTANCE_BEARER_TOKEN": "<YOUR_VL_BEARER_TOKEN>"
        }
      },
      "settings": {}
    }
  }

See Zed MCP docs for more info.

JetBrains IDEs

  • Open Settings -> Tools -> AI Assistant -> Model Context Protocol (MCP).
  • Click Add (+)
  • Select As JSON
  • Put the following to the input field:
{
  "mcpServers": {
    "victorialogs": {
      "command": "/path/to/mcp-victorialogs",
      "env": {
        "VL_INSTANCE_ENTRYPOINT": "<YOUR_VL_INSTANCE>",
        "VL_INSTANCE_BEARER_TOKEN": "<YOUR_VL_BEARER_TOKEN>"
      }
    }
  }
}

Windsurf

Add the following to your Windsurf MCP config file.

{
  "mcpServers": {
    "victorialogs": {
      "command": "/path/to/mcp-victorialogs",
      "env": {
        "VL_INSTANCE_ENTRYPOINT": "<YOUR_VL_INSTANCE>",
        "VL_INSTANCE_BEARER_TOKEN": "<YOUR_VL_BEARER_TOKEN>"
      }
    }
  }
}

See Windsurf MCP docs for more info.

Amazon Bedrock

Coming soon....

Using Docker instead of binary

Coming soon...

Usage

After installing and configuring the MCP server, you can start using it with your favorite MCP client.

You can start dialog with AI assistant from the phrase:

Use MCP VictoriaLogs in the following answers

But it's not required, you can just start asking questions and the assistant will automatically use the tools and documentation to provide you with the best answers.

Toolset

MCP VictoriaLogs provides numerous tools for interacting with your VictoriaLogs instance.

Here's a list of available tools:

Tool Description
documentation Search in embedded VictoriaLogs documentation
facets Most frequent values per each log field
field_names List of field names for the query
field_values List of field values for the query
flags View non-default flags of the VictoriaLogs instance
hits The number of matching log entries grouped by buckets
query Execute LogsQL queries
stats_query Querying log stats for the given time
stats_query_range Querying log stats on the given time range
stream_field_names List of stream fields for the query
stream_field_names List of stream field values for the query
stream_ids List of stream IDs for the query
streams List of streams for the query

Prompts

The server includes pre-defined prompts for common tasks.

These are just examples at the moment, the prompt library will be added to in the future:

Prompt Description
documentation Search VictoriaLogs documentation for specific topics

Disclaimer

AI services and agents along with MCP servers like this cannot guarantee the accuracy, completeness and reliability of results. You should double check the results obtained with AI. The quality of the MCP Server and its responses depends very much on the capabilities of your client and the quality of the model you are using.

Contributing

Contributions to the MCP VictoriaLogs project are welcome! Please feel free to submit issues, feature requests, or pull requests.

mcp-victorialogs FAQ

How does mcp-victorialogs connect to my VictoriaLogs instance?
It uses VictoriaLogs HTTP APIs to securely query and retrieve logs and metadata.
Can I write or modify logs using mcp-victorialogs?
No, this MCP server provides read-only access to VictoriaLogs data and does not support write operations.
What types of queries can I perform with mcp-victorialogs?
You can perform log queries, explore streams, fields, and retrieve query statistics similar to VictoriaLogs Web UI.
Is authentication required to use mcp-victorialogs?
Yes, it supports authentication methods compatible with VictoriaLogs HTTP API to ensure secure access.
Can mcp-victorialogs be used with multiple VictoriaLogs instances?
Yes, it can be configured to connect to different VictoriaLogs instances as needed.
Does mcp-victorialogs support integration with multiple LLM providers?
Yes, it is designed to work with various LLMs like OpenAI, Claude, and Gemini through the MCP protocol.
How does mcp-victorialogs handle large volumes of log data?
It leverages VictoriaLogs efficient querying capabilities and streams data as needed to optimize performance.
What are the main benefits of using mcp-victorialogs?
It simplifies log data access, enables automation, and integrates VictoriaLogs observability into AI workflows.