Mcp Victoriatraces

io.github.VictoriaMetrics-CommunityPublished by GitHub account VictoriaMetrics-Communityv1.5.0Updated Oct 24, 2026

MCP Server for VictoriaTraces. Provides integration with VictoriaTraces API and documentation

Overview

AI-generated overview

Local MCP server that connects an AI assistant to a VictoriaTraces instance for read-only trace, service and dependency queries plus offline docs search.

What you can do
List traced services and their span names (operations). Query traces and fetch a single trace by ID. Query the service dependency graph. Search embedded VictoriaTraces documentation without online access.
When to use it
Useful when debugging or investigating distributed traces in a VictoriaTraces deployment and you want the assistant to pull services, traces and dependencies directly, or look up VictoriaTraces docs offline.
Requirements
Runs as a local process (binary, Go build, Docker image or Helm chart). Requires a reachable VictoriaTraces instance URL in VT_INSTANCE_ENTRYPOINT; VT_INSTANCE_BEARER_TOKEN is optional for authenticated APIs. Network access to the instance is needed.
Before you install
The bearer token in VT_INSTANCE_BEARER_TOKEN and any custom headers in VT_INSTANCE_HEADERS are credentials sent to your VictoriaTraces instance; keep them out of shared configs. The server is described as read-only, but it queries live observability data, and the README warns AI results should be double-checked.

Installation

In SourceWeft

  1. Open Mcp Victoriatraces in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

VictoriaTraces MCP Server

[Latest Release] [Trust Score] [License] [Slack] [X] [Reddit]

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

This provides access to your VictoriaTraces instance and seamless integration with VictoriaTraces APIs and documentation. It can give you a comprehensive interface for traces, observability, and debugging tasks related to your VictoriaTraces 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 VictoriaTraces:

  • Get services and operations (span names)
  • Query traces, explore and analyze traces data

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 VictoriaTraces 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 MCP Servers and get even more powerful results.

Requirements

Installation

Go

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

Binaries

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

Example for Linux x86_64 (note that other architectures and platforms are also available):

