Skip to main content
Glama
ssimonsen0202

berserk-mcp

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
BZRK_BINNoPath/name of the Berserk CLI binary.bzrk
BZRK_PROFILENoThe bzrk profile to query.local
BZRK_TIMEOUTNoPer-query timeout, seconds.120
BERSERK_TABLENoThe Berserk table to query.default
BERSERK_MCP_ROLENoActive role lane: sre, soc, claude, ops, or all. Controls tool visibility and primer injection.all
BERSERK_MCP_PRIMERS_DIRNoDirectory containing <role>.md primer files.adjacent primers/ folder
BERSERK_MCP_LEARNED_PATHNoWhere saved queries persist.platform config dir (~/.config/berserk-mcp/learned.json on Linux)

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_containersA

List all containers currently sending metrics to Berserk (with sample counts).

top_cpuA

Containers ranked by CPU percent, highest first. PER-CONTAINER — use ONLY when the user names a container, says 'docker'/'container', or asks for 'top containers'. For ambiguous whole-machine questions ('the box', 'the system', 'the server', 'the machine', 'what’s hammering/running hot') use host_cpu instead.

top_memoryA

Containers ranked by memory usage in MB, highest first. PER-CONTAINER — use ONLY when the user names a container or says 'docker'/'container'. For ambiguous whole-machine memory questions ('the box', 'the system', 'the server') use host_memory instead.

errors_by_serviceA

Count of ERROR-level log lines grouped by service. Use for 'how many errors', 'which services have errors', or 'any errors?' — gives counts, not log text. For the actual error messages, use logs_for_service with the service name from this result.

list_servicesA

All services/sources sending data, with log vs metric breakdown. Best default for 'what's running?', 'what's reporting?', or 'what services are there?' — shows everything. For just hosts use list_hosts; for just containers use list_containers.

list_hostsA

All hosts reporting telemetry, by record count.

host_cpuA

Average CPU load (1-minute load average) per host. Use for per-host CPU AND as the DEFAULT for ambiguous whole-machine questions — 'the box', 'the system', 'the server', 'the machine', 'what's hammering/running hot' are about the hosts, not containers (top_cpu is per-CONTAINER).

host_memoryA

Used memory in GB per host. Use for per-host memory AND as the DEFAULT for ambiguous whole-machine memory questions ('the box', 'the system', 'the server') — these are about the hosts, not containers (top_memory is per-CONTAINER).

container_hostsA

Map each container to the host/VM it runs on. Use to answer 'which host runs container X' or to JOIN per-container metrics (top_cpu/top_memory) with per-host metrics (host_cpu/host_memory) — don't infer the host from the container's name.

logs_for_serviceA

Recent log lines for a specific service e.g. 'nginx', 'postgres'. Use for 'show me the errors/logs from X' — returns actual log text. For error COUNTS across all services, use errors_by_service first, then drill into a specific service here.

schemaA

Show Berserk tables + column schema (live introspection).

list_metricsA

List every metric name currently being ingested, with sample counts + last-seen. Use to DISCOVER what telemetry exists before writing a search query.

bzrk_query_perfA

Berserk query engine latency percentiles: p50, p95, p99 in µs. Use for 'how fast is Berserk?', 'query latency', or 'p50/p95/p99 execution time'. Uses otel_histogram_percentile($raw, N) — the native Berserk histogram aggregate.

discover_schemaA

Discover the shape of a data source: returns (1) every key present under resource with row counts, AND (2) a small sample of real rows so you can read the actual values. Use to learn an unknown or newly-ingested source before querying it. Optional service filter. Pair with list_services / list_metrics. Once you work out a query with search, persist it with save_query so it becomes reusable.

searchA

Run an arbitrary Kusto/KQL query against the Berserk table. Use when the other tools do not fit; once it works, persist it with save_query.

sre_error_rateA

SRE view of ERROR log events grouped by service and minute. Use for 'is the error rate climbing', 'which service is burning error budget', or 'what should we rollback first'.

sre_host_headroomA

SRE view of host CPU load and memory used side-by-side. Use for 'which host is hottest', 'where is headroom lowest', or 'which VM is nearest saturation'.

sre_ingest_healthA

SRE view of Berserk ingest lag and dropped-data signals per host. Use for 'is ingest healthy', 'are we dropping telemetry', or 'is observability lagging'.

sre_service_healthA

SRE health rollup for one service: total events, error count, logs, metrics, last seen. Use for 'is service X healthy' or 'rollback signal for X'.

sre_top_error_messagesA

SRE summary of the most repeated error messages by service. Use for 'what error is dominating', 'top error signatures', or 'which message to investigate first'.

soc_high_severity_logsA

SOC view of recent CRITICAL/FATAL/ERROR logs with service and message text. Use for 'show critical events', 'recent incident logs', or 'what looks severe right now'.

soc_log_spikeA

SOC view of services with the largest log volume per minute. Use for 'anything anomalous', 'which source is spiking', or 'suspicious burst of logs'.

soc_new_servicesA

SOC view of services ordered by first-seen time. Use for 'what is new', 'anything first-seen', or 'did a new source appear'.

soc_repeated_errorsA

SOC view of error messages that appear more than 5 times — potential probes, loops, or persistent incidents. Use for 'what keeps repeating' or 'show recurring failures'.

soc_timelineA

SOC incident timeline for one service: timestamps, severity, metric names, and message snippets. Use for 'timeline for service X' or 'reconstruct incident for X'.

claude_recentA

Recent Claude Code activity (timestamp, type, role, model, tool names, error flag), newest first. Default window 1h.

claude_sessionsA

Claude Code sessions rollup: events, first/last seen, assistant turns, tool turns, and error count per session. Default 6h.

claude_toolsA

Claude Code tool-use histogram — how many times each tool (Bash, Edit, Read, ...) was used. Default 6h.

claude_errorsA

Claude Code tool errors — failed tool results (is_error=true) with a body snippet. Default 6h.

claude_searchA

Full-text search across Claude Code message and tool bodies for a substring. Default 6h.

list_savedA

List previously-saved custom queries (name + description). For a non-standard question, CHECK HERE FIRST before writing new KQL.

run_savedA

Run a previously-saved query by name (see list_saved). Deterministic - no KQL authoring.

save_queryA

Persist a WORKING KQL query as a reusable named query so it never has to be figured out again. Call this after you answer a non-standard question with a custom search query. The query is run once to verify it works; if it errors it is NOT saved.

request_discoveryA

Queue a newly-added service or metric for author-lane integration. Validates the source is currently visible in Berserk, then records a job for the discovery worker to drain. Use when a user says 'I added / connected / started shipping SOURCE'.

discovery_statusA

List pending and completed discovery jobs for new services or metrics.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ssimonsen0202/berserk_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server