webmin-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| WEBMIN_HOST | No | Hostname or IP of the Webmin server (legacy single-server). | |
| WEBMIN_PORT | No | Port of the Webmin server (legacy). | 10000 |
| WEBMIN_PASSWORD | No | Webmin password (legacy). | |
| WEBMIN_USERNAME | No | Webmin username (legacy). | |
| WEBMIN_SAFE_MODE | No | Enable safe mode globally (true/false). | true |
| WEBMIN_USE_HTTPS | No | Use HTTPS (true/false) (legacy). | true |
| WEBMIN_VERIFY_SSL | No | Verify SSL certificate (true/false) (legacy). | true |
| WEBMIN_CONFIG_FILE | No | Path to JSON config file for multi-server configuration. | |
| WEBMIN_SERVERS_JSON | No | Inline JSON string for multi-server configuration. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_webmin_serversA | List all configured Webmin servers with their aliases and connection info. Shows which server is the default. |
| test_server_connectionA | Test connectivity to a specific Webmin server. Returns version and hostname if successful. |
| get_webmin_versionA | Get the version of the connected Webmin server. Returns the version string and hostname. |
| get_system_infoA | Get comprehensive system information including OS, kernel, CPU, memory, disk usage, and update status. This is a good starting point for understanding system state. |
| list_servicesA | List all system services (systemd units or init scripts). Returns service names. Use get_service_status to check if a specific service is running. |
| get_service_statusA | Get the status of a specific system service. Returns whether the service is running or stopped. |
| list_usersA | List all system users. Returns both regular users (UID >= 1000) and system users separately, with details like home directory and shell. |
| get_disk_usageA | Get disk usage information for all mounted filesystems. Shows total, used, and free space, plus inode usage. |
| get_memory_usageA | Get memory usage information. Shows total, used, and free memory in KB, MB, and GB, plus buffer and cache usage. |
| list_cron_jobsA | List all scheduled cron jobs. Shows the schedule, command, user, and whether each job is active. |
| get_network_infoB | Get network configuration including all interfaces (with IP, MAC, speed), routing table, and default gateway. |
| restart_serviceB | Restart a system service. The service will be stopped and then started again. Some critical services (ssh, webmin) may be blocked in safe mode. |
| start_serviceB | Start a stopped system service. If the service is already running, this is a no-op. |
| stop_serviceA | Stop a running system service. Critical services (ssh, webmin, systemd services) are blocked to prevent system lockout. |
| enable_serviceA | Enable a service to start automatically at system boot. |
| disable_serviceA | Disable a service from starting automatically at system boot. Critical services are blocked to prevent boot failures. |
| create_cron_jobA | Create a new scheduled cron job. Specify the command to run and the schedule using cron syntax (minutes, hours, days, months, weekdays). Use '' for 'every' (e.g., '/5' for every 5 minutes). |
| edit_cron_jobA | Edit an existing cron job. Use list_cron_jobs to find the job index. Only specify the fields you want to change. |
| delete_cron_jobA | Delete a cron job. This is a dangerous operation and is blocked in safe mode. Use list_cron_jobs to find the job index. |
| list_groupsA | List all system groups. Returns both regular groups (GID >= 1000) and system groups separately, with member information. |
| create_userA | Create a new system user. This is a dangerous operation and is blocked in safe mode. |
| delete_userA | Delete a system user. This is a dangerous operation and is blocked in safe mode. Critical system users cannot be deleted. |
| modify_userA | Modify an existing system user. Only specify fields you want to change. |
| change_passwordA | Change a user's password. This is a dangerous operation and is blocked in safe mode. |
| get_package_infoA | Get detailed information about an installed package including version, description, maintainer, and install date. |
| list_available_updatesB | List all available package updates including security updates. Shows current and new versions for each package. |
| get_package_countA | Get the total count of installed packages on the system. |
| read_fileA | Read the contents of a file from the remote system. Can return content as a string or as an array of lines. |
| write_fileA | Write content to a file. This is a dangerous operation. In safe mode, only writes to /tmp and /var/tmp are allowed. System directories (/etc, /bin, /usr, etc.) are always blocked. |
| delete_fileA | Delete a file or empty directory. This is a dangerous operation. In safe mode, only deletes in /tmp and /var/tmp are allowed. System directories are always protected. |
| copy_fileB | Copy a file to a new location. In safe mode, destination must be in /tmp or /var/tmp. |
| rename_fileA | Rename or move a file. In safe mode, both source and destination must be in /tmp or /var/tmp. |
| create_directoryA | Create a new directory. In safe mode, only directories in /tmp or /var/tmp can be created. |
| list_processesA | List all running processes on the system. Shows PID, user, CPU usage, memory, and command for each process. |
| list_mountsA | List all mounted filesystems. Shows mount point, device, filesystem type, and mount options. |
| list_disksA | List all physical disks with SMART capability. Shows device path, model, serial number, capacity, and whether SMART is enabled. |
| get_disk_healthA | Get SMART health status for a specific disk. Returns overall health, temperature, power-on hours, SMART attributes, and any errors or warnings. |
| list_volume_groupsA | List all LVM volume groups. Shows name, total size, free space, physical volume count, and logical volume count for each VG. |
| list_logical_volumesB | List all LVM logical volumes. Shows name, size, volume group, device path, and mount point for each LV. |
| get_system_timeA | Get the current system time and timezone configuration. |
| list_runlevelsB | List system runlevels and their descriptions. |
| get_ssh_configB | Get SSH server (sshd) configuration settings including port, authentication methods, and security options. |
| list_webmin_logsA | List Webmin action/audit logs. Shows recent actions performed through Webmin including user, module, and action details. |
| list_backupsA | List Webmin configuration backups. Shows available backups that can be restored. |
| list_fail2ban_jailsB | List all Fail2ban jails and their status. Shows which jails are enabled and their current ban counts. |
| get_fail2ban_statusA | Get Fail2ban status for a specific jail or overall. Returns currently banned IPs and ban counts. |
| list_banned_ipsA | List all currently banned IP addresses from Fail2ban. |
| list_mysql_databasesA | List all MySQL databases. Separates user databases from system databases (information_schema, mysql, etc.). |
| list_mysql_usersA | List all MySQL users and their host permissions. |
| get_mysql_statusA | Get MySQL server status including version, uptime, connections, and query statistics. |
| list_webmin_usersA | List all Webmin user accounts (NOT system users). Shows usernames and which modules each user can access. |
| get_webmin_userB | Get detailed permissions for a specific Webmin user account. Shows which modules the user can access. |
| list_webmin_modulesB | List all available Webmin modules that can be assigned to users. |
| create_webmin_userA | Create a new Webmin user account. This is a dangerous operation and is blocked in safe mode. |
| modify_webmin_userA | Modify a Webmin user's permissions or password. This is a dangerous operation and is blocked in safe mode. Cannot demote the last superuser account. |
| delete_webmin_userA | Delete a Webmin user account. This is a dangerous operation and is blocked in safe mode. The last superuser account cannot be deleted regardless of safe mode. |
| list_quota_filesystemsA | List filesystems with disk quota support. Shows which filesystems have quotas enabled and their status. |
| list_user_quotasB | List all user quotas on a specific filesystem. Shows disk usage, soft/hard limits for blocks and files. |
| get_user_quotaB | Get quota limits and usage for a specific user on a filesystem. |
| get_group_quotaA | Get quota limits and usage for a specific group on a filesystem. |
| set_user_quotaA | Set disk quota limits for a user on a filesystem. This is a dangerous operation and is blocked in safe mode. Set limits to 0 for unlimited. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/gjenkins20/webmin-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server