Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
JOURNALMCP_REPONoPath to the journalmcp checkout when it is not at $HOME/Projects/journalmcp. The wrapper uses this to locate the repository.
JOURNALMCP_REDACTNoControls redaction of secrets in journal text, unit files, and unit properties. On by default; set to off to disable redaction. Any other value is an error.on
JOURNALMCP_REDACT_PATTERNSNoPath to a file containing additional redaction regular expressions, one per line.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_unitsB

List the units systemd has in memory (systemctl list-units --all). Read-only.

scope is 'user' or 'system'. state filters on a LOAD, ACTIVE or SUB state, type on a unit type such as 'service', pattern on a glob over unit names.

failed_unitsA

List the failed units of one manager. Read-only. scope is 'user' or 'system'.

list_timersB

List the timers of one manager, with next and last run times in microseconds since the epoch. Read-only. scope is 'user' or 'system'.

unit_statusA

One unit's load, active and sub state, result and main PID, plus its last journal entries (default 20, at most 1000). Read-only.

Text is redacted and capped at 4096 bytes per value and 65536 bytes in all; a cut value ends in [TRUNCATED] and sets truncated to true.

journalA

Journal entries, oldest first, reduced to an allowlist of fields. Read-only.

Filters: unit, since and until (such as '2026-10-03 12:00' or '-1h'), priority (such as 'err' or 'warning..crit'), grep (a regular expression on MESSAGE), lines (default 100, at most 1000). Secrets are redacted; text is capped at 4096 bytes per value and 65536 bytes in all, and a cut ends in [TRUNCATED] and sets truncated to true.

bootsA

The boots the journal records; index 0 is the current boot. Read-only.

unit_fileB

The unit file text as systemctl cat prints it. Read-only.

Redacted, and capped at 65536 bytes; a cut ends in [TRUNCATED] and sets truncated to true.

system_summaryB

The system manager's state word, failed-unit and timer counts for both managers, and the current boot's first-entry time. Read-only.

Prompts

Interactive templates invoked by user choice

NameDescription
triage_failed_unitFind out why one systemd unit failed, using the read-only tools.

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.7/5.0

Scored across 8 tools

Disambiguation4/5

Most tools target distinct resources: boots, journal, unit_file, system_summary are clearly separate. However, failed_units is essentially a filtered subset of list_units, and unit_status overlaps with journal for a single unit, though descriptions clarify intended use.

Naming Consistency4/5

Names are all lowercase snake_case and readable, with noun_phrase style (list_units, unit_status, unit_file). Minor deviation: 'boots' and 'journal' are bare nouns that don't follow the verb_noun or list_ pattern used elsewhere, but the convention is largely predictable.

Tool Count5/5

Eight tools is well-scoped for a read-only systemd/journal inspection server, with each tool covering a meaningful slice of the domain without redundancy bloat.

Completeness4/5

For a read-only diagnostic surface, coverage is strong: units, failed units, timers, boots, journal filtering, unit files, and a system summary. Minor gaps like journal disk usage/rotation stats or per-boot statistics are absent but not blocking.

Maintenance

ActivityMaintained
ResponsivenessNo issues