1Panel MCP Server V1
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_HOST | No | HTTP listen address for the serve command (CLI: --bind); non-loopback addresses require MCP_TOKEN | 127.0.0.1 |
| MCP_PATH | No | Streamable HTTP path for the MCP endpoint | /mcp |
| MCP_PORT | No | HTTP listen port for the serve command (CLI: --mcp-port) | 8790 |
| MCP_TOKEN | No | HTTP access token for the MCP server; also used as the 1Panel panel API key when ONEPANEL_API_KEY is not set | |
| MCP_MAX_BODY | No | Maximum request body size in bytes | 33554432 |
| ONEPANEL_HOST | No | 1Panel server address (CLI: --host) | localhost |
| ONEPANEL_PORT | No | 1Panel server port (CLI: --port) | 8080 |
| ONEPANEL_API_KEY | No | 1Panel panel API key (falls back to MCP_TOKEN if unset) | |
| ONEPANEL_PROTOCOL | No | Protocol used to reach 1Panel: http or https | http |
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_containersB | List Docker containers |
| list_containers_simpleC | List containers (simple) |
| get_containerD | Get container info |
| inspect_containerD | Inspect container |
| start_containerD | Start container |
| stop_containerC | Stop container |
| restart_containerD | Restart container |
| pause_containerC | Pause container |
| unpause_containerD | Unpause container |
| kill_containerD | Kill container |
| remove_containerC | Remove container |
| create_containerD | Create container |
| update_containerD | Update container |
| rename_containerC | Rename container |
| upgrade_containerD | Upgrade container |
| get_container_logsD | Get container logs |
| get_container_statsD | Get container stats |
| get_container_statusD | Get containers status |
| prune_containersC | Prune containers |
| clean_container_logD | Clean container log |
| get_container_usersD | Get container users |
| list_containers_by_imageC | List containers by image |
| commit_containerD | Commit container |
| list_imagesB | List Docker images |
| list_all_imagesB | List all Docker images |
| search_imagesC | Search images |
| pull_imageD | Pull image |
| push_imageD | Push image |
| remove_imageD | Remove image |
| build_imageD | Build image |
| tag_imageD | Tag image |
| save_imageD | Save image |
| load_imageD | Load image |
| list_networksC | List networks |
| create_networkD | Create network |
| remove_networkD | Remove network |
| list_volumesC | List volumes |
| create_volumeD | Create volume |
| remove_volumeD | Remove volume |
| list_composesB | List compose projects |
| create_composeD | Create compose |
| remove_composeD | Remove compose |
| start_composeD | Start compose |
| stop_composeD | Stop compose |
| restart_composeD | Restart compose |
| update_composeD | Update compose |
| test_composeD | Test compose |
| get_compose_envC | Get compose environment |
| clean_compose_logC | Clean compose log |
| list_installed_appsC | List installed apps |
| list_app_storeD | List app store |
| install_appD | Install app |
| uninstall_appD | Uninstall app |
| update_appD | Update app |
| list_filesC | List files in a directory |
| search_filesC | Search files with keyword |
| get_file_contentC | Get file content |
| save_fileC | Save file content |
| delete_fileC | Delete file or directory |
| create_dirD | Create directory |
| create_fileC | Create empty file |
| compress_filesD | Compress files/directories |
| decompress_fileC | Decompress archive |
| move_fileC | Move file/directory |
| rename_fileC | Rename file/directory |
| chmod_fileC | Change file permissions |
| chown_fileC | Change file owner |
| check_fileC | Check if file exists |
| get_file_sizeC | Get file size |
| get_file_treeD | Get directory tree |
| download_fileD | Get download link |
| wget_fileC | Download from URL |
| list_websitesD | List websites |
| create_websiteD | Create website |
| get_websiteC | Get website details |
| update_websiteD | Update website |
| delete_websiteD | Delete website |
| list_website_domainsD | List website domains |
| create_website_domainC | Add domain to website |
| delete_website_domainC | Remove domain from website |
| update_website_domainD | Update website domain |
| list_certificatesB | List SSL certificates |
| get_certificateC | Get SSL certificate details |
| create_certificateC | Create SSL certificate |
| delete_certificateC | Delete SSL certificate |
| obtain_sslC | Obtain SSL certificate (Let's Encrypt) |
| renew_sslC | Renew SSL certificate |
| resolve_sslD | Resolve SSL certificate |
| upload_sslC | Upload SSL certificate |
| get_website_sslC | Get website SSL certificate |
| get_httpsD | Get HTTPS configuration |
| update_httpsD | Update HTTPS configuration |
| apply_sslD | Apply SSL to website |
| get_nginx_confC | Get Nginx configuration |
| update_nginx_confC | Update Nginx configuration |
| list_databasesD | List databases |
| create_databaseD | Create database |
| delete_databaseD | Delete database |
| get_databaseD | Get database details |
| mysql_bind_userD | MySQL: Bind/create user |
| mysql_change_passwordC | MySQL: Change user password |
| mysql_change_accessD | MySQL: Change remote access |
| mysql_get_infoC | MySQL: Get server info |
| mysql_get_remote_accessB | MySQL: Get remote access config |
| mysql_update_remote_accessD | MySQL: Update remote access |
| mysql_get_statusB | MySQL: Get server status |
| mysql_get_variablesC | MySQL: Get variables |
| mysql_update_variablesD | MySQL: Update variables |
| postgresql_bind_userD | PostgreSQL: Bind/create user |
| postgresql_change_passwordC | PostgreSQL: Change password |
| postgresql_change_privilegesD | PostgreSQL: Change privileges |
| postgresql_list_databasesB | PostgreSQL: List databases |
| redis_get_confD | Redis: Get configuration |
| redis_update_confC | Redis: Update configuration |
| redis_change_passwordC | Redis: Change password |
| redis_get_statusC | Redis: Get status |
| redis_get_persistence_confC | Redis: Get persistence config |
| redis_update_persistence_confD | Redis: Update persistence |
| get_system_infoC | Get system info |
| get_system_monitorC | Get system monitor |
| get_dashboard_base_infoD | Get dashboard base info |
| get_dashboard_current_infoC | Get dashboard current info |
| get_dashboard_memoC | Get dashboard memo |
| update_dashboard_memoD | Update dashboard memo |
| get_monitor_dataD | Get monitor data |
| get_monitor_settingC | Get monitor setting |
| update_monitor_settingD | Update monitor setting |
| clean_monitor_dataC | Clean monitor data |
| list_processesC | List processes |
| kill_processD | Kill process |
| get_ssh_configC | Get SSH config |
| update_ssh_configD | Update SSH config |
| exec_commandD | Execute command |
| get_settingsC | Get settings |
| update_settingsD | Update settings |
| list_operation_logsC | List operation logs |
| list_system_logsC | List system logs |
| list_cronjobsC | List cronjobs |
| create_cronjobD | Create cronjob |
| delete_cronjobC | Delete cronjob |
| list_firewall_rulesC | List firewall rules |
| create_firewall_ruleD | Create firewall rule |
| delete_firewall_ruleC | Delete firewall rule |
| list_backupsC | List backups |
| create_backupD | Create backup |
| restore_backupD | Restore backup |
| delete_backupD | Delete backup |
| list_backup_accountsC | List backup accounts |
| get_backup_account_optionsC | Get backup account options |
| get_backup_account_client_infoD | Get backup account client info |
| create_backup_accountD | Create backup account |
| update_backup_accountD | Update backup account |
| delete_backup_accountD | Delete backup account |
| check_backup_accountD | Check backup account |
| list_backup_account_filesC | List files in backup account |
| list_environmentsD | List environments |
| install_environmentD | Install environment |
| uninstall_environmentD | Uninstall environment |
| get_fail2ban_base_infoC | Get Fail2ban base info |
| get_fail2ban_confB | Get Fail2ban configuration |
| operate_fail2banC | Operate Fail2ban (start/stop/restart) |
| operate_fail2ban_sshC | Operate Fail2ban SSH (start/stop/restart) |
| search_fail2ban_banned_ipsC | Search banned IPs in Fail2ban |
| update_fail2ban_confD | Update Fail2ban configuration |
| update_fail2ban_conf_by_fileC | Update Fail2ban configuration by file content |
| list_disksC | List disks |
| get_disk_full_infoC | Get full disk information |
| mount_diskD | Mount disk |
| partition_diskD | Partition disk |
| unmount_diskD | Unmount disk |
| get_device_base_infoC | Get device base info |
| check_device_dnsC | Check device DNS |
| update_deviceD | Update device configuration |
| update_device_by_fileC | Update device configuration by file |
| update_device_hostsD | Update device hosts |
| update_device_passwordD | Update device password |
| update_device_swapD | Update device swap |
| list_ftp_usersC | List FTP users |
| get_ftp_base_infoC | Get FTP base info |
| create_ftp_userC | Create FTP user |
| update_ftp_userC | Update FTP user |
| delete_ftp_userC | Delete FTP user |
| operate_ftpC | Operate FTP (start/stop/restart) |
| sync_ftp_usersC | Sync FTP users |
| get_ftp_logsC | Get FTP logs |
| list_clam_configsC | List ClamAV configs |
| get_clam_base_infoC | Get ClamAV base info |
| create_clam_configC | Create ClamAV config |
| update_clam_configD | Update ClamAV config |
| delete_clam_configC | Delete ClamAV config |
| get_clam_fileC | Get ClamAV file config |
| update_clam_fileD | Update ClamAV file config |
| scan_clamC | Scan with ClamAV |
| get_clam_recordsC | Get ClamAV scan records |
| clean_clam_recordsC | Clean ClamAV records |
| update_clam_statusC | Update ClamAV status |
| list_php_runtimesB | List PHP runtimes |
| get_php_confD | Get PHP config |
| update_php_confC | Update PHP config |
| list_php_extensionsC | List PHP extensions |
| install_php_extensionC | Install PHP extension |
| uninstall_php_extensionD | Uninstall PHP extension |
| get_php_conf_fileC | Get PHP config file |
| update_php_conf_fileC | Update PHP config file |
| update_php_versionD | Update PHP version |
| list_hostsC | List hosts |
| get_hostD | Get host |
| create_hostD | Create host |
| update_hostD | Update host |
| delete_hostD | Delete host |
| test_host_connectionC | Test host connection |
| test_host_connection_by_infoD | Test host connection by info |
| get_host_treeC | Get host tree |
| update_host_groupD | Update host group |
| list_host_groupsC | List host groups |
| create_host_groupD | Create host group |
| update_host_group_by_idD | Update host group |
| delete_host_groupC | Delete host group |
| generate_host_ssh_keyC | Generate host SSH key |
| get_host_ssh_keyC | Get host SSH key |
| delete_host_ssh_keyC | Delete host SSH key |
| sync_host_ssh_keyD | Sync host SSH key |
| update_host_ssh_keyD | Update host SSH key |
| get_host_ssh_confC | Get host SSH config |
| get_host_ssh_logsB | Get host SSH logs |
| get_recycle_bin_statusB | Get recycle bin status |
| list_recycle_binB | List recycle bin files |
| clear_recycle_binC | Clear recycle bin |
| reduce_recycle_binC | Restore file from recycle bin |
| list_snapshotsB | List system snapshots |
| create_snapshotC | Create system snapshot |
| delete_snapshotC | Delete system snapshot |
| update_snapshot_descriptionD | Update snapshot description |
| import_snapshotD | Import system snapshot |
| load_snapshotD | Load snapshot data |
| recover_snapshotD | Recover from snapshot |
| recreate_snapshotD | Recreate snapshot |
| get_executing_task_countC | Get executing task count |
| get_task_logsC | Get task logs |
| get_openresty_confB | Get OpenResty configuration (XPack) |
| build_openrestyD | Build OpenResty (XPack) |
| update_openresty_by_fileC | Update OpenResty config by file (XPack) |
| get_openresty_modulesC | Get OpenResty modules (XPack) |
| update_openresty_moduleD | Update OpenResty module (XPack) |
| get_openresty_partial_confB | Get OpenResty partial config (XPack) |
| get_openresty_statusB | Get OpenResty status (XPack) |
| update_openresty_confC | Update OpenResty configuration (XPack) |
| get_node_modulesD | Get Node modules (XPack) |
| operate_node_moduleD | Operate Node module (XPack) |
| get_node_package_scriptsC | Get Node package scripts (XPack) |
| list_ollama_modelsB | List Ollama models (XPack) |
| create_ollama_modelC | Create Ollama model (XPack) |
| delete_ollama_modelC | Delete Ollama model (XPack) |
| load_ollama_modelC | Load Ollama model (XPack) |
| recreate_ollama_modelD | Recreate Ollama model (XPack) |
| sync_ollama_modelsC | Sync Ollama models (XPack) |
| close_ollama_modelC | Close Ollama model connection (XPack) |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 257 tools
The set contains many overlapping and near-duplicate tools, e.g. list_containers vs list_containers_simple, get_container vs inspect_container, get_system_info vs get_system_monitor, and several MySQL/PostgreSQL/Redis-prefixed variants. An agent would struggle to reliably choose the correct tool for a given intent.
Most tools use snake_case and follow a verb_noun style, but conventions are mixed across service-specific prefixes (mysql_, postgresql_, redis_), generic DB operations, and verbs such as operate_, exec_, wget_, sync_, and test_. It is readable but not uniformly predictable.
257 tools is an extreme mismatch for a single MCP server and far exceeds practical selection and context limits. Even if each tool maps to an API endpoint, the count makes the surface unwieldy for an agent.
The server covers an unusually broad range of 1Panel administration areas, including Docker, websites, SSL, databases, files, backups, firewall, hosts, snapshots, and security tools. Some minor lifecycle gaps exist, such as cronjob update/get and firewall rule update, but core operations are well represented.