Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PORTNoPort for the HTTP/SSE server.8888
DA_URLYesBase URL of the DirectAdmin panel, e.g. https://panel.example.com:2222.
MCP_HOSTNoHost/interface for the HTTP/SSE server.127.0.0.1
AUDIT_LOGNoPath to the JSONL audit log.logs/audit.jsonl
ENABLE_CSFNoEnable CSF/firewall plugin calls.true
DA_USERNAMEYesDirectAdmin username with API access, usually admin.
DA_LOGIN_KEYYesDirectAdmin login key (not the main password).
DA_SSL_VERIFYNoVerify the panel SSL certificate.true
TOOL_DENYLISTNoOptional comma-separated list of tool names to deny.da_execute
DA_IMPERSONATENoDefault user to impersonate when performing actions; prefer per-tool impersonate parameter.
ENABLE_EXECUTENoEnable /api/execute passthrough.false
MCP_AUTH_TOKENNoBearer token required for HTTP/SSE access in production.
TOOL_ALLOWLISTNoOptional comma-separated list of tool names to allow.
REQUIRE_CONFIRMNoWhether destructive tools require confirm=true.true
ENABLE_CLOUDLINUXNoEnable CloudLinux tools (opt-in).false
MCP_ALLOWED_CIDRSNoOptional comma-separated list of client CIDRs allowed to connect.
ENABLE_CSF_DISABLENoAllow csf_disable tool. Denied by default.false
RATE_LIMIT_PER_MINUTENoRate limit per client identity.60
ENABLE_SERVICE_CONTROLNoEnable service control tools like services_restart.false

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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
policy_statusA

Show which optional capabilities are on.

A denied tool means the matching ENABLE_* flag is false. Do not try to bypass it. Ask the operator to flip the flag on the host if they want that class of action.

audit_searchA

Search the structured MCP audit log.

Answers: which agent restarted which service, who triggered an update, whether a call was denied by policy or outside the maintenance window.

Args: tool: Tool name or prefix (services_restart, ssl_). actor: Agent id (X-Agent-Id / MCP_ACTOR). event: tool_call, tool_ok, tool_denied, tool_window_denied, … query: Substring match on the redacted JSON line. since: ISO timestamp (inclusive). until: ISO timestamp (inclusive). limit: Max rows (1–200).

audit_recentA

Last N audit events (newest first). Same log as audit_search.

window_nowA

Is the maintenance window open right now? Reads still work when it is closed.

inventory_listB

Fleet catalog on the hops host (no secrets). Who has CloudLinux, which profile.

inventory_thisC

The DirectAdmin box this MCP process is wired to.

inventory_getA

Look up one server in the hops inventory.

Args: server_id: id from inventory_list.

ssl_list_domain_certsA

List TLS certificates installed on a user domain.

Args: domain: Fully-qualified domain (example.com). impersonate: Optional user to act as (admin login-as).

ssl_get_domain_acme_configA

