Skip to main content
Glama
narmaku

Linux MCP Server

by narmaku

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
LINUX_MCP_LOG_DIRNoCustom log directory~/.local/share/linux-mcp-server/logs/
LINUX_MCP_LOG_LEVELNoSet log level (DEBUG, INFO, WARNING, ERROR, CRITICAL)INFO
LINUX_MCP_SSH_KEY_PATHNoSpecify SSH private key path (defaults to ~/.ssh/id_ed25519, ~/.ssh/id_rsa, etc.)
LINUX_MCP_ALLOWED_LOG_PATHSNoComma-separated list of allowed log file paths
LINUX_MCP_LOG_RETENTION_DAYSNoLog retention in days10

Capabilities

Features and capabilities supported by this server

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

Tools

Functions exposed to the LLM to take actions

NameDescription
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

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/narmaku/linux-mcp-server'

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