bash
latest=$(curl -s https://api.github.com/repos/VictoriaMetrics-Community/mcp-victoriatraces/releases/latest | grep 'tag_name' | cut -d\" -f4)wget https://github.com/VictoriaMetrics-Community/mcp-victoriatraces/releases/download/$latest/mcp-victoriatraces_Linux_x86_64.tar.gztar axvf mcp-victoriatraces_Linux_x86_64.tar.gz

Docker

You can run VictoriaTraces MCP Server using Docker.

This is the easiest way to get started without needing to install Go or build from source.

bash
docker run -d --name mcp-victoriatraces \  -e VT_INSTANCE_ENTRYPOINT=https://localhost:10428 \  -e MCP_SERVER_MODE=http \  -e MCP_LISTEN_ADDR=:8081 \  -p 8081:8081 \  ghcr.io/victoriametrics-community/mcp-victoriatraces

You should replace environment variables with your own parameters.

Note that the MCP_SERVER_MODE=http flag is used to enable Streamable HTTP mode. More details about server modes can be found in the Configuration section.

See available docker images in github registry.

Also see Using Docker instead of binary section for more details about using Docker with MCP server with clients in stdio mode.

Source Code

For building binary from source code you can use the following approach:

  • Clone repo:

    bash
    git clone https://github.com/VictoriaMetrics-Community/mcp-victoriatraces.gitcd mcp-victoriatraces
  • Build binary from cloned source code:

    bash
    make build# after that you can find binary mcp-victoriatraces and copy this file to your PATH or run inplace
  • Build image from cloned source code:

    bash
    docker build -t mcp-victoriatraces .# after that you can use docker image mcp-victoriatraces for running or pushing

Helm

Check out VictoriaTraces MCP Server Helm chart documentation for more details about installation using Helm.

Configuration

MCP Server for VictoriaTraces is configured via environment variables:

VariableDescriptionRequiredDefaultAllowed values
VT_INSTANCE_ENTRYPOINTURL to VictoriaTraces instanceYes--
VT_INSTANCE_BEARER_TOKENAuthentication token for VictoriaTraces APINo--
VT_INSTANCE_HEADERSCustom HTTP headers to send with requests (comma-separated key=value pairs)No--
VT_DEFAULT_TENANT_IDDefault tenant ID used when tenant is not specified in requests (format: AccountID:ProjectID or AccountID)No0:0-
MCP_SERVER_MODEServer operation mode. See Modes for details.Nostdiostdio, sse, http
MCP_LISTEN_ADDRAddress for SSE or HTTP server to listen onNolocalhost:8081-
MCP_DISABLED_TOOLSComma-separated list of tools to disableNo--
MCP_HEARTBEAT_INTERVALDefines the heartbeat interval for the streamable-http protocol.
It means the MCP server will send a heartbeat to the client through the GET connection,
to keep the connection alive from being closed by the network infrastructure (e.g. gateways)
No30s-
MCP_LOG_FORMATLog output formatNotexttext, json
MCP_LOG_LEVELMinimum log levelNoinfodebug, info, warn, error

Modes

MCP Server supports the following modes of operation (transports):

  • stdio - Standard input/output mode, where the server reads commands from standard input and writes responses to standard output. This is the default mode and is suitable for local servers.
  • sse - Server-Sent Events. Server will expose the /sse and /message endpoints for SSE connections.
  • http - Streamable HTTP. Server will expose the /mcp endpoint for HTTP connections.

More info about traqnsports you can find in MCP docs:

Сonfiguration examples

bash
export VT_INSTANCE_ENTRYPOINT="https://localhost:10428"
# Custom headers for authentication (e.g., behind a reverse proxy)# Expected syntax is key=value separated by commasexport VT_INSTANCE_HEADERS="<HEADER>=<HEADER_VALUE>,<HEADER>=<HEADER_VALUE>"
# Server modeexport MCP_SERVER_MODE="sse"export MCP_SSE_ADDR="0.0.0.0:8082"

Endpoints

In SSE and HTTP modes the MCP server provides the following endpoints:

EndpointDescription
/sse + /messageEndpoints for messages in SSE mode (for MCP clients that support SSE)
/mcpHTTP endpoint for streaming messages in HTTP mode (for MCP clients that support Streamable HTTP)
/metricsMetrics in Prometheus format for monitoring the MCP server
/health/livenessLiveness check endpoint to ensure the server is running
/health/readinessReadiness check endpoint to ensure the server is ready to accept requests

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:

json
{  "mcpServers": {    "victoriatraces": {      "command": "/path/to/mcp-victoriatraces",      "env": {        "VT_INSTANCE_ENTRYPOINT": "<YOUR_VT_INSTANCE>",        "VT_INSTANCE_BEARER_TOKEN": "<YOUR_VT_BEARER_TOKEN>",        "VT_INSTANCE_HEADERS": "<HEADER>=<HEADER_VALUE>,<HEADER>=<HEADER_VALUE>"      }    }  }}

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):

json
{  "mcpServers": {    "victoriatraces": {      "command": "/path/to/mcp-victoriatraces",      "env": {        "VT_INSTANCE_ENTRYPOINT": "<YOUR_VT_INSTANCE>",        "VT_INSTANCE_BEARER_TOKEN": "<YOUR_VT_BEARER_TOKEN>",        "VT_INSTANCE_HEADERS": "<HEADER>=<HEADER_VALUE>,<HEADER>=<HEADER_VALUE>"      }    }  }}

See Claude Desktop MCP docs for more info.

Claude Code

Run the command:

sh
claude mcp add victoriatraces -- /path/to/mcp-victoriatraces \  -e VT_INSTANCE_ENTRYPOINT=<YOUR_VT_INSTANCE> \  -e VT_INSTANCE_BEARER_TOKEN=<YOUR_VT_BEARER_TOKEN> \  -e VT_INSTANCE_HEADERS="<HEADER>=<HEADER_VALUE>,<HEADER>=<HEADER_VALUE>"

See Claude Code MCP docs for more info.

Visual Studio Code