Read ACME (Let's Encrypt / ZeroSSL) configuration for a domain.

Args: domain: Fully-qualified domain. impersonate: Optional user to act as.

ssl_set_domain_acme_configA

Update ACME settings for a domain before issuing or reissuing a cert.

Args: domain: Fully-qualified domain. enabled: Whether ACME auto-management is on. provider: '' | letsencrypt | letsencrypt-staging | zerossl key_type: rsa2048 | rsa4096 | ec256 | ec384 prefer_wildcard: Request *.domain when DNS challenge is available. dns_provider: Optional DNS plugin name (cloudflare, …) for DNS-01. skip_dns_names: Names that ACME should ignore. dns_environment: Provider env vars (tokens are redacted in logs). impersonate: Optional user to act as. confirm: Must be true — writes ACME secrets.

ssl_reissue_domainA

Reissue / provision the Let's Encrypt (or configured ACME) certificate for a domain.

This is the primary 'renew/reissue SSL' action. It calls POST /api/domain-tls/{domain}/provision-certs (or the dry-run sibling). DirectAdmin must have ACME enabled for the domain — use ssl_get_domain_acme_config first if you are unsure. For hostname/server certs use ssl_reissue_server.

Args: domain: Fully-qualified domain to reissue. impersonate: User that owns the domain (recommended for admin). dry_run: If true, validate only — do not hit the CA. confirm: Required unless dry_run is true.

ssl_reissue_domain_legacyA

Fallback Let's Encrypt request via legacy CMD_API_SSL (older DirectAdmin).

Use ssl_reissue_domain first. This exists for panels that predate /api/domain-tls.

Args: domain: Domain to issue. wildcard: Include *.domain (needs DNS challenge). entries: Extra hostnames (www, mail, …). Defaults to domain + www.domain. keysize: secp384r1 | ecdsa | 4096 | 2048 encryption: sha256 impersonate: Owning user. confirm: Required.

ssl_delete_domain_certA

Delete one certificate from a domain.

Args: domain: Domain. cert_id: Certificate id from ssl_list_domain_certs. update_acme_skiplist: Let ACME manage this name again after delete. impersonate: Owning user. confirm: Required.

ssl_get_cert_filesA

Download certificate + chain + key files for a domain cert id.

The private key is returned by DirectAdmin — treat the response as secret.

Args: domain: Domain. cert_id: Certificate id. impersonate: Owning user.

ssl_upload_cert_filesA

Replace a domain certificate with uploaded PEM files.

Args: domain: Domain. cert_id: Certificate id. certificate: PEM certificate body. key: PEM private key. chain: Optional intermediate PEM list. force: Allow a certificate that fails validation. dry_run: Validate only. impersonate: Owning user. confirm: Required unless dry_run.

ssl_create_csrC

Create a CSR for a domain certificate slot (commercial CA flow).

Args: domain: Domain. cert_id: Certificate id. common_name: CN, defaults to the domain. impersonate: Owning user.

ssl_install_self_signedA

Install a self-signed certificate on a domain (lab / placeholder only).

Args: domain: Domain. cert_id: Certificate id. dns_names: SANs. Defaults to [domain]. key_type: rsa2048 | rsa4096 | ec256 | ec384 overwrite: Replace existing material. impersonate: Owning user. confirm: Required.

ssl_server_statusA

Hostname / DirectAdmin service TLS status (not a user domain).

ssl_server_certificateA

Read the current hostname certificate metadata.

ssl_server_acme_configA

Read ACME configuration used for the server hostname certificate.

ssl_set_server_acme_configA

Update ACME settings for the DirectAdmin hostname certificate.

Args: account: ACME account email. enabled: Enable ACME for the hostname. provider: '' | letsencrypt | letsencrypt-staging | zerossl key_type: rsa2048 | rsa4096 | ec256 | ec384 additional_domains: Extra names on the hostname cert. dns_provider: Optional DNS-01 provider. dns_environment: Provider secrets. confirm: Required.

ssl_reissue_serverB

Force-obtain / reissue the DirectAdmin hostname TLS certificate.

Calls POST /api/server-tls/obtain. Use this when the panel hostname cert is expired or the hostname changed.

Args: confirm: Required.

ssl_server_enableA

Enable TLS on the DirectAdmin service itself.

Args: force: Force the switch even if a cert looks incomplete. confirm: Required.

ssl_server_filesA

Download the hostname certificate and key (secret).

ssl_server_upload_filesB

Replace the hostname certificate with uploaded PEM files.

Args: certificate: PEM cert (+ optional chain). key: PEM private key. force: Allow an invalid cert. confirm: Required.

ssl_acme_dns_providersA

List ACME DNS-01 providers the panel knows about (Cloudflare, …).

ssl_admin_listA

List every user/domain certificate the Admin SSL page shows.

This is the Admin Level → Admin SSL overview (CMD_ADMIN_SSL?json=yes). It is not in the New JSON API. Requires Pro Pack and a login key that is allowed to run CMD_ADMIN_SSL.

Use this to see which customer domains are missing, expired, or valid before calling ssl_admin_reissue.

ssl_admin_reissueA

Request Let's Encrypt certificates for selected customer domains.

This is the Admin SSL icon action: POST CMD_ADMIN_SSL action=multiple. The panel queues ACME in the background (dataskq) — no impersonation. Prefer this when an operator says “reissue SSL for these clients” from the Admin SSL page.

For a single domain on a modern panel, ssl_reissue_domain (New API, impersonate the owner) is more precise.

Args: domains: Customer domain names as listed by ssl_admin_list (max 50). wildcard: Request *.domain (dns-01). Default is http-01 / per-host. confirm: Required.

ssl_admin_flagsA

Read admin_ssl_* and letsencrypt_* flags from directadmin.conf.

These control the automatic Admin SSL poller (install-to-missing, replace-expired, cert-on-create). Change them with da_config_local_patch.

csf_search_ipA

Search CSF/iptables/LFD for an IP (csf -g). Shows why it is blocked.

Args: ip: IPv4 or IPv6 address.

csf_ip_reasonA

Why CSF/LFD listed this IP (list + LFD comment). Safe to show an operator.

Parses csf -g via the plugin. Typical comment: lfd: (sshd) Failed SSH login … 8 in the last 3600 secs. Pair with bfm_ip_reason or use ip_block_reason for both + a customer text.

Args: ip: IPv4 or IPv6.

csf_unblock_ipA

Unblock an IP in CSF/LFD (permanent deny + temporary ban).

This is the primary 'unlock from firewall' action. It:

  1. Runs the plugin Quick Unblock (action=kill) — csf -dr + csf -tr + drop states

  2. Also sends qrm when the plugin supports it

  3. Optionally adds a temporary allow so the next connection is not re-banned

Pair with bfm_unblock_ip if DirectAdmin Brute Force Monitor also listed the IP.

Args: ip: IPv4 or IPv6 to unblock. also_allow: After unblock, temporarily whitelist the IP. allow_ttl_seconds: TTL for the optional temporary allow (default 1h). comment: Note stored next to the allow rule. confirm: Required.

csf_allow_ipA

Whitelist an IP in CSF (csf -a / temporary allow).

Allowed IPs bypass closed ports but LFD can still block them unless ignored.

Args: ip: IPv4, IPv6, or CIDR. comment: Note stored with the rule. temporary: Use a TTL instead of a permanent allow. ttl_seconds: Lifetime when temporary=true. confirm: Required.

csf_deny_ipA

Block an IP in CSF (csf -d / temporary deny).

Args: ip: IPv4, IPv6, or CIDR. comment: Note stored with the rule. temporary: Use a TTL instead of a permanent deny. ttl_seconds: Lifetime when temporary=true. confirm: Required.

csf_ignore_ipB

Add an IP to csf.ignore so LFD never blocks it.

Args: ip: IPv4, IPv6, or CIDR. comment: Note. confirm: Required.

csf_remove_allowC

Remove an IP from the CSF allow list (csf -ar).

Args: ip: Address to remove. confirm: Required.

csf_flush_tempC

Flush all CSF temporary allow/deny rules (csf -tf).

Args: confirm: Required.

csf_restartC

Restart CSF, and optionally LFD.

Args: also_lfd: Restart both csf and lfd (csf -ra). confirm: Required.

csf_enableC

Enable CSF (csf -e).

Args: confirm: Required.

csf_disableA

Disable CSF (csf -x). Dangerous — the host is unprotected until re-enabled.

Blocked unless ENABLE_CSF_DISABLE=true. Prefer csf_unblock_ip instead.

Args: confirm: Required.

csf_statusA

Best-effort CSF plugin landing / status page (HTML or structured).

bfm_listA

List Brute Force Monitor state (blocked IPs, failed logins).

For one IP use bfm_ip_reason — that is the 'why was this blocked' view.

Args: blocked_only: Hint for the client; the panel still returns the full JSON.

bfm_ip_reasonA

Why Brute Force Monitor listed this IP (service, user, attempts, log line).

Returns operator reason and customer_message (en + bg) you can paste to the client. Prefer ip_block_reason when you also need the CSF/LFD side.

Args: ip: IPv4 or IPv6 to explain.

ip_block_reasonA

Why this IP is blocked — CSF/LFD and Brute Force Monitor together.

This is the tool to call when the operator (or the customer) asks "защо е блокиран". Read-only. Returns:

  • operator_reason: technical (lists, LFD comment, BFM log line)

  • customer_message.en / .bg: paste-ready, no host paths

If there is no recorded reason, says so instead of inventing one.

Args: ip: IPv4 or IPv6.

bfm_unblock_ipA

Remove an IP from DirectAdmin Brute Force Monitor blocks.

Use together with csf_unblock_ip — an IP is often listed in BOTH places.

Args: ip: IPv4 or IPv6 to unblock. confirm: Required.

bfm_skip_ipC

Add an IP to the BFM skip / never-block list.

Args: ip: Address to skip. confirm: Required.

firewall_unblock_everywhereA

Unblock an IP in CSF and DirectAdmin Brute Force Monitor.

This is the 'customer is locked out' button. It does not disable the firewall.

Args: ip: IPv4 or IPv6. also_allow: Also add a temporary CSF allow (1 hour). confirm: Required.

users_list_allA

List every user on the server (admin).

users_listA

List users owned by the current reseller, or by reseller if given.

Args: reseller: Optional reseller username.

resellers_listA

List all reseller accounts.

admins_listA

List all admin accounts.

users_searchC

Search users via the New API.

Args: q: Query string (username / domain / email fragment). extended: Use /api/search/users-extended.

users_get_configB

Get user.conf style configuration (limits, domains, suspended flag).

Args: username: Account name.

users_get_usageC

Get live usage + limits for a user.

Args: username: Account name.

users_login_historyB

Login history for a specific user.

Args: username: Account name.

resellers_get_configC

Reseller configuration.

Args: username: Reseller name.

resellers_get_usageB

Combined reseller + owned-users usage.

Args: username: Reseller name.

users_createA

Create a user from a package (legacy CMD_API_ACCOUNT_USER).

Args: username: New username (usually 3–16 alphanumeric). email: Contact email. password: Initial password (prefer sending a login-key later). domain: Primary domain. package: Existing user package name. ip: shared | sharedreseller | a free IP. notify: Email the welcome message. confirm: Required.

resellers_createB

Create a reseller from a reseller package.

Args: username: New reseller. email: Contact email. password: Initial password. domain: Primary domain. package: Reseller package name. ip: shared | sharedreseller | assign. notify: Send welcome email. confirm: Required.

users_deleteB

Permanently delete a user/reseller/admin account.

Args: username: Account to delete. confirm: Required.

users_suspendC

Toggle suspend/unsuspend for an account (DirectAdmin toggle).

Args: username: Account. confirm: Required.

users_change_passwordA

Change another account's password (admin).

Args: username: Target account. Empty / current user uses /api/change-password. new_password: New password. confirm: Required.

users_change_creatorC

Move a user to a different reseller/creator.

Args: username: User to move. new_creator: Destination reseller/admin. confirm: Required.

users_convert_to_resellerB

Promote a user account to reseller.

Args: username: User to promote. confirm: Required.

resellers_convert_to_userC

Demote a reseller to a regular user.

Args: username: Reseller to demote. confirm: Required.

admin_usageB

Current admin's resource usage.

users_existsB

Check whether an account name already exists (admin).

Args: username: Candidate username.

users_unsuspendC

Unsuspend an account (same toggle endpoint as users_suspend).

Args: username: Account. confirm: Required.

users_modifyA

Customize limits on an existing user (CMD_API_MODIFY_USER).

Empty strings leave that field unchanged. Use 'unlimited' or a number.

Args: username: Account. bandwidth: Bandwidth MB or unlimited. quota: Disk MB or unlimited. vdomains: Domain limit or unlimited. nemails: Mailbox limit or unlimited. mysql: Database limit or unlimited. php: ON | OFF ssl: ON | OFF ssh: ON | OFF confirm: Required.

admins_createB

Create another admin account.

Args: username: New admin. email: Contact email. password: Initial password. notify: Send welcome email. confirm: Required.

packages_user_listA

List user packages, or show one package.

Args: package: Optional package name.

packages_reseller_listB

List reseller packages (legacy), or one package.

Args: package: Optional package name.

packages_reseller_new_apiC

Reseller packages via the New API.

Args: package: Optional package name for /api/reseller-packages/{package}.

packages_user_deleteC

Delete a user package.

Args: package: Package name. confirm: Required.

packages_user_saveA

Create or overwrite a user package.

Args: name: Package name. bandwidth: MB or unlimited. quota: MB or unlimited. vdomains: Domain limit or unlimited. nemails: Mailbox limit or unlimited. mysql: Database limit or unlimited. php: ON | OFF ssl: ON | OFF cgi: ON | OFF confirm: Required.

ips_listA

List IPs visible to this reseller/admin.

ips_getB

Details for one IP.

Args: ip: Address.

ips_admin_listB

Admin-level IP list (CMD_API_IP_MANAGER).

ips_addC

Add an IP to the admin IP manager.

Args: ip: Address to add. netmask: Netmask (IPv4) or prefix hint. confirm: Required.

ips_removeC

Remove an IP from the admin IP manager.

Args: ip: Address to remove. confirm: Required.

ips_assignC

Assign an IP to a reseller/user.

Args: ip: Address. username: Destination account. confirm: Required.

dns_admin_listA

List DNS zones (admin).

dns_zone_getB

Get records for a zone.

Args: domain: Zone name.

dns_record_addA

Add a DNS record.

Args: domain: Zone. record_type: A | AAAA | CNAME | MX | TXT | NS | SRV | CAA … name: Record name (use @ or the domain for the apex). value: Record value. ttl: TTL seconds. confirm: Required.

dns_record_deleteC

Delete a DNS record.

Args: domain: Zone. record_type: Type. name: Name. value: Value (required by most DA versions). confirm: Required.

domains_list_userA

List domains owned by a user (admin) or the current account.

Args: username: Optional account. Empty = current session (CMD_API_SHOW_DOMAINS).

domains_createA

Create an additional domain on the current (or impersonated) user.

Args: domain: FQDN to add. bandwidth: MB or 'unlimited'. quota: MB or 'unlimited'. ssl: Enable SSL for the domain. cgi: Enable CGI. php: Enable PHP. impersonate: Owning user (admin should set this). confirm: Required.

domains_deleteC

Delete a domain from an account.

Args: domain: Domain to remove. impersonate: Owning user. confirm: Required.

subdomains_listA

List subdomains of a domain.

Args: domain: Parent domain. impersonate: Owning user.

subdomains_createA

Create a subdomain.

Args: domain: Parent domain. subdomain: Left-most label only (e.g. 'shop', not shop.example.com). impersonate: Owning user. confirm: Required.

subdomains_deleteA

Delete a subdomain.

Args: domain: Parent domain. subdomain: Label to remove. contents: Also delete files under the subdomain document root. impersonate: Owning user. confirm: Required.

domain_pointers_listA

List domain pointers (aliases) for a domain.

Args: domain: Parent domain. impersonate: Owning user.

domain_pointers_createC

Add a domain pointer / alias.

Args: domain: Existing parent domain. from_domain: New hostname that should point at the parent. alias: True = alias (same site), False = pointer (redirect). impersonate: Owning user. confirm: Required.

domain_pointers_deleteB

Remove a domain pointer.

Args: domain: Parent domain. pointer: Pointer hostname. impersonate: Owning user. confirm: Required.

redirects_listA

List site redirects for a domain.

Args: domain: Domain. impersonate: Owning user.

redirects_createA

Create a site redirect.

Args: domain: Domain. path: Source path (e.g. /old). destination: Target URL. redirect_type: 301 | 302 | 303. impersonate: Owning user. confirm: Required.

email_pop_listA

List POP/IMAP accounts on a domain.

Args: domain: Domain. full: Use action=full_list (quota + usage) when true. impersonate: Owning user.

email_pop_createA

Create a mailbox (user@domain).

Args: domain: Domain. user: Local part only (before @). password: Mailbox password. quota_mb: 0 = unlimited. impersonate: Owning user. confirm: Required.

email_pop_deleteC

Delete a mailbox.

Args: domain: Domain. user: Local part. impersonate: Owning user. confirm: Required.

email_pop_modifyA

Change mailbox password and/or quota.

Args: domain: Domain. user: Local part. password: New password (empty = leave unchanged). quota_mb: New quota; -1 = leave unchanged, 0 = unlimited. impersonate: Owning user. confirm: Required.

email_forwarders_listB

List forwarders on a domain.

Args: domain: Domain. impersonate: Owning user.

email_forwarder_createC

Create an email forwarder.

Args: domain: Domain. user: Local part (source). destination: Destination address or comma-separated list. impersonate: Owning user. confirm: Required.

email_forwarder_deleteC

Delete a forwarder.

Args: domain: Domain. user: Local part. impersonate: Owning user. confirm: Required.

email_autoresponders_listB

List autoresponders on a domain.

Args: domain: Domain. impersonate: Owning user.

email_logsA

Global email logs (admin).

email_logs_summaryC

Email log summary.

email_logs_userB

Current/impersonated user email logs.

email_vacation_listC

Vacation / autoresponder list for a domain.

Args: domain: Domain.

email_vacation_getC

One vacation message.

Args: domain: Domain. user: Local part.

email_vacation_setB

Create/update a vacation message.

Args: domain: Domain. user: Local part. values: Vacation body. confirm: Required.

email_vacation_deleteC

Delete a vacation message.

Args: domain: Domain. user: Local part. confirm: Required.

email_mobileconfigB

Apple mobileconfig for the current email account.

imapsync_migrationsC

IMAP migration tasks.

imapsync_importB

Import mail from a remote IMAP server into this box.

Args: payload: Panel imapsync import body (host, user, password, dest). confirm: Required. Passwords in the payload are redacted in logs.

imapsync_exportC

Export mail from this box to a remote IMAP server.

Args: payload: Panel imapsync export body. confirm: Required.

imapsync_cancelB

Cancel a running IMAP migration.

Args: migration_id: Id from imapsync_migrations. confirm: Required.

ftp_listA

List FTP accounts for a domain.

Args: domain: Domain. impersonate: Owning user.

ftp_createB

Create an FTP account.

Args: domain: Domain. user: FTP username (local part). password: FTP password. path_type: domain | ftp | user | custom custom_path: Required when path_type=custom. impersonate: Owning user. confirm: Required.

ftp_deleteC

Delete an FTP account.

Args: domain: Domain. user: FTP username. impersonate: Owning user. confirm: Required.

cron_listA

List cron jobs for the current (or impersonated) user.

Args: impersonate: Owning user.

cron_createC

Create a cron job.

Args: minute: Cron minute (0-59 or *). hour: Cron hour. day_of_month: Day of month. month: Month. day_of_week: Day of week. command: Command to run (no shell metachar redirection from untrusted input). impersonate: Owning user. confirm: Required.

cron_deleteA

Delete a cron job by its panel id / select key.

Args: job_id: Id from cron_list (select0 value). impersonate: Owning user. confirm: Required.

domains_set_phpB

Set the PHP version selector for a domain.

Args: domain: Domain. php1_select: Selector index from the panel (often '1', '2', … mapping to php versions). impersonate: Owning user. confirm: Required.

backups_admin_listA

List admin-level backups / backup settings.

backups_createA

Create a backup for one user.

Args: username: Account to back up. where: Backup destination the panel understands (local / ftp / …). confirm: Required.

backups_restoreB

Restore a user from a local backup file.

Args: username: Account to restore into. file: Backup filename as listed by the panel. confirm: Required.

backups_admin_nowC

Kick an admin-level backup now.

Args: who: all | or a username. where: Destination the panel understands. confirm: Required.

system_infoB

High-level panel info (/api/info).

system_versionB

DirectAdmin version and update channel.

system_set_update_channelA

Change the DirectAdmin update channel.

Args: channel: current | stable | beta | alpha (panel-dependent). confirm: Required.

system_update_directadminB

Update DirectAdmin itself to the latest build on the current channel.

Args: confirm: Required.

system_restart_directadminC

Restart the DirectAdmin service.

Args: confirm: Required.

system_cpuC

CPU information.

system_memoryC

Memory information.

system_loadB

1/5/10 minute load averages.

system_diskC

Filesystem usage.

system_uptimeB

Host uptime.

system_services_overviewC

Services occupancy snapshot (not the systemd list).

system_resource_usage_latestA

Latest per-user resource usage snapshot.

system_resource_usage_historyC

Historical resource usage.

system_global_usage_latestB

Latest global resource usage.

system_global_usage_historyC

Global resource usage history for one user.

Args: user: Username.

system_packages_updatesB

Available OS package upgrades.

system_packages_update_testA

Dry-run OS package upgrade.

Args: packages: Optional package name list. Empty = all pending.

system_packages_update_runB

Apply OS package upgrades.

Args: packages: Optional package name list. Empty = all pending. confirm: Required.

system_packages_historyB

History of OS package upgrade tasks.

license_getC

DirectAdmin license details.

license_proofC

License proof document.

license_update_keyC

Install a new license key.

Args: key: License key. confirm: Required.

maintenance_listC

Maintenance tasks / health checks the panel exposes.

maintenance_checkB

Run a maintenance check.

Args: task: Task id from maintenance_list.

maintenance_fixC

Apply a maintenance fix.

Args: task: Task id. confirm: Required.

services_listA

List managed services (httpd, exim, dovecot, named, …).

services_getA

Details for one service.

Args: service: Service name (e.g. httpd, exim, dovecot, named, proftpd).

services_logsB

Read a service log.

Args: service: Service name. cursor: Pagination cursor from a previous response. limit: Max lines. level: Optional log level filter.

services_startC

Start a service.

Args: service: Service name. confirm: Required.

services_stopC

Stop a service.

Args: service: Service name. confirm: Required.

services_restartC

Restart a service.

Args: service: Service name. confirm: Required.

services_reloadC

Reload a service configuration.

Args: service: Service name. confirm: Required.

services_watchdogC

Toggle the service watchdog.

Args: service: Service name. enabled: True to watch, False to stop watching. confirm: Required.

hostname_changeB

Change the server hostname.

Args: hostname: New FQDN. confirm: Required. Reissue the hostname SSL afterwards with ssl_reissue_server.

da_config_activeA

Currently applied directadmin.conf (merged).

da_config_defaultC

Default directadmin.conf values.

da_config_localC

Local overrides in directadmin.conf.

da_config_local_updateB

Replace local directadmin.conf overrides (PUT).

Args: values: Full local config object as the panel expects. confirm: Required.

da_config_local_patchC

Patch selected directadmin.conf keys.

Args: values: Partial local config. confirm: Required.

timezone_currentA

Current server timezone.

timezone_listB

Available timezones.

timezone_setC

Set server timezone.

Args: timezone: IANA name, e.g. Europe/Sofia. confirm: Required.

email_server_configC

Global email / exim configuration.

email_server_config_updateC

Update global email configuration.

Args: values: Config object. confirm: Required.

email_outbound_filterC

Outbound email filter settings.

email_outbound_filter_updateC

Update outbound email filter.

Args: values: Filter object. confirm: Required.

db_server_configB

SQL server connection settings used by the panel.

db_server_config_updateC

Update SQL server settings.

Args: values: Config object. confirm: Required.

db_server_config_testA

Test the configured SQL connection.

login_keys_listA

List login keys on the current account.

login_keys_commandsC

Commands a login key can be restricted to.

login_keys_getC

Get one login key.

Args: key_id: Key id.

login_keys_historyC

Usage history for a login key.

Args: key_id: Key id.

login_keys_createB

Create a login key. Prefer IP-restricted, command-restricted keys.

Args: payload: Create body as documented by /api/login-keys/keys (name, expires, ips, commands, …). confirm: Required.

login_keys_updateC

Update a login key.

Args: key_id: Key id. payload: Patch body. confirm: Required.

login_keys_deleteC

Delete a login key.

Args: key_id: Key id. confirm: Required.

login_urls_listA

List one-time / login-as URLs.

login_urls_createC

Create a login URL.

Args: payload: Create body. confirm: Required.

login_urls_deleteC

Delete a login URL.

Args: url_id: URL id. confirm: Required.

login_url_one_shotC

Create a one-shot panel login URL (POST /api/login/url).

Args: payload: Optional body the panel expects.

session_getA

Current session (who am I, level, selected domain).

session_stateC

Session UI state.

session_user_configC

Current account user.conf.

session_user_usageC

Current account usage.

session_reseller_configA

Current reseller config (when logged in as reseller/admin).

session_switch_domainB

Switch the active domain in the session.

Args: domain: Domain to select.

session_login_asA

Switch the session into another account (login-as).

Prefer the impersonate= argument on individual tools — it does not mutate the long-lived session.

Args: username: Account to impersonate. confirm: Required.

session_login_as_returnA

Leave a login-as session and return to the admin.

session_login_as_usersB

Search users available for login-as.

Args: q: Query. limit: Max rows.

sessions_listB

List active sessions for this account.

sessions_destroyC

Destroy one other session.

Args: public_id: Session public id. confirm: Required.

sessions_destroy_all_otherB

Destroy every other session (force logout everywhere else).

Args: confirm: Required.

login_historyA

Current account login history.

profile_settingsB

Current profile settings.

profile_settings_updateC

Patch profile settings.

Args: values: Partial settings object.

messages_listC

Message center list.

messages_getC

Read one message.

Args: message_id: Message id.

tickets_listD

Support tickets.

ticket_requestsC

Ticket requests queue.

mfa_enableC

Enable multi-factor authentication on the current account.

Args: payload: Panel-specific body (otp, password, …). confirm: Required.

mfa_disableC

Disable MFA.

Args: payload: Usually includes the current password / OTP. confirm: Required.

mfa_generate_secretA

Generate a new TOTP secret (enrolment).

mfa_recovery_codesB

List MFA recovery codes.

security_txt_statusC

security.txt status.

modsecurity_globalC

Global ModSecurity configuration.

modsecurity_global_updateC

Update global ModSecurity configuration.

Args: values: Config object. confirm: Required.

modsecurity_all_configsB

All ModSecurity per-host configs.

modsecurity_user_configsB

Current user's ModSecurity configs.

modsecurity_host_configC

ModSecurity config for one hostname.

Args: hostname: vhost name.

modsecurity_audit_summaryC

ModSecurity audit log summary.

modsecurity_audit_entryD

One ModSecurity audit entry.

Args: entry_id: Optional entry identifier (query).

clamav_statusD

ClamAV status / start a scan (GET).

clamav_scanB

Start a ClamAV scan.

Args: payload: Scan options as the panel expects. confirm: Required.

clamav_killA

Kill a running ClamAV scan.

Args: pid: Process id from clamav_status. confirm: Required.

redis_statusA

Per-user Redis status.

redis_enableB

Enable Redis for the current/impersonated user.

Args: confirm: Required.

redis_disableC

Disable Redis.

Args: confirm: Required.

web_protect_listB

Directory password-protection list.

db_infoC

Database server info.

db_listA

List databases visible to the current/impersonated account.

db_getC

Details for one database.

Args: database: Database name.

db_usersA

List database users.

db_user_getD

One database user.

Args: dbuser: DB username.

db_createC

Create a database.

Args: payload: Create body (name, charset, …). confirm: Required.

db_create_with_userB

Create a database and a user in one call.

Args: payload: Combined create body. confirm: Required.

db_create_userC

Create a database user.

Args: payload: User body. confirm: Required.

db_deleteC

Drop a database.

Args: database: Name. confirm: Required.

db_delete_userC

Drop a database user.

Args: dbuser: Name. confirm: Required.

db_change_user_passwordC

Change a database user password.

Args: dbuser: Name. password: New password. confirm: Required.

db_repairC

Repair a database.

Args: database: Name. confirm: Required.

db_optimizeC

Optimize a database.

Args: database: Name. confirm: Required.

db_checkD

Check a database.

Args: database: Name.

db_processesB

Show process list (admin).

db_kill_processC

Kill a database process.

Args: process_id: Process id. confirm: Required.

fm_listB

List a directory.

Args: path: Absolute path inside the account home.

fm_treeB

Directory tree.

Args: path: Starting path.

fm_disk_usageC

Disk usage for a path.

Args: path: Path.

fm_search_filesB

Search file names.

Args: query: Filename fragment. path: Root to search.

fm_search_textC

Search file contents.

Args: query: Text. path: Root to search.

fm_mkdirC

Create a directory.

Args: path: New directory path. confirm: Required.

fm_removeC

Move paths to trash (or delete, depending on panel settings).

Args: paths: List of paths. confirm: Required.

fm_moveC

Move files.

Args: payload: Source/destination body. confirm: Required.

fm_copyC

Copy files.

Args: payload: Source/destination body. confirm: Required.

fm_chmodC

Change permissions.

Args: payload: Paths + mode. confirm: Required.

fm_trashA

List trash.

cb_stateC

CustomBuild current state.

cb_softwareC

Installed / available software.

cb_versionsC

Component versions.

cb_updatesC

Available CustomBuild updates.

cb_optionsC

CustomBuild options (options.conf).

cb_options_updateC

Patch CustomBuild options.

Args: values: Options object. confirm: Required.

cb_runC

Start a CustomBuild run (build / update / rewrite).

Args: payload: Run arguments (action, software, …). confirm: Required.

cb_killB

Kill a running CustomBuild job.

Args: confirm: Required.

cb_logsC

CustomBuild log names.

cb_actionsB

Available CustomBuild actions.

cb_removalsD

Software CustomBuild can remove.

plugins_listA

Installed plugins (user-facing list).

plugins_manager_listB

Plugin manager inventory (admin).

plugins_install_urlB

Install a plugin from a URL.

Args: url: https URL to a .tar.gz plugin. confirm: Required.

plugins_activateC

Activate a plugin.

Args: plugin_id: Plugin id. confirm: Required.

plugins_deactivateC

Deactivate a plugin.

Args: plugin_id: Plugin id. confirm: Required.

plugins_updateC

Update a plugin from its update_url.

Args: plugin_id: Plugin id. confirm: Required.

plugins_deleteC

Uninstall a plugin.

Args: plugin_id: Plugin id. confirm: Required.

wp_locationsB

List WordPress installations.

wp_installC

Install WordPress.

Args: payload: Install body (domain, path, title, admin user, …). confirm: Required.

wp_install_quickC

Quick WordPress install.

Args: payload: Quick-install body. confirm: Required.

wp_getC

WordPress instance details.

Args: location_id: Location id.

wp_deleteC

Remove a WordPress location from the manager.

Args: location_id: Location id. confirm: Required.

git_listB

List git applications on a domain.

Args: domain: Domain.

git_getC

One git application.

Args: uuid: Application uuid.

git_deployC

Trigger a git deploy.

Args: uuid: Application uuid. confirm: Required.

git_fetchC

Fetch remotes for a git application.

Args: uuid: Application uuid.

git_webhookA

Create or rotate the deploy webhook for a git application.

Args: username: Owning user. uuid: Application uuid. confirm: Required — webhook URLs are secrets.

propack_inventoryA

Map every Pro Pack feature to the curated tool that covers it.

Modern licenses include Pro Pack. Web Terminal is intentionally not wrapped.

unit_listA

List Nginx Unit applications and routes for a domain (CMD_UNIT).

Args: domain: Domain that owns the Unit apps. impersonate: Owning user.

unit_createB

Create an empty Nginx Unit application stub (then edit JSON in the panel).

Args: domain: Domain. name: Application name (saved as domain_name). impersonate: Owning user. confirm: Required.

unit_deleteC

Delete one or more Nginx Unit applications.

Args: domain: Domain. names: Application names. impersonate: Owning user. confirm: Required.

nginx_set_templateB

Apply a Pro Pack Nginx CMS template (WordPress, Drupal, FastCGI cache, …).

Args: domain: Domain. template: wordpress | wordpress_cache | drupal | joomla | magento | laravel | default | none impersonate: Owning user. confirm: Required.

cl_statusA

Detect CloudLinux / LVE Manager on this box.

Reads the plugin list and pings LVE Manager. Does not change anything.

cl_lve_usersB

List LVE users / current limits (LVE Manager action=users).

cl_lve_getB

LVE limits for one user.

Args: username: DirectAdmin account.

cl_lve_setA

Set LVE limits for one user (CPU/RAM/IO/processes).

Only numeric values, percents, or 'unlimited'. This is the CloudLinux equivalent of Pro Pack cgroups throttle.

Args: username: Account. speed: CPU (e.g. 100% or 200). pmem: Physical memory (e.g. 1024 or 1G-style numbers the plugin accepts as digits). io: Disk IO. nproc: Max processes. ep: Entry processes. iops: IOPS. confirm: Required.

cl_cagefs_enableC

Enable CageFS for one user.

Args: username: Account. confirm: Required.

cl_cagefs_disableC

Disable CageFS for one user. The account leaves the cage.

Args: username: Account. confirm: Required.

cl_php_selector_getA

Read CloudLinux PHP Selector for a user (plugin).

On non-CL boxes use domains_set_php (DirectAdmin PHP selector) instead.

Args: username: Account.

cl_php_selector_setB

Set CloudLinux PHP Selector version for a user.

Args: username: Account. version: alt-php version the plugin understands (e.g. 8.2, 8.3, native). confirm: Required.

search_resourcesC

Search panel resources (domains, dbs, emails, …).

Args: q: Query.

widgets_listC

Dashboard widgets.

cpanel_import_tasksD

cPanel import tasks.

cpanel_import_check_remoteC

Check a remote cPanel server before import.

Args: payload: Host / credentials body.

phpmyadmin_ssoB

Create a phpMyAdmin SSO session.

Args: database: Optional database name for database-scoped SSO.

da_list_endpointsA

List New API operations bundled with this server (from official swagger).

Args: prefix: Path prefix filter, e.g. /api/domain-tls or /api/users. method: Optional HTTP method filter (GET/POST/…).

da_describe_endpointA

Show parameters for one New API operation.

Args: method: HTTP method. path: Path template, e.g. /api/domain-tls/{domain}/provision-certs

da_apiA

Call any documented DirectAdmin New API endpoint.

Use this for operations that do not yet have a dedicated curated tool. The path must exist in the bundled swagger. /api/execute is blocked unless ENABLE_EXECUTE=true.

Args: method: GET POST PUT PATCH DELETE path: Template from da_list_endpoints (keep {placeholders}). path_params: Values for {placeholders}. query: Query string parameters. body: JSON body for non-GET requests. impersonate: Optional user to act as. confirm: Required for destructive methods / paths.

da_legacyA

Call a legacy CMD_API_* / CMD_* endpoint.

Only commands that start with CMD_API_ or CMD_ are accepted.

Args: command: e.g. CMD_API_SHOW_ALL_USERS or /CMD_API_SSL method: GET or POST data: Form fields. json=yes is added automatically. impersonate: Optional user. confirm: Required for POST.

da_pingA

Connectivity check — hits /api/version.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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/OpenIaaS/directadmin-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server