Linux MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LINUX_MCP_LOG_DIR | No | Custom log directory | ~/.local/share/linux-mcp-server/logs/ |
| LINUX_MCP_LOG_LEVEL | No | Set log level (DEBUG, INFO, WARNING, ERROR, CRITICAL) | INFO |
| LINUX_MCP_SSH_KEY_PATH | No | Specify SSH private key path (defaults to ~/.ssh/id_ed25519, ~/.ssh/id_rsa, etc.) | |
| LINUX_MCP_ALLOWED_LOG_PATHS | No | Comma-separated list of allowed log file paths | |
| LINUX_MCP_LOG_RETENTION_DAYS | No | Log retention in days | 10 |
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 | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_system_infoA | Get basic system information including OS version, kernel, hostname, and uptime. |
| get_cpu_infoB | Get CPU information and load averages. |
| get_memory_infoB | Get memory usage including RAM and swap details. |
| get_disk_usageB | Get filesystem usage and mount points. |
| get_hardware_infoB | Get hardware information including CPU architecture, PCI devices, USB devices, and memory hardware. |
| list_servicesA | List all systemd services with their current status. |
| get_service_statusB | Get detailed status of a specific systemd service. |
| get_service_logsA | Get recent logs for a specific systemd service. |
| list_processesA | List running processes with CPU and memory usage. |
| get_process_infoB | Get detailed information about a specific process. |
| get_journal_logsA | Query systemd journal logs with optional filters. |
| get_audit_logsC | Get audit logs if available. |
| read_log_fileA | Read a specific log file (whitelist-controlled via LINUX_MCP_ALLOWED_LOG_PATHS). |
| get_network_interfacesB | Get network interface information including IP addresses. |
| get_network_connectionsB | Get active network connections. |
| get_listening_portsB | Get ports that are listening on the system. |
| list_block_devicesA | List block devices and partitions. |
| list_directories_by_sizeA | List directories sorted by size (largest first). Uses efficient Linux du command. |
| list_directories_by_nameA | List directories sorted alphabetically by name. Uses efficient Linux find command. |
| list_directories_by_modified_dateA | List directories sorted by modification date. Uses efficient Linux find command. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 20 tools
Each tool has a clearly distinct purpose targeting specific Linux system components or operations. Tools like get_cpu_info, get_memory_info, and get_disk_usage focus on different system resources, while list_directories_by_modified_date, list_directories_by_name, and list_directories_by_size offer distinct sorting methods for directory listings. No significant overlap exists between tools.
All tools follow a consistent verb_noun pattern with snake_case throughout. The naming convention is highly predictable: 'get_' for retrieval operations, 'list_' for enumeration, and 'read_' for file reading. This consistency makes the tool set easy to navigate and understand.
With 20 tools, the count is slightly high but reasonable for a comprehensive Linux system monitoring and management server. The tools cover various system aspects (CPU, memory, disk, network, processes, services, logs), which justifies the number, though it borders on being heavy for some use cases.
The tool set provides excellent coverage for monitoring and querying Linux system state, including hardware, processes, services, logs, and network information. Minor gaps exist, such as the lack of tools for modifying system state (e.g., starting/stopping services, killing processes) or file operations beyond log reading, but core read-only operations are well-covered.