Linux MCP daemon
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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
| Capability | Details |
|---|---|
| tools | {} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| files/listA | Lists a directory like ls -la: file type and permissions, link count, owner, group, size, modification time and symlink targets (symlinks are shown, never followed). |
| files/readB | Precision reading of file contents with chunking/streaming support. |
| files/createB | Create a new file or replace file contents. |
| files/updateA | Programmatically edit a file by appending text or replacing specific line ranges. |
| files/findC | Search for files in a directory hierarchy. |
| files/filetypeA | Determines a file's MIME type - the answer |
| files/chmodA | Changes a file's or directory's permission bits (chmod). Never follows symbolic links: a path containing a symlink in any component is refused, and recursive changes skip symlinks and report them. Numeric modes follow GNU chmod semantics (on directories a 4-digit mode keeps setuid/setgid; use 5 digits, e.g. 00755, to set them exactly). |
| files/chownA | Changes a file's or directory's owner and/or group (chown). Never follows symbolic links: a path containing a symlink in any component is refused, and recursive changes skip symlinks and report them. Changing the owner requires privileged: true. |
| disks/freeA | Returns disk space statistics of the filesystem holding a path, like df - in bytes, or like df -h with human_readable. Use disks/list to see all block devices. |
| disks/usageA | Calculates the disk space used by a directory, like du -s - in bytes, or like du -sh with human_readable. Use disks/free for overall partition stats. |
| processes/topA | A snapshot like |
| processes/listA | Lists running processes on the system. Use this to find a PID, then use the process://{pid}/{target} resource for deep metrics or processes/delete to kill it. |
| processes/deleteB | Terminates a specific process by PID. |
| network/nslookupC | Query DNS records natively. |
| network/curlA | Transfer data from a URL using native HTTP client. |
| network/arpB | View the system ARP cache (IP to MAC address mappings). |
| network/pingB | Measure TCP reachability and latency to a host. |
| network/connectionsA | Lists TCP and UDP sockets in every state with their owning processes, like |
| memory/usageA | Returns memory and swap utilization information. Use cpu/load-average to check compute load. |
| services/manageA | Control systemd services (start, stop, restart, enable, disable). To get detailed service properties and state, read the service://{name}/status resource. To view service logs, use the logs/journal-control tool. |
| services/listB | Lists systemd services with optional filtering. Output includes ActiveState, LoadState, and SubState. |
| logs/journal-controlA | Queries the systemd journal (journalctl equivalent). Requires privileged: true in containerized deployments, since journalctl only exists on the host, never in this daemon's own image. |
| logs/dmesgA | Read the kernel ring buffer for hardware/driver logs. |
| logs/loginsA | Lists login history (wraps |
| kernel/system-controlA | Reads or writes kernel parameters (sysctl equivalent) at runtime, natively via /proc/sys. Writes require privileged: true, and may be restricted per user (read-only, or only certain keys) by mcp-sudo.yaml. |
| cpu/listA | Retrieves CPU topology and architecture. See cpu/load-average for current utilization. |
| cpu/load-averageA | Retrieves system load averages (1m, 5m, 15m). See cpu/list for hardware topology. |
| disks/listA | Lists block devices as a tree (equivalent to lsblk): disks, their partitions, and LVM/dm-crypt/RAID volumes nested under the devices they're built on, with MAJ:MIN, RM, SIZE, RO, TYPE and MOUNTPOINTS. json/yaml output is the same tree under "blockdevices" (like lsblk -J), with nested "children". To check remaining free space or inode usage, use the disks/free tool. To check which folders are taking up the most space, use the disks/usage tool. (Use 'privileged: true' in containerized deployments to see the host's mount points.) |
| disks/mountsA | Lists mounted filesystems (device, mount point, type, options) - equivalent to |
| disks/performanceA | Retrieves granular block device I/O performance metrics (equivalent to iostat). Provides read/write sectors, merged operations, and I/O wait times in milliseconds. Use disks/list first to find valid block devices. If you want static capacity instead, use disks/free. |
| disks/healthA | Retrieves detailed SMART health data for a drive (equivalent to smartctl -j -a). Returns JSON containing self-assessment test results, temperature, wear leveling, and sector errors. Must be run as root (privileged: true). Use this to diagnose failing hardware. |
| disks/partitionsA | Retrieves partition boundaries for a drive (start/size, in sectors and bytes), parsed natively from /sys/class/block - no fdisk dependency. Use this to understand the low-level geometry and partition boundaries of a disk. |
| network/trace-pathA | Traces the network path to a host (equivalent to traceroute). Useful for debugging routing issues, identifying where packets are dropped, or measuring network latency across hops. Hint: Use network/ping for basic reachability before tracing the path. |
| system/os-releaseA | Retrieves Linux distribution and kernel version. |
| system/packagesA | Lists installed packages, auto-detecting the package manager (dpkg, apk; rpm-based systems aren't supported natively yet). |
| users/listA | Lists user accounts from /etc/passwd (uid, gid, home, shell, group memberships). Never reads /etc/shadow - this reports account identity, not credentials. |
| auth/sudo-rulesA | Returns your authorized tools and privileges from mcp-sudo.yaml. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| OS Uname | Native system uname information (kernel version, node name). Hint: For CPU hardware architecture use cpu/list tool. |
| OS Release | /etc/os-release information (distribution, version). |
| System Hostname | Native system network hostname. Hint: To resolve IP addresses use network/nslookup tool. |
| System Timezone | Configured IANA timezone (e.g. America/New_York) plus current local offset and time. |
| System Locale | Configured locale settings (LANG, LC_*). |
| Network Interfaces | Network interfaces, assigned IP addresses, and detailed RX/TX traffic statistics for all interfaces. |
| Network Routes | IPv4 Routing Table (/proc/net/route). Hint: Use network/ping to test reachability. |
| USB Devices | Connected USB devices (lsusb equivalent). Lists vendors, products, and bus mapping. |
| PCI Devices | Connected PCI devices (lspci equivalent). Includes network cards, GPUs, and controllers. |
| DMI Hardware Info | Desktop Management Interface info (lshw/hwinfo equivalent). Detailed hardware specifications (RAM banks, BIOS, chassis). |
| Kernel Modules | Loaded kernel drivers (lsmod equivalent). Hint: You can adjust kernel parameters via the kernel/system-control tool. |
TDQS
Scored across 37 tools
Every tool pairs a clear resource category with a distinct operation; even similar tools like processes/list vs processes/top and disks/free vs disks/usage are explicitly differentiated. The category prefixes (files/, disks/, network/, etc.) make misselection unlikely.
All tool names follow a consistent lowercase category/action slash pattern, which is highly predictable. However, many action segments are nouns rather than verbs (health, free, usage, filetype, logins, mounts, performance, partitions, os-release), so it is not a pure verb_noun convention.
At 37 tools, the surface is heavy and beyond the usual 15–25 range, but the breadth of Linux administration domains covered justifies most entries. Each tool maps to a distinct sysadmin task, though the sheer number still makes the set feel large.
Core inspection and common operations are well covered across files, disks, network, processes, services, logs, and system info. However, the file surface lacks a delete operation and references a files/stat tool that does not exist, and there are no package install/remove or user management operations, leaving some obvious lifecycle gaps.