Atlas / MCP servers / victoriametrics-community / VictoriaLogs

VictoriaLogsBLOCK

mcp/victoriametrics-community/victorialogs

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

Verdict
BLOCK
Grade
F
Trust score
43 /100
Exposed tools
—
Transport
stdio · streamable-http
License
Apache-2.0
Stars
99
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

[](https://github.com/VictoriaMetrics/mcp-victorialogs/releases)

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
Read from source at commit 3eca3d7b4ee3OBSERVED · 2026-10-08
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.

claude-code (oci)
claude mcp add mcp-victorialogs:${VERSION} --env VL_INSTANCE_BEARER_TOKEN=${VL_INSTANCE_BEARER_TOKEN} -- docker run -i --rm ghcr.io/victoriametrics/mcp-victorialogs:${VERSION}:None
03

Trust audit

BLOCKgrade F · trust 43/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryWARN
L1Static analysis of the codeFAIL
L2Instruction surface (what it tells the agent)FAIL
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (5 observation(s))
Network
declared (8 observation(s))
Shell
declared (4 observation(s))
Dependencies
not all pinned
Secrets in source
none-found

Findings (25)

HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
vendor/github.com/blevesearch/vellum/levenshtein/dfa.go:74
func (d *DFA) eval(bytes []uint8) Distance {
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
vendor/golang.org/x/sys/unix/syscall_unix.go:581
func Exec(argv0 string, argv []string, envv []string) error {
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
vendor/golang.org/x/sys/unix/syscall_zos_s390x.go:2734
func Exec(argv0 string, argv []string, envv []string) error {
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
vendor/golang.org/x/sys/unix/zerrors_zos_s390x.go:871
{257, "EDC5257I", "Function cannot be called in the child process of a fork() from a multithreaded process until exec() is called."},
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
HIGHPrompt injection · prompt.zero_width · CWE-94, CWE-1427
vendor/github.com/blevesearch/bleve/v2/search/facet/benchmark_data.txt:1220
Time zone	GMT (UTC)
Why it matters. invisible characters in instruction text
Fix. strip non-printing characters
MEDIUMInventory / provenance · inv.binary · CWE-1104
vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb
editions_defaults.binpb
Why it matters. a compiled or binary member cannot be reviewed from source
Fix. ship source, or explain the binary in the README
MEDIUMObfuscation / stealth · obf.anti_debug · CWE-506, CWE-94
vendor/golang.org/x/sys/unix/bpxsvc_zos.go:36
BPX4PTR = 320  // ptrace
MEDIUMObfuscation / stealth · obf.anti_debug · CWE-506, CWE-94
vendor/golang.org/x/sys/unix/mkerrors.sh:567
$2 ~ /^(O|F|[ES]?FD|NAME|S|PTRACE|PT|PIOD|TFD)_/ ||
MEDIUMObfuscation / stealth · obf.anti_debug · CWE-506, CWE-94
vendor/golang.org/x/sys/unix/ptrace_darwin.go:9
func ptrace(request int, pid int, addr uintptr, data uintptr) error {
MEDIUMObfuscation / stealth · obf.anti_debug · CWE-506, CWE-94
vendor/golang.org/x/sys/unix/ptrace_ios.go:9
func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
MEDIUMObfuscation / stealth · obf.anti_debug · CWE-506, CWE-94
vendor/golang.org/x/sys/unix/syscall_darwin.go:230
func PtraceAttach(pid int) (err error) { return ptrace(PT_ATTACH, pid, 0, 0) }
MEDIUMObfuscation / stealth · obf.homoglyph · CWE-506, CWE-94
vendor/golang.org/x/text/internal/number/tables.go:321
".,;%+-E׉∞NaN:\u00a0\u200e%\u200e\u200e+\u200e-ليس\u00a0رقمًا٪NDТерхьаш" +
MEDIUMObfuscation / stealth · obf.homoglyph · CWE-506, CWE-94
vendor/golang.org/x/text/internal/number/tables.go:323
"იZMdMсан\u00a0емес¤¤¤сан\u00a0эмесບໍ່\u200bແມ່ນ\u200bໂຕ\u200bເລກNSဂဏန်" +
MEDIUMObfuscation / stealth · obf.homoglyph · CWE-506, CWE-94
vendor/golang.org/x/text/internal/number/tables.go:324
"းမဟုတ်သောННне\u00a0числочыыһыла\u00a0буотах·10^epilohosan\u00a0dälTFЕs" +
MEDIUMObfuscation / stealth · obf.homoglyph · CWE-506, CWE-94
vendor/golang.org/x/text/internal/number/tables.go:325
"on\u00a0emasҳақиқий\u00a0сон\u00a0эмас非數值非数值٫٬؛٪\u061c\u061c+\u061c-اس؉ل" +
LOWInventory / provenance · inv.hidden_file · CWE-1104
.golangci.yml
.golangci.yml
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.hidden_file · CWE-1104
.goreleaser.yaml
.goreleaser.yaml
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.hidden_file · CWE-1104
.wwhrd.yml
.wwhrd.yml
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.hidden_file · CWE-1104
vendor/github.com/RoaringBitmap/roaring/v2/.drone.yml
.drone.yml
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.hidden_file · CWE-1104
vendor/github.com/RoaringBitmap/roaring/v2/.gitmodules
.gitmodules
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
cmd/mcp-victorialogs/resources/vm/docs/victorialogs/README.md:574
curl http://0.0.0.0:9428/debug/pprof/heap > mem.pprof
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
cmd/mcp-victorialogs/resources/vm/docs/victorialogs/README.md:580
curl http://0.0.0.0:9428/debug/pprof/profile > cpu.pprof
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
cmd/mcp-victorialogs/resources/vm/docs/victorialogs/vlagent.md:636
curl http://0.0.0.0:9429/debug/pprof/heap > mem.pprof
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
cmd/mcp-victorialogs/resources/vm/docs/victorialogs/vlagent.md:642
curl http://0.0.0.0:9429/debug/pprof/profile > cpu.pprof
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
cmd/mcp-victorialogs/resources/vm/docs/victorialogs/vmalert.md:62
Datasource address supporting log stats APIs, which can be a single VictoriaLogs node or a proxy in front of VictoriaLogs. Supports an address in the form of an IP address with a port (e.g., http://12

Gates applied: no_behavioural_pass.

Audited 2026-10-08 · audit v0.4.1 · source sha 3eca3d7b4ee3full audit observations/trust-audit/mcp-server/victoriametrics-community__victorialogs.json · Report an issue / request a re-scan
04

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-083eca3d7b4ee3BLOCKF43first audit
05

Questions

What is the VictoriaLogs MCP server?

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

Is VictoriaLogs safe to connect to an agent?

No — not without reading the findings first. The audit graded it F (43/100) and found 5 critical or high issues in the source. Each one is listed on this page with the file and line it is on.

What credentials does VictoriaLogs need?

It reads VL_INSTANCE_BEARER_TOKEN from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.

How does VictoriaLogs run?

It speaks stdio and streamable-http, so it runs as a local process your client starts. It is published on npm as mcp-victorialogs-web at 0.1.0.

How current is this page?

The grade is for one exact copy of the source (3eca3d7b4ee3), read on 2026-10-08. The repository is watched and re-audited when it changes.

Advertisement