Skip to main content
Glama

auto-om - Linux Automation Operations Management MCP Server

Version Python License

English | ็ฎ€ไฝ“ไธญๆ–‡

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.

Features

Tool Categories (88 tools total)

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

Key Capabilities

  • 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)

Related MCP server: mcp-ssh

Installation

Prerequisites

  • Python 3.11 or higher

  • pip and pipenv

  • Linux servers with SSH access

Setup from Source

# 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

Using Docker

# Build the Docker image
docker build -t auto-om:latest .

# Or use docker-compose
docker-compose up -d

Configuration

Create 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"

โš ๏ธ Security Warning: Use environment variables for sensitive data in production:

export SSH_PASSWORD="your_password"

Then reference it in YAML:

servers:
  - host: "192.168.1.100"
    username: "your_username"
    password: "${SSH_PASSWORD}"

Usage

Start the Server

# 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

Docker Usage

# Run with docker-compose
docker-compose up

# Run with docker
docker run -p 8000:8000 \
  -v $(pwd)/application.yaml:/app/application.yaml \
  auto-om:latest

Documentation

Complete 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

Quick Start with AI Tools

Claude Code (CLI)

# 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"

Cursor (IDE)

  1. Open Cursor Settings

  2. Navigate to MCP section

  3. Add server: http://localhost:8000/sse

  4. Start using tools in Cursor's AI chat

Trae (Mobile)

  1. Install Trae app (iOS/Android)

  2. Add MCP server: http://your-server-ip:8000/sse

  3. Use voice or text commands for server management

Quick Start

Use the provided scripts:

# Linux/macOS
./scripts/start.sh

# Windows
scripts\start.bat

MCP Client Integration

Using Postman MCP

  1. Install Postman MCP Client

  2. Add MCP Server: http://your-server:8000/sse

  3. Tools will be automatically discovered

Using Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "auto-om": {
      "command": "python",
      "args": ["/path/to/auto-om/main.py"],
      "env": {
        "PYTHONPATH": "/path/to/auto-om"
      }
    }
  }
}

Tool Examples

File Management

{
  "host": "server1",
  "path": "/home/user/documents"
}

System Monitoring

{
  "host": "server1",
  "human_readable": true
}

Process Control

{
  "host": "server1",
  "pid": 1234,
  "signal": "TERM"
}

Network Diagnostics

{
  "host": "server1",
  "destination": "google.com",
  "count": 5
}

Package Management

{
  "host": "server1",
  "packages": "nginx",
  "dry_run": true
}

Architecture

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

Security Features

  • 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

Supported Linux Distributions

  • Debian 10+

  • Ubuntu 18.04+

  • CentOS 7+

  • RHEL 7+

  • Fedora 30+

Dependencies

  • Python 3.11+

  • paramiko 3.5.0 (SSH2 protocol)

  • mcp 1.25.0 (Model Context Protocol)

  • pyyaml 6.0.3 (YAML configuration)

Development

# Install development dependencies
pipenv install --dev

# Run tests (when available)
pytest tests/

# Format code
black src/

# Type checking
mypy src/

Version History

See VERSION.md for detailed version history.

Contributing

  1. Fork the repository

  2. Create a feature branch

  3. Make your changes

  4. Submit a pull request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

For issues and questions:

Acknowledgments

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    C
    maintenance
    A comprehensive MCP server for infrastructure operations with 92 tools across 13 categories, covering system monitoring, networking, containers, multi-cloud management, databases, CI/CD, IaC, security, and remote SSH fleet management.
    92
    1
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    MCP server for remote Linux/Unix server management via SSH, enabling command execution, system monitoring, file operations, and diagnostics through natural language.
    34
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    A lightweight, zero-agent SSH operations tool that enables remote command execution, file transfer, and audit logging. It integrates as an MCP server for AI-driven infrastructure management.
    9 npm
    MIT