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 |
Capabilities
Features and capabilities supported by this server
| 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_info | Get basic system information including OS version, kernel, hostname, and uptime. Args:
host: Remote host to connect to via SSH (optional, executes locally if not provided)
username: SSH username for remote host (required if host is provided) |
| get_cpu_info | Get CPU information and load averages. Args:
host: Remote host to connect to via SSH (optional, executes locally if not provided)
username: SSH username for remote host (required if host is provided) |
| get_memory_info | Get memory usage including RAM and swap details. Args:
host: Remote host to connect to via SSH (optional, executes locally if not provided)
username: SSH username for remote host (required if host is provided) |
| get_disk_usage | Get filesystem usage and mount points. Args:
host: Remote host to connect to via SSH (optional, executes locally if not provided)
username: SSH username for remote host (required if host is provided) |
| get_hardware_info | Get hardware information including CPU architecture, PCI devices, USB devices, and memory hardware. Args:
host: Remote host to connect to via SSH (optional, executes locally if not provided)
username: SSH username for remote host (required if host is provided) |
| list_services | List all systemd services with their current status. Args:
host: Remote host to connect to via SSH (optional, executes locally if not provided)
username: SSH username for remote host (required if host is provided) |
| get_service_status | Get detailed status of a specific systemd service. Args:
service_name: Name of the service
host: Remote host to connect to via SSH (optional, executes locally if not provided)
username: SSH username for remote host (required if host is provided) |
| get_service_logs | Get recent logs for a specific systemd service. Args:
service_name: Name of the service
lines: Number of log lines to retrieve (default: 50)
host: Remote host to connect to via SSH (optional, executes locally if not provided)
username: SSH username for remote host (required if host is provided) |
| list_processes | List running processes with CPU and memory usage. Args:
host: Remote host to connect to via SSH (optional, executes locally if not provided)
username: SSH username for remote host (required if host is provided) |
| get_process_info | Get detailed information about a specific process. Args:
pid: Process ID
host: Remote host to connect to via SSH (optional, executes locally if not provided)
username: SSH username for remote host (required if host is provided) |
| get_journal_logs | Query systemd journal logs with optional filters. Args:
unit: Filter by systemd unit
priority: Filter by priority (emerg, alert, crit, err, warning, notice, info, debug)
since: Show entries since specified time (e.g., '1 hour ago', '2024-01-01')
lines: Number of log lines to retrieve (default: 100)
host: Remote host to connect to via SSH (optional, executes locally if not provided)
username: SSH username for remote host (required if host is provided) |
| get_audit_logs | Get audit logs if available. Args:
lines: Number of log lines to retrieve (default: 100)
host: Remote host to connect to via SSH (optional, executes locally if not provided)
username: SSH username for remote host (required if host is provided) |
| read_log_file | Read a specific log file (whitelist-controlled via LINUX_MCP_ALLOWED_LOG_PATHS). Args:
log_path: Path to the log file
lines: Number of lines to retrieve from the end (default: 100)
host: Remote host to connect to via SSH (optional, executes locally if not provided)
username: SSH username for remote host (required if host is provided) |
| get_network_interfaces | Get network interface information including IP addresses. Args:
host: Remote host to connect to via SSH (optional, executes locally if not provided)
username: SSH username for remote host (required if host is provided) |
| get_network_connections | Get active network connections. Args:
host: Remote host to connect to via SSH (optional, executes locally if not provided)
username: SSH username for remote host (required if host is provided) |
| get_listening_ports | Get ports that are listening on the system. Args:
host: Remote host to connect to via SSH (optional, executes locally if not provided)
username: SSH username for remote host (required if host is provided) |
| list_block_devices | List block devices and partitions. Args:
host: Remote host to connect to via SSH (optional, executes locally if not provided)
username: SSH username for remote host (required if host is provided) |
| list_directories_by_size | List directories sorted by size (largest first). Uses efficient Linux du command. Args:
path: Directory path to analyze
top_n: Number of top largest directories to return (1-1000)
host: Remote host to connect to via SSH (optional, executes locally if not provided)
username: SSH username for remote host (required if host is provided) |
| list_directories_by_name | List directories sorted alphabetically by name. Uses efficient Linux find command. Args:
path: Directory path to analyze
reverse: Sort in reverse order (Z-A) (default: False)
host: Remote host to connect to via SSH (optional, executes locally if not provided)
username: SSH username for remote host (required if host is provided) |
| list_directories_by_modified_date | List directories sorted by modification date. Uses efficient Linux find command. Args:
path: Directory path to analyze
newest_first: Show newest first (default: True)
host: Remote host to connect to via SSH (optional, executes locally if not provided)
username: SSH username for remote host (required if host is provided) |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |