linux-mcp-server — Claude Code MCP server
A read-only MCP server for Linux administration, diagnostics, and troubleshooting. It fits RHEL-based systems and remote SSH checks.
claude mcp add --env LINUX_MCP_USER=<LINUX_MCP_USER> --env LINUX_MCP_SSH_KEY_PATH=<LINUX_MCP_SSH_KEY_PATH> --env LINUX_MCP_KEY_PASSPHRASE=<LINUX_MCP_KEY_PASSPHRASE> --env LINUX_MCP_SEARCH_FOR_SSH_KEY=<LINUX_MCP_SEARCH_FOR_SSH_KEY> --env LINUX_MCP_COMMAND_TIMEOUT=<LINUX_MCP_COMMAND_TIMEOUT> --transport stdio linux-mcp-server -- uvx linux-mcp-serverWhat linux-mcp-server does
linux-mcp-server gives an agent read-only access to Linux diagnostics. It can inspect system information, services, processes, logs, networking, and storage. The server is focused on RHEL-based systems and systemd.
Remote machines are reached over SSH with key-based authentication, and several hosts can be handled in the same session. Log access is controlled through environment variables. The server runs with uvx linux-mcp-server. Read-only operation is a real boundary here: it does not modify the system.
What it helps with
- check Linux services and running processes
- trace failures through system logs
- inspect network and storage state
- diagnose a remote host over SSH
- compare several hosts in one session
Example prompts for the agent
- Check the services, processes, and system logs on this Linux host.
- Connect to the remote machine over SSH and investigate its network problem.
- Collect diagnostic details from several hosts and compare their state.
How to install linux-mcp-server
Platform CLI
claude mcp add --env LINUX_MCP_USER=<LINUX_MCP_USER> --env LINUX_MCP_SSH_KEY_PATH=<LINUX_MCP_SSH_KEY_PATH> --env LINUX_MCP_KEY_PASSPHRASE=<LINUX_MCP_KEY_PASSPHRASE> --env LINUX_MCP_SEARCH_FOR_SSH_KEY=<LINUX_MCP_SEARCH_FOR_SSH_KEY> --env LINUX_MCP_COMMAND_TIMEOUT=<LINUX_MCP_COMMAND_TIMEOUT> --transport stdio linux-mcp-server -- uvx linux-mcp-serverReplace <…> with your own values. 6 more environment variables are in the server README. uvx runs the command named after the package; if the README names another one, use uvx --from linux-mcp-server <command>
Platform CLI
codex mcp add linux-mcp-server --env LINUX_MCP_USER=<LINUX_MCP_USER> --env LINUX_MCP_SSH_KEY_PATH=<LINUX_MCP_SSH_KEY_PATH> --env LINUX_MCP_KEY_PASSPHRASE=<LINUX_MCP_KEY_PASSPHRASE> --env LINUX_MCP_SEARCH_FOR_SSH_KEY=<LINUX_MCP_SEARCH_FOR_SSH_KEY> --env LINUX_MCP_COMMAND_TIMEOUT=<LINUX_MCP_COMMAND_TIMEOUT> -- uvx linux-mcp-serverReplace <…> with your own values. 6 more environment variables are in the server README. uvx runs the command named after the package; if the README names another one, use uvx --from linux-mcp-server <command>
Config file
{
"mcpServers": {
"linux-mcp-server": {
"command": "uvx",
"args": [
"linux-mcp-server"
],
"env": {
"LINUX_MCP_USER": "<LINUX_MCP_USER>",
"LINUX_MCP_SSH_KEY_PATH": "<LINUX_MCP_SSH_KEY_PATH>",
"LINUX_MCP_KEY_PASSPHRASE": "<LINUX_MCP_KEY_PASSPHRASE>",
"LINUX_MCP_SEARCH_FOR_SSH_KEY": "<LINUX_MCP_SEARCH_FOR_SSH_KEY>",
"LINUX_MCP_COMMAND_TIMEOUT": "<LINUX_MCP_COMMAND_TIMEOUT>"
}
}
}
}Replace <…> with your own values. 6 more environment variables are in the server README. uvx runs the command named after the package; if the README names another one, use uvx --from linux-mcp-server <command>
Config file
{
"servers": {
"linux-mcp-server": {
"type": "stdio",
"command": "uvx",
"args": [
"linux-mcp-server"
],
"env": {
"LINUX_MCP_USER": "<LINUX_MCP_USER>",
"LINUX_MCP_SSH_KEY_PATH": "<LINUX_MCP_SSH_KEY_PATH>",
"LINUX_MCP_KEY_PASSPHRASE": "<LINUX_MCP_KEY_PASSPHRASE>",
"LINUX_MCP_SEARCH_FOR_SSH_KEY": "<LINUX_MCP_SEARCH_FOR_SSH_KEY>",
"LINUX_MCP_COMMAND_TIMEOUT": "<LINUX_MCP_COMMAND_TIMEOUT>"
}
}
}
}Replace <…> with your own values. 6 more environment variables are in the server README. uvx runs the command named after the package; if the README names another one, use uvx --from linux-mcp-server <command>
Platform CLI
gemini mcp add -e LINUX_MCP_USER=<LINUX_MCP_USER> -e LINUX_MCP_SSH_KEY_PATH=<LINUX_MCP_SSH_KEY_PATH> -e LINUX_MCP_KEY_PASSPHRASE=<LINUX_MCP_KEY_PASSPHRASE> -e LINUX_MCP_SEARCH_FOR_SSH_KEY=<LINUX_MCP_SEARCH_FOR_SSH_KEY> -e LINUX_MCP_COMMAND_TIMEOUT=<LINUX_MCP_COMMAND_TIMEOUT> linux-mcp-server uvx linux-mcp-serverReplace <…> with your own values. 6 more environment variables are in the server README. uvx runs the command named after the package; if the README names another one, use uvx --from linux-mcp-server <command>
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about linux-mcp-server
How do I install linux-mcp-server in Claude Code?
Add the server with claude mcp add linux-mcp-server -e LINUX_MCP_KEY_PASSPHRASE=<LINUX_MCP_KEY_PASSPHRASE> -- uvx linux-mcp-server.
What does linux-mcp-server do?
It gives the agent read-only tools for Linux system information, services, processes, logs, networking, and storage. It can also reach remote hosts over SSH and handle multiple machines in one session.
Which Linux systems does the server target?
The server is focused on RHEL-based systems and systemd. Remote access requires SSH key-based authentication.