Add this to your VS Code MCP config file:

json
{  "servers": {    "victoriatraces": {      "type": "stdio",      "command": "/path/to/mcp-victoriatraces",      "env": {        "VT_INSTANCE_ENTRYPOINT": "<YOUR_VT_INSTANCE>",        "VT_INSTANCE_BEARER_TOKEN": "<YOUR_VT_BEARER_TOKEN>",        "VT_INSTANCE_HEADERS": "<HEADER>=<HEADER_VALUE>,<HEADER>=<HEADER_VALUE>"      }    }  }}

See VS Code MCP docs for more info.

Zed

Add the following to your Zed config file:

json
  "context_servers": {    "victoriatraces": {      "command": {        "path": "/path/to/mcp-victoriatraces",        "args": [],        "env": {          "VT_INSTANCE_ENTRYPOINT": "<YOUR_VT_INSTANCE>",          "VT_INSTANCE_BEARER_TOKEN": "<YOUR_VT_BEARER_TOKEN>",          "VT_INSTANCE_HEADERS": "<HEADER>=<HEADER_VALUE>,<HEADER>=<HEADER_VALUE>"        }      },      "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:
json
{  "mcpServers": {    "victoriatraces": {      "command": "/path/to/mcp-victoriatraces",      "env": {        "VT_INSTANCE_ENTRYPOINT": "<YOUR_VT_INSTANCE>",        "VT_INSTANCE_BEARER_TOKEN": "<YOUR_VT_BEARER_TOKEN>",        "VT_INSTANCE_HEADERS": "<HEADER>=<HEADER_VALUE>,<HEADER>=<HEADER_VALUE>"      }    }  }}

Windsurf

Add the following to your Windsurf MCP config file.

json
{  "mcpServers": {    "victoriatraces": {      "command": "/path/to/mcp-victoriatraces",      "env": {        "VT_INSTANCE_ENTRYPOINT": "<YOUR_VT_INSTANCE>",        "VT_INSTANCE_BEARER_TOKEN": "<YOUR_VT_BEARER_TOKEN>",        "VT_INSTANCE_HEADERS": "<HEADER>=<HEADER_VALUE>,<HEADER>=<HEADER_VALUE>"      }    }  }}

See Windsurf MCP docs for more info.

Using Docker instead of binary

You can run VictoriaTraces MCP Server using Docker instead of local binary.

You should replace run command in configuration examples above in the following way:

{  "mcpServers": {    "victoriatraces": {      "command": "docker",        "args": [          "run",          "-i", "--rm",          "-e", "VT_INSTANCE_ENTRYPOINT",          "-e", "VT_INSTANCE_BEARER_TOKEN",          "-e", "VT_INSTANCE_HEADERS",          "ghcr.io/victoriametrics-community/mcp-victoriatraces",        ],      "env": {        "VT_INSTANCE_ENTRYPOINT": "<YOUR_VT_INSTANCE>",        "VT_INSTANCE_BEARER_TOKEN": "<YOUR_VT_BEARER_TOKEN>",        "VT_INSTANCE_HEADERS": "<HEADER>=<HEADER_VALUE>,<HEADER>=<HEADER_VALUE>"      }    }  }}

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 VictoriaTraces 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 VictoriaTraces provides numerous tools for interacting with your VictoriaTraces instance.

Here's a list of available tools:

ToolDescription
documentationSearch in embedded VictoriaTraces documentation
servicesList of all traced services
service_namesGet all the span names (operations) of a service
tracesQuery traces
traceGet trace info by trace ID
dependenciesQuery the service dependency graph

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:

PromptDescription
documentationSearch VictoriaTraces documentation for specific topics

Roadmap

  • Implement multitenant version of MCP (that will support several deployments)
  • Add service graph tool after release of this feature (see the PR)

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 depend very much on the capabilities of your client and the quality of the model you are using.

Contributing

Contributions to the MCP VictoriaTraces project are welcome!

Please feel free to submit issues, feature requests, or pull requests.

Source: README.md at commit ace79e7

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v1.5.0LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts