home / mcp / awesome linux mcp server
Provides SSH-based Linux control and browser automation through MCP, enabling remote commands, file operations, monitoring, and browser tasks.
Configuration
View docs{
"mcpServers": {
"aitesthaj-awesome_linux_mcp": {
"command": "python",
"args": [
"linux_mcp_server.py"
],
"env": {
"SSH_HOST": "your-server.com",
"SSH_PORT": "22",
"SSH_USER": "your-username",
"LOG_LEVEL": "INFO",
"SSH_KEY_PATH": "/path/to/your/key",
"SSH_PASSWORD": "your-password",
"BROWSER_HEADLESS": "true"
}
}
}
}You can run an MCP server that securely manages remote Linux hosts over SSH while also providing browser automation capabilities. This server lets you execute commands, manage scripts, monitor system resources, automate browser tasks, and access browser-derived resources—all through a structured MCP interface.
You connect to the MCP server using an MCP client. Once connected, you can perform a range of actions on your remote Linux hosts and in the browser automation environment. Use the SSH-based tools to run commands, manage scripts, and inspect files, and use the browser automation tools to navigate web pages, interact with elements, capture screenshots, and run JavaScript in the browser context. Monitor logs, network activity, and resources in real time to keep your operations secure and efficient.
Prerequisites you need before installation are Python 3.8 or later, SSH access to at least one Linux server, and a Chrome/Chromium browser for browser automation.
1. Create the project directory and move into it.
mkdir awesome-linux-mcp
cd awesome-linux-mcp2. Install the required Python dependencies from the project requirements file.
pip install -r requirements.txt3. Prepare environment configuration by copying the example configuration and editing it with your SSH and server settings.
cop config.example.env .env
# Edit .env with your SSH and configuration settings4. Ensure you can SSH to your target Linux servers. Prefer SSH key authentication and test the connection manually.
ssh user@hostTo run the server in development mode, start the Python script that implements the MCP server:
python linux_mcp_server.pyYou can also test the MCP endpoint directly by invoking the server with a simple request from a client that speaks MCP. This helps you verify that the server is responsive and ready to handle real client requests.
The server is configured via environment variables, which you set in your .env file. The following variables are required and commonly used:
SSH_HOST=your-server.com
SSH_PORT=22
SSH_USER=your-username
SSH_KEY_PATH=/path/to/your/key
BROWSER_HEADLESS=true
LOG_LEVEL=INFORun a single terminal command on the remote Linux server via the MCP interface.
Execute a bash script on the remote server with optional arguments.
Create and deploy a new bash script to the remote server.
List directory contents with detailed information from the remote server.
Retrieve CPU, memory, and disk usage information from the remote server.
Navigate the browser to a URL with automatic wait conditions.
Capture a screenshot of the full page or a specific element.
Click on a web page element identified by a selector.
Hover over a web page element identified by a selector.
Fill an input field in a web form.
Select an option from a dropdown in the browser.
Execute JavaScript in the browser context and return the result.
Retrieve browser console logs during automation.
Get the current browser screenshot.
Obtain network request/response details from the browser.