A comprehensive Model Context Protocol (MCP) server for Linux automation operations management. This MCP server provides 74+ tools across 8 categories for efficient Linux server management through SSH connections.
| Category | Tools Count | Status |
|---|---|---|
| 📁 File & Directory Management | 12 | ✅ Complete |
| 📝 Text Processing & Analysis | 11 | ✅ Complete |
| 📊 System Monitoring | 11 | ✅ Complete |
| ⚙️ Process Management | 10 | ✅ Complete |
| 👤 User & Permissions | 0 | ⏳ Pending |
| 🌐 Network Operations | 14 | ✅ Complete |
| 📦 Compression & Archive | 8 | ✅ Complete |
| 🔄 Package Management | 7 | ✅ Complete |
- File Operations: Create, copy, move, delete files and directories
- Text Processing: View, search, transform text files with regex support
- System Monitoring: CPU, memory, disk, process monitoring in real-time
- Process Control: Kill, signal, and manage process priorities
- Network Diagnostics: Ping, traceroute, DNS, HTTP testing, port scanning
- Compression: Create and extract tar, zip, gzip, bzip2, xz archives
- Package Management: Install, remove, update packages (apt, yum, dnf)
- Python 3.11 or higher
- pip and pipenv
- Linux servers with SSH access
# Clone the repository
git clone https://github.com/atoncooper/auto-om.git
cd auto-om
# Install dependencies with pipenv
pipenv install
# Activate virtual environment
pipenv shell
# Or install with pip directly
pip install -r requirements.txt# Build the Docker image
docker build -t auto-om:latest .
# Or use docker-compose
docker-compose up -dCreate an application.yaml file:
# Transport mode: "stdio" or "http"
transport:
mode: http
# HTTP settings (for http mode)
http:
host: 0.0.0.0
port: 8000
# SSH connection pool
ssh_pool:
default_timeout: 30
max_retries: 3
connection_timeout: 10
retry_delay: 5
max_connections: 10
# Add your Linux servers
servers:
- host: "192.168.1.100"
port: 22
username: "your_username"
password: "your_password"
alias: "server1"export SSH_PASSWORD="your_password"Then reference it in YAML:
servers:
- host: "192.168.1.100"
username: "your_username"
password: "${SSH_PASSWORD}"# Run in stdio mode (default, for MCP clients)
python main.py
# Run in HTTP mode
python main.py --mode http
# Run with custom host/port
python main.py --mode http --host 127.0.0.1 --port 9000
# Using custom config
python main.py --config /path/to/config.yaml# Run with docker-compose
docker-compose up
# Run with docker
docker run -p 8000:8000 \
-v $(pwd)/application.yaml:/app/application.yaml \
auto-om:latestComplete documentation for integrating with various AI development tools:
| Tool | Documentation | Use Case |
|---|---|---|
| Claude Code | Claude Code Guide | CLI-based AI development assistant |
| Cursor | Cursor Guide | AI-powered IDE for coding |
| Trae | Trae Guide | Mobile/terminal AI assistant |
# Install Claude Code
npm install -g @anthropic-ai/claude-code
# Configure in ~/.config/Claude/claude_desktop_config.json
# Then use: claude-code "Check server status on server1"- Open Cursor Settings
- Navigate to MCP section
- Add server:
http://localhost:8000/sse - Start using tools in Cursor's AI chat
- Install Trae app (iOS/Android)
- Add MCP server:
http://your-server-ip:8000/sse - Use voice or text commands for server management
Use the provided scripts:
# Linux/macOS
./scripts/start.sh
# Windows
scripts\start.bat- Install Postman MCP Client
- Add MCP Server:
http://your-server:8000/sse - Tools will be automatically discovered
Add to claude_desktop_config.json:
{
"mcpServers": {
"auto-om": {
"command": "python",
"args": ["/path/to/auto-om/main.py"],
"env": {
"PYTHONPATH": "/path/to/auto-om"
}
}
}
}{
"host": "server1",
"path": "/home/user/documents"
}{
"host": "server1",
"human_readable": true
}{
"host": "server1",
"pid": 1234,
"signal": "TERM"
}{
"host": "server1",
"destination": "google.com",
"count": 5
}{
"host": "server1",
"packages": "nginx",
"dry_run": true
}auto-om/
├── main.py # Entry point
├── application.yaml # Configuration file
├── requirements.txt # Python dependencies
├── Dockerfile # Container definition
├── docker-compose.yml # Multi-container setup
├── src/
│ ├── core/ # Core MCP functionality
│ │ ├── server.py # MCP server implementation
│ │ └── ssh_client.py # SSH connection pool
│ └── tools/ # Tool implementations
│ ├── file_mgr.py # File management (12 tools)
│ ├── text_proc.py # Text processing (11 tools)
│ ├── system_monitor.py # System monitoring (11 tools)
│ ├── process_mgr.py # Process management (10 tools)
│ ├── network_ops.py # Network operations (14 tools)
│ ├── compress_ops.py # Compression (8 tools)
│ └── package_mgr.py # Package management (7 tools)
├── VERSION.md # Version history
└── README.md # This file
- Non-root Operations: All operations designed for non-root users
- Path Validation: Prohibited operations on system directories
- Command Validation: Dangerous commands are blocked
- Dry-run Mode: Preview destructive operations before executing
- Connection Pooling: Secure SSH connection management
- Output Limits: Prevent overwhelming responses
- Debian 10+
- Ubuntu 18.04+
- CentOS 7+
- RHEL 7+
- Fedora 30+
- Python 3.11+
- paramiko 3.5.0 (SSH2 protocol)
- mcp 1.25.0 (Model Context Protocol)
- pyyaml 6.0.3 (YAML configuration)
# Install development dependencies
pipenv install --dev
# Run tests (when available)
pytest tests/
# Format code
black src/
# Type checking
mypy src/See VERSION.md for detailed version history.
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
For issues and questions:
- GitHub Issues: https://github.com/atoncooper/auto-om/issues
- Documentation: VERSION.md
- Built with MCP Python SDK
- Inspired by common Linux automation tools