MCP server/monitoring

Webmin MCP Server

Manage Linux systems via Webmin's administration interface

★ 6gjenkins20/webmin-mcp-server ↗by gjenkins20updated
1

Add it to Claude Code

claude mcp add webmin-mcp-server -- python -m src.server
2

Make your agent remember this setup

webmin-mcp-server's config, env vars, and the gotchas you hit — recalled in every future Claude Code, Cursor, and Codex session.

npx conare@latest

Free · one command · indexes the sessions already on disk. Set up in the browser instead →

What it does

  • Multi-server management with user-friendly aliases
  • Comprehensive system monitoring including memory, disk, and processes
  • Full service lifecycle management (start, stop, restart, enable, disable)
  • Integrated security management for Fail2ban and Webmin ACL
  • Tiered safety framework with safe mode enabled by default

Tools 5

system_infoRetrieve general system information and status
list_servicesList all services and their current status
manage_serviceStart, stop, restart, enable, or disable a service
list_usersList system users
list_cron_jobsView scheduled cron jobs

Environment Variables

WEBMIN_CONFIG_FILEPath to the JSON configuration file containing server details
WEBMIN_SERVERS_JSONInline JSON string containing server configuration

Try it

Check the status of the Apache service on my primary server.
List all current cron jobs and identify any that might be failing.
Create a new system user named 'dev-user' with standard permissions.
Show me the disk usage and SMART health status for my storage drives.
Restart the fail2ban service to apply new security configurations.
Original README from gjenkins20/webmin-mcp-server

Webmin MCP Server

An MCP (Model Context Protocol) server that provides Claude with tools to manage Linux systems via Webmin's administration interface.

Features

  • Multi-Server Support -- Manage multiple Webmin servers with user-friendly aliases
  • System Monitoring -- System info, memory, disk, network, and process status
  • Service Management -- Start, stop, restart, enable, and disable services
  • User & Group Administration -- Create, modify, and delete system users and groups
  • Scheduled Tasks -- View, create, edit, and delete cron jobs
  • Package Management -- Package info and available updates
  • File Operations -- Read, write, copy, rename, and delete remote files
  • Storage -- SMART disk health monitoring and LVM volume management
  • Security -- Fail2ban jail status and banned IP management
  • Database -- MySQL databases, users, and server status
  • Webmin ACL -- Manage Webmin user accounts and module permissions
  • Disk Quotas -- Monitor and set disk quota limits for users and groups
  • Audit & Backup -- Webmin action logs, SSH config, and configuration backups
  • Safety Framework -- Tiered safety system with safe mode to prevent dangerous operations

Quick Start

  1. Install (choose one):

    From source:

    git clone https://github.com/gjenkins20/webmin-mcp-server.git
    cd webmin-mcp-server
    pip install -e .
    

    With Docker:

    docker pull gjenkins20/webmin-mcp-server
    
  2. Configure -- Create a webmin-servers.json (see Configuration):

    {
      "default_server": "my-server",
      "servers": {
        "my-server": {
          "host": "192.168.1.100",
          "port": 10000,
          "username": "admin",
          "password": "your-password",
          "use_https": true,
          "verify_ssl": false,
          "safe_mode": true
        }
      }
    }
    
  3. Add to Claude Desktop (claude_desktop_config.json):

    From source:

    {
      "mcpServers": {
        "webmin": {
          "command": "python",
          "args": ["-m", "src.server"],
          "cwd": "/path/to/webmin-mcp-server",
          "env": {
            "WEBMIN_CONFIG_FILE": "/path/to/webmin-servers.json"
          }
        }
      }
    }
    

    With Docker:

    {
      "mcpServers": {
        "webmin": {
          "command": "docker",
          "args": [
            "run", "--rm", "-i",
            "-v", "/path/to/webmin-servers.json:/app/webmin-servers.json:ro",
            "gjenkins20/webmin-mcp-server"
          ]
        }
      }
    }
    

Requirements

  • Python 3.11+
  • A running Webmin instance (typically on port 10000)
  • Webmin credentials with appropriate permissions

Webmin Server Setup

The MCP server uses Webmin's XML-RPC API. Ensure your Webmin server is configured:

  1. Enable RPC Access: In Webmin -> Webmin Users -> (your user) -> enable "Can accept RPC calls"
  2. Install XML::Parser: The Perl XML::Parser module must be installed:
    # Debian/Ubuntu
    sudo apt install libxml-parser-perl
    
    # RHEL/CentOS
    sudo yum install perl-XML-Parser
    
  3. Module Access: Grant the user access to required modules (System Status, Bootup and Shutdown, Users and Groups, Scheduled Cron Jobs, Network Configuration)

Configuration

Multi-Server Configuration (Recommended)

Create a webmin-servers.json file to manage multiple Webmin servers. See `webmin-servers.example.json` for a complete example.

Configuration sources (priority order):

  1. WEBMIN_CONFIG_FILE env var -- path to JSON config file
  2. WEBMIN_SERVERS_JSON env var -- inline JSON string
  3. ./webmin-servers.json -- local file in current directory
  4. ~/.config/webmin-mcp/servers.json -- user config directory
  5. Legacy WEBMIN_* env vars -- single server (creates "default" alias)

Single Server Configuration (Legacy)

For a single server, set environment variables:

export WEBMIN_HOST="your-webmin-server.com"
export WEBMIN_PORT="10000"
export WEBMIN_USERNAME="admin"
export WEBMIN_PASSWORD="your-password"
export WEBMIN_USE_HTTPS="true"
export WEBMIN_VERIFY_SSL="true"  # Set to false for self-signed certs

Or create a .env file (see `.env.example`).

Using Multiple Servers

With multi-server configuration, all tools accept an optional server parameter:

"Get system info from pi1"           -> Uses pi1 (default)
"Chec

Frequently Asked Questions

What are the key features of Webmin MCP Server?

Multi-server management with user-friendly aliases. Comprehensive system monitoring including memory, disk, and processes. Full service lifecycle management (start, stop, restart, enable, disable). Integrated security management for Fail2ban and Webmin ACL. Tiered safety framework with safe mode enabled by default.

What can I use Webmin MCP Server for?

Automating routine server maintenance tasks like service restarts. Managing user accounts and group permissions across multiple Linux servers. Monitoring system health and disk status directly from the Claude interface. Auditing and managing scheduled cron jobs without logging into Webmin UI. Quickly checking security logs and Fail2ban status during incident response.

How do I install Webmin MCP Server?

Install Webmin MCP Server by running: git clone https://github.com/gjenkins20/webmin-mcp-server.git && cd webmin-mcp-server && pip install -e .

What MCP clients work with Webmin MCP Server?

Webmin MCP Server works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Conare · memory for coding agents

Turn this server into reusable context

Keep Webmin MCP Server docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Set up free$npx conare@latest