Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PROXIMO_AUDIT_KEYEDNoDefaults to on; set to 'off' to disable HMAC-SHA256 keying of the audit ledger.1
PROXIMO_ENABLE_EXECNoOpt-in: enables near-root LXC exec via SSH. Off by default.0
PROXIMO_CT_ALLOWLISTNoComma-separated list of CTIDs allowed for exec (fail-closed).
PROXIMO_ENABLE_AGENTNoOpt-in: enables qemu-guest-agent operations inside VMs. Off by default.0
PROXIMO_LEDGER_REDACTNoIf set to '1', record fingerprint instead of SQL body/command argv in ledger (privacy).0
PROXIMO_A2A_TOKEN_FILENoPath to a file containing the bearer token for A2A server (non-localhost bind requires this).
PROXIMO_AGENT_ALLOWLISTNoComma-separated list of VMIDs allowed for agent operations (fail-closed).
PROXIMO_AUDIT_EXPECTED_HEADNoExpected head hash for audit verification (off-box anchor against tail truncation/forgery).

Capabilities

Features and capabilities supported by this server

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

Tools

Functions exposed to the LLM to take actions

NameDescription
ct_execA

Run a command inside an LXC (ssh -> pct exec). MUTATION-CAPABLE.

Dry-run by default: without confirm=True you get a PLAN — the command plus a heuristic read-vs-write / destructive-pattern classification (advisory only) — recorded to the ledger. Re-call with confirm=True to execute. Disabled unless PROXIMO_ENABLE_EXEC is set (safe default is API-only). Allowlist-scoped (fail-closed) and audited.

snapshot=True (UNDO): take an auto-undo snapshot first and WAIT for it; if it can't be made (e.g. storage doesn't support snapshots) the command is NOT run (fail-closed). On success the result carries an undo_point you can revert with pve_rollback.

ct_psqlA

Run SQL via psql inside a container (as the db OS user). MUTATION-CAPABLE.

Dry-run by default: without confirm=True you get a PLAN — the SQL plus a heuristic read/DML/DDL classification (advisory only) — recorded to the ledger. Re-call with confirm=True to execute.

snapshot=True (UNDO): take an auto-undo snapshot first and WAIT for it; if it can't be made the SQL is NOT run (fail-closed). On success the result carries an undo_point (revert via pve_rollback).

audit_verifyA

Verify the tamper-evident audit ledger's hash chain — PROVE the log is intact.

Pass expected_head (the head() value you pinned off-box) to also catch tail truncation, a forged tail-append, or a full file replacement — a forward walk alone can't see those. Falls back to PROXIMO_AUDIT_EXPECTED_HEAD when omitted.

pve_agent_execA

MUTATION: run a command inside a guest via the qemu-agent (async, polls for result).

Dry-run by default: without confirm=True you get a PLAN recorded to the ledger. Re-call with confirm=True to execute.

Requires PROXIMO_ENABLE_AGENT=1 and the VMID in PROXIMO_AGENT_ALLOWLIST. The command runs INSIDE the guest OS — no undo primitive on this plane.

Returns status="ok" only when the agent reports the process exited. Returns status="running" with pid when the poll deadline is reached before exit.

pbs_datastores_listA

List all PBS datastores (read-only). Returns datastore objects with store name, backend type, and mount status. Use pbs_datastore_status for runtime usage statistics or pbs_datastore_get for full configuration. Needs PROXIMO_PBS_* config.

pbs_datastore_statusA

Get runtime usage statistics for one PBS datastore (read-only). Returns total capacity, used bytes, and available bytes. Use pbs_datastores_list to enumerate datastores (with backend type) or pbs_gc_status for garbage-collection state.

pbs_gc_statusA

Get garbage-collection status for one PBS datastore (read-only). Returns GC schedule, current state, disk/index statistics, and pending/removed chunk counts. Use pbs_gc_start to execute garbage collection or pbs_datastore_status for capacity.

pbs_snapshots_listA

List backup snapshots in a PBS datastore with optional filters (read-only). Returns snapshot metadata including backup type, ID, timestamp, size, owner, and protection status; filter by namespace, backup_type (vm/ct/host), or backup_id.

pbs_namespaces_listA

List namespaces within a PBS datastore with optional hierarchical filtering (read-only). Returns each namespace's hierarchical path (the ns field); optionally filter by parent namespace or limit recursion depth. Use pbs_namespace_create to add namespaces.

pbs_remotes_listA

List all PBS remote sync-sources (read). Passwords are never returned by the PBS API. Needs PROXIMO_PBS_* config.

pbs_remote_getA

Get the config of one PBS remote sync-source by name (read). No password returned. Needs PROXIMO_PBS_* config.

pbs_traffic_controls_listA

List all PBS traffic-control bandwidth-limit rules (read-only). Returns active rules with their rate-in/rate-out limits, network targets, and comment. Use pbs_traffic_control_upsert to create or modify rules. Needs PROXIMO_PBS_* config.

pbs_jobs_listA

List all PBS scheduled jobs of the given type (read). job_type = sync|verify|prune. Returns all jobs with their configs. Raises on invalid job_type. Needs PROXIMO_PBS_* config.

pbs_tasks_listA

List PBS tasks on a node (read). Defaults to 'localhost' (standard single-node PBS name). Optionally filter: running=True for active tasks, errors=True for failed tasks. Needs PROXIMO_PBS_* config.

pbs_datastore_getA

Get full config of one PBS datastore by name (read). Returns path, gc-schedule, etc. For runtime usage stats use pbs_datastore_status instead. Needs PROXIMO_PBS_* config.

pbs_gc_startA

MUTATION (HIGH): start garbage collection on a PBS datastore. Dry-run by default — GC permanently removes unreferenced chunks (no undo). confirm=True to execute. Async — UPID.

pbs_verify_startA

MUTATION: start an integrity verification run on a PBS datastore. Dry-run by default — non-destructive (read-only check) but heavy I/O. confirm=True to execute. Async — UPID.

pbs_pruneA

MUTATION: prune backup snapshots per a retention policy. TWO safety gates: confirm (Proximo dry-run vs execute) AND dry_run (PBS-side preview). dry_run=True (default) only previews; dry_run=False DELETES recovery points (PLAN is HIGH, no undo). confirm=True to execute. Synchronous — returns prune decisions.

pbs_snapshot_deleteA

MUTATION (HIGH): delete a specific backup snapshot (a recovery point) from a PBS datastore. Dry-run by default. Permanent — no undo. confirm=True to execute. Synchronous.

pbs_namespace_createB

MUTATION: create a namespace within a PBS datastore. Dry-run by default (additive, LOW). confirm=True to execute. Synchronous.

pbs_namespace_deleteA

MUTATION: delete a namespace from a PBS datastore. Dry-run by default — delete_groups=True is HIGH (it deletes all backup groups/snapshots inside the namespace, no undo). confirm=True to execute. Synchronous.

pbs_datastore_createA

MUTATION (MEDIUM): create a new PBS datastore at the given path.

Dry-run by default — additive, but a misconfigured path can conflict with existing storage. PBS datastore creation is an async worker task (UPID) → outcome='submitted' (not 'ok'). No rollback primitive. confirm=True to execute.

POST /config/datastore Smoke-confirm: gc-schedule / prune-schedule / notification-mode param names; sync-vs-async.

pbs_datastore_updateB

MUTATION (MEDIUM): update PBS datastore configuration. Dry-run by default.

CAPTURE: reads current config before planning; on read failure the plan is marked incomplete. Changing gc-schedule / prune-schedule affects data retention cluster-wide. No rollback primitive — revert by re-applying the captured config. confirm=True to execute.

PUT /config/datastore/{name} Smoke-confirm: accepted param names (hyphenated vs underscored).

pbs_datastore_deleteA

MUTATION: delete a PBS datastore. Dry-run by default. RISK IS CONDITIONAL:

destroy_data=False (default) → MEDIUM: detaches the datastore config; backup CHUNKS REMAIN ON DISK and the datastore is re-addable to recover. destroy_data=True → HIGH, IRREVERSIBLE: PERMANENTLY DESTROYS ALL backup data in the named datastore — no recovery possible.

PBS deletion is an async worker task (UPID) → outcome='submitted'. confirm=True to execute.

DELETE /config/datastore/{name} Smoke-confirm: destroy-data / keep-job-configs param names; sync-vs-async.

pbs_snapshot_protected_setA

MUTATION: set or clear the protected flag on a PBS snapshot. RISK IS CONDITIONAL:

protected=True → LOW: shields the snapshot from pruning and GC (protective). protected=False → HIGH: SILENTLY re-enables pruning/GC — this recovery point can now be auto-deleted by the next prune job or GC run. No undo once auto-deleted.

No PBS snapshot primitive for rollback. Dry-run by default. confirm=True to execute.

PUT /admin/datastore/{store}/protected Smoke-confirm: exact path + param names (backup-type, backup-id, backup-time, protected).

pbs_snapshot_notes_setA

MUTATION (LOW): annotate a PBS snapshot with notes. Dry-run by default.

CAPTURE: reads current notes before planning; on failure the plan is marked incomplete. Does not affect backup data, retention, or protection. No PBS snapshot primitive — revert by re-applying the captured notes. confirm=True to execute.

PUT /admin/datastore/{store}/notes Smoke-confirm: exact endpoint path + param names (backup-type, backup-id, backup-time).

pbs_group_change_ownerA

MUTATION (MEDIUM): reassign the owner of a PBS backup group. Dry-run by default.

The new owner controls deletion and prune of this backup group. The previous owner loses those permissions immediately. No PBS snapshot primitive — revert by re-assigning the owner back. confirm=True to execute.

PUT /admin/datastore/{store}/change-owner Smoke-confirm: exact path + new-owner vs owner param name.

pbs_remote_createA

MUTATION (MEDIUM): create a PBS remote sync-source. Dry-run by default.

PRIVATE PASSWORD REDACTION: 'password' is a remote user credential. It is UNCONDITIONALLY redacted from the server-side plan, change, current state, detail, and audit ledger. Only {"password":"[redacted]"} is recorded on those surfaces. L02 NOTE: the MCP tool-call itself is a structured JSON object in which 'password' appears as a plain parameter — it is visible in the LLM's output token stream and in any MCP client log. This is an MCP-protocol property; server-side redaction protects the ledger only. The TLS cert 'fingerprint' is PUBLIC data — it is NOT redacted.

No rollback primitive — revert by deleting the remote (pbs_remote_delete). confirm=True to execute.

POST /config/remote Smoke-confirm: auth-id vs authid param name; port param name.

pbs_remote_updateA

MUTATION (MEDIUM): update an existing PBS remote. Dry-run by default.

CAPTURE: reads current (non-secret) config before planning; on failure plan is marked incomplete. PRIVATE PASSWORD REDACTION: if 'password' is provided it is UNCONDITIONALLY redacted from the server-side plan, change, current state, detail, and audit ledger. L02 NOTE: the MCP tool-call itself is a structured JSON object in which 'password' appears as a plain parameter — visible in the LLM's output token stream and any MCP client log. This is an MCP-protocol property; server-side redaction protects the ledger only. The TLS cert 'fingerprint' is PUBLIC and appears in plans/logs for audit. No rollback primitive — revert by re-applying captured config. confirm=True to execute.

PUT /config/remote/{name} Smoke-confirm: auth-id param name; whether partial PUT is accepted.

pbs_remote_deleteA

MUTATION (MEDIUM): remove a PBS remote and its stored credentials. Dry-run by default.

After deletion: any sync jobs referencing this remote break; re-add needs the password re-supplied. No rollback primitive — re-create with pbs_remote_create to recover. confirm=True to execute.

DELETE /config/remote/{name} Smoke-confirm: response shape on success.

pbs_traffic_control_upsertA

MUTATION: create or update a PBS traffic-control (bandwidth-limit) rule. Dry-run by default.

Detects create-vs-update by reading the existing rule config (CAPTURE on update path): create → LOW: additive, no existing rule changed. update → MEDIUM: changing rate limits can throttle backups or saturate the network.

A too-low rate-in or rate-out throttles PBS backups to a crawl. No rollback primitive. confirm=True to execute.

POST (create) or PUT (update) /config/traffic-control[/{name}] Smoke-confirm: create-vs-update dispatch; rate-in/rate-out/burst-in/burst-out/timeframe param names.

pbs_traffic_control_deleteA

MUTATION (LOW): remove a PBS traffic-control (bandwidth-limit) rule. Dry-run by default.

After deletion: backups run unthrottled on the matched network. Recoverable by re-creating the rule with pbs_traffic_control_upsert. confirm=True to execute.

DELETE /config/traffic-control/{name} Smoke-confirm: response shape on success.

pdm_pingA

DIAGNOSE (LOW): health check the PDM appliance. Returns 'pong' on success. Needs PROXIMO_PDM_* config.

pdm_versionA

DIAGNOSE (LOW): get PDM appliance version (release, repoid, version). Needs PROXIMO_PDM_* config.

pdm_node_statusA

DIAGNOSE (LOW): get resource stats for a PDM node. Defaults to 'localhost' (PDM is a single-node appliance). Shape equals PVE node status; live-prove-pending. Needs PROXIMO_PDM_* config.

pdm_remotes_listA

DIAGNOSE (LOW): list all PVE/PBS remotes registered in PDM. Needs PROXIMO_PDM_* config.

pdm_remote_versionB

DIAGNOSE (LOW): get version info for one PDM-registered remote. remote_id: the remote name as shown in pdm_remotes_list. Needs PROXIMO_PDM_* config.

pdm_remote_config_getA

DIAGNOSE (LOW): get configuration for one PDM-registered remote (no secrets returned). remote_id: the remote name as shown in pdm_remotes_list. Needs PROXIMO_PDM_* config.

pdm_resources_listA

DIAGNOSE (LOW): list all fleet resources (VMs, LXCs, storage, etc.) across all remotes. Needs PROXIMO_PDM_* config.

pdm_resources_statusC

DIAGNOSE (LOW): aggregated fleet status counters (running VMs, LXCs, failed remotes, etc.). Needs PROXIMO_PDM_* config.

pdm_pve_resourcesB

DIAGNOSE (LOW): list resources on a PDM-registered PVE remote. remote: remote name from pdm_remotes_list. kind: optional filter (vm, storage, node, sdn, ...). Shape equals PVE cluster/resources; live-proven 2026-06-27 against a registered PVE remote. Needs PROXIMO_PDM_* config.

pdm_pve_cluster_statusA

DIAGNOSE (LOW): get cluster status for a PDM-registered PVE remote. remote: remote name from pdm_remotes_list. Shape equals PVE cluster/status; live-proven 2026-06-27 against a registered PVE remote. Needs PROXIMO_PDM_* config.

pdm_pve_node_listA

DIAGNOSE (LOW): list nodes in a PDM-registered PVE remote. remote: remote name from pdm_remotes_list. Shape equals PVE /nodes; live-proven 2026-06-27 against a registered PVE remote. Needs PROXIMO_PDM_* config.

pdm_pve_qemu_listA

DIAGNOSE (LOW): list VMs across a PDM-registered PVE remote (cluster-wide). remote: remote name. node: OPTIONAL filter to one PVE node. Shape equals PVE qemu list; live-proven 2026-06-27 against a registered PVE remote. Needs PROXIMO_PDM_* config.

pdm_pve_qemu_configA

DIAGNOSE (LOW): get VM config from a PDM-registered PVE remote. remote: remote name. vmid: numeric VM ID. node, snapshot: optional query params (node is NOT required). state: REQUIRED by PDM ("active" = current config) — defaults to "active"; PDM 400s if omitted. Live-proven 2026-06-27 against a registered PVE remote. Needs PROXIMO_PDM_* config.

pdm_pve_lxc_listA

DIAGNOSE (LOW): list LXC containers across a PDM-registered PVE remote (cluster-wide). remote: remote name. node: OPTIONAL filter to one PVE node. Shape equals PVE lxc list; live-proven 2026-06-27 against a registered PVE remote. Needs PROXIMO_PDM_* config.

pdm_pve_lxc_configA

DIAGNOSE (LOW): get LXC config from a PDM-registered PVE remote. remote: remote name. vmid: numeric CT ID. node, snapshot: optional query params (node is NOT required). state: REQUIRED by PDM ("active" = current config) — defaults to "active"; PDM 400s if omitted. Live-proven 2026-06-27 against a registered PVE remote. Needs PROXIMO_PDM_* config.

pdm_pbs_remote_statusA

DIAGNOSE (LOW): get node status for a PDM-registered PBS remote. remote: remote name from pdm_remotes_list. Live-verified (PDM 1.1 -> PBS 4.2). Needs PROXIMO_PDM_* config.

pdm_pbs_datastores_listA

DIAGNOSE (LOW): list datastores on a PDM-registered PBS remote. remote: remote name from pdm_remotes_list. Live-verified shape: [{"name","path"}, ...] (PDM 1.1 -> PBS 4.2). Needs PROXIMO_PDM_* config.

pdm_pbs_snapshots_listA

DIAGNOSE (LOW): list backup snapshots in a datastore on a PDM-registered PBS remote. remote: remote name. datastore: PBS datastore name. ns: optional namespace filter. Live-verified path (PDM 1.1 -> PBS 4.2); empty datastore returns []. Needs PROXIMO_PDM_* config.

pdm_tasks_listA

DIAGNOSE (LOW): list recent PDM tasks across all remotes. Needs PROXIMO_PDM_* config.

pdm_acl_listB

DIAGNOSE (LOW): list PDM access control entries. path: optional ACL path filter (e.g. '/'). exact: if True, exact path only. Needs PROXIMO_PDM_* config.

pdm_roles_listA

DIAGNOSE (LOW): list all roles and their privileges defined in PDM. Needs PROXIMO_PDM_* config.

pdm_users_listB

DIAGNOSE (LOW): list all PDM users. include_tokens: if True, include API token entries. Needs PROXIMO_PDM_* config.

pdm_pve_qemu_powerA

MUTATION: start/stop/shutdown/resume a VM on a PDM-registered remote (through PDM).

Dry-run by default: returns a PLAN (live state, blast radius, risk) recorded to the ledger. Re-call with confirm=True to submit. Task-backed → status='submitted'.

pdm_pve_lxc_powerA

MUTATION: start/stop/shutdown a container on a PDM-registered remote (through PDM).

Dry-run by default (PLAN); confirm=True to submit. Task-backed → 'submitted'.

pdm_pve_qemu_migrateA

MUTATION: migrate a VM to another node within the remote's cluster (through PDM).

online=True migrates a running VM. Dry-run by default (PLAN); confirm=True to submit.

pdm_pve_lxc_migrateC

MUTATION: migrate a container to another node within the remote's cluster (through PDM).

pdm_pve_qemu_remote_migrateA

MUTATION: migrate a VM to a DIFFERENT PDM-registered remote (datacenter-to-datacenter).

target_bridge and target_storage mappings are required (e.g. 'vmbr0:vmbr0', 'local-lvm:local-lvm'). delete=True removes the source after a successful move (destructive). Dry-run by default (PLAN); confirm=True to submit.

pdm_pve_lxc_remote_migrateA

MUTATION: migrate a container to a DIFFERENT PDM-registered remote (datacenter-to-datacenter).

target_bridge and target_storage mappings are required (e.g. 'vmbr0:vmbr0', 'local-lvm:local-lvm'). delete=True removes the source after a successful move (destructive). Dry-run by default (PLAN); confirm=True to submit.

pdm_pve_qemu_snapshot_createA

MUTATION: snapshot a VM on a PDM-registered remote (through PDM).

vmstate=True includes the VM's RAM state. Additive (LOW risk). Dry-run by default.

pdm_pve_lxc_snapshot_createA

MUTATION: snapshot a container on a PDM-registered remote (through PDM).

Containers have no RAM state, so there is no vmstate option. Dry-run by default.

pdm_pve_qemu_snapshot_deleteA

MUTATION: delete a VM snapshot on a PDM-registered remote. Irreversible; no UNDO. Dry-run by default.

pdm_pve_lxc_snapshot_deleteB

MUTATION: delete a container snapshot on a PDM-registered remote. Irreversible; no UNDO.

pdm_pve_qemu_snapshot_rollbackA

MUTATION: roll a VM back to a snapshot on a PDM-registered remote (through PDM).

DESTRUCTIVE (discards current state). Takes an auto safety-snapshot first (fail-closed: no snapshot, no rollback). Dry-run by default (PLAN); confirm=True to submit.

pdm_pve_lxc_snapshot_rollbackA

MUTATION: roll a container back to a snapshot on a PDM-registered remote (through PDM).

DESTRUCTIVE. Takes an auto safety-snapshot first (fail-closed). Dry-run by default.

pmg_doctorA

PMG connectivity + credential/permission preflight (read). Checks /nodes/{node}/version and /access/users. A successful /version call means ticket login also succeeded — connectivity and credentials are proven together. Needs PROXIMO_PMG_* config.

PMG 9.1 live-verified: PMG has no /access/permissions endpoint (that is PVE-only); /access/users is the closest equivalent and returns the same user/role information.

pmg_node_statusA

Get PMG node cpu/mem/disk/uptime status (read). Needs PROXIMO_PMG_* config.

PMG 9.1 live-verified: /nodes/{node}/status path and response shape confirmed via pmg-smoke.py W1 round-trip (node_status PASS).

pmg_relay_configA

Get PMG SMTP relay/smarthost configuration (read). Needs PROXIMO_PMG_* config.

PMG 9.1 live-verified: relay/smarthost settings live at /config/mail (not /config/relay).

pmg_domains_listA

List PMG managed mail domains (read). Needs PROXIMO_PMG_* config.

PMG 9.1 live-verified: /config/domains path and response shape confirmed via pmg-smoke.py W1 round-trip and W3 full domain create/list/delete cycle.

pmg_statistics_mailA

Get PMG mail delivery statistics (read). Needs PROXIMO_PMG_* config.

PMG 9.1 live-verified: /statistics/mail returns today's aggregate counters (count_in, count_out, spam, virus, bytes, …). Always returns today's totals; for time-ranged data use pmg_statistics_mailcount instead.

pmg_quarantine_spamA

List PMG quarantined spam messages (read). Needs PROXIMO_PMG_* config.

PMG 9.1 live-verified: endpoint is /quarantine/spam (not /quarantine/mails). For virus quarantine use pmg_quarantine_virus; for attachment use pmg_quarantine_attachment. To act on quarantined messages (deliver/delete/mark-seen/blocklist/welcomelist) use pmg_quarantine_action.

pmg_statistics_domainsA

Get PMG per-domain mail statistics (read). Optional Unix epoch start/end timespan. Needs PROXIMO_PMG_* config.

PMG 9.1 live-verified path via pmgsh ls: /statistics/domains. Maps start/end params → starttime/endtime query params.

pmg_statistics_virusA

Get PMG virus statistics (read). Optional Unix epoch start/end timespan. Needs PROXIMO_PMG_* config.

PMG 9.1 live-verified path via pmgsh ls: /statistics/virus. Maps start/end params → starttime/endtime query params.

pmg_statistics_spamscoresA

Get PMG spam score distribution statistics (read). Optional Unix epoch start/end timespan. Needs PROXIMO_PMG_* config.

PMG 9.1 live-verified path via pmgsh ls: /statistics/spamscores. Maps start/end params → starttime/endtime query params.

pmg_statistics_recentA

Get PMG recent mail statistics (read). hours: 1-24 window. Needs PROXIMO_PMG_* config.

PMG 9.1 live-verified path via pmgsh ls: /statistics/recent.

pmg_quarantine_blocklist_listA

List PMG quarantine blocklist entries (read). Optional pmail to scope to one user. Needs PROXIMO_PMG_* config.

PMG 9.1 live-verified path via pmgsh ls: /quarantine/blocklist. pmail: scopes the read to one user's blocklist; ALWAYS sent, defaulting to the authenticated PMG user when omitted — so an empty result means "none for that user", not "none globally".

pmg_quarantine_blocklist_addA

MUTATION (LOW): add an address to the quarantine blocklist. Dry-run by default. confirm=True to execute. Needs PROXIMO_PMG_* config.

PMG 9.1 live-verified path via pmgsh ls: POST /quarantine/blocklist. pmail: scope to a per-user blocklist (optional).

pmg_quarantine_actionA

MUTATION (MEDIUM; HIGH for action='delete' — permanent, irreversible). Apply an action to quarantined message(s). Dry-run by default. confirm=True to execute. Needs PROXIMO_PMG_* config.

action: one of deliver|delete|mark-seen|mark-unseen|blocklist|welcomelist. mail_ids: single mail ID or comma-separated list. PMG 9.1 live-proven 2026-06-26: POST /quarantine/content — delete and deliver both confirmed against real quarantined GTUBE messages.

pmg_postfix_qshapeA

Get PMG Postfix queue shape (read). Needs PROXIMO_PMG_* config.

PMG 9.1 live-verified: /nodes/{node}/postfix/qshape returns a list of dicts (one row per domain + a TOTAL row with queue-age bucket counts).

pmg_postfix_flushA

MUTATION (LOW): flush all Postfix queues (immediate re-delivery attempt). Dry-run by default. confirm=True to execute. Needs PROXIMO_PMG_* config.

PMG 9.1 live-verified path via pmgsh ls: POST /nodes/{node}/postfix/flush_queues.

pmg_spam_configA

Get PMG spam filter configuration (read). Needs PROXIMO_PMG_* config.

PMG 9.1 live-verified path via pmgsh ls: /config/spam.

pmg_service_statusA

Get the status of a PMG system service (read). Needs PROXIMO_PMG_* config.

PMG 9.1 live-verified path via pmgsh ls: /nodes/{node}/services/{service}/state. service: e.g. 'postfix', 'pmgproxy', 'pmgdaemon', 'pmgmirror', 'pmgtunnel', 'pmg-smtp-filter', 'clamav', 'spamassassin'. No hardcoded enum — pass any valid service name; unknown names return a PMG 404.

pmg_domain_createA

MUTATION (LOW): create a managed mail domain. Dry-run by default. confirm=True to execute. Needs PROXIMO_PMG_* config.

PMG 9.1 live-verified path via pmgsh ls: POST /config/domains. domain: domain name to add (e.g. 'example.com').

pmg_domain_deleteA

MUTATION (MEDIUM): delete a managed mail domain. Dry-run by default. confirm=True to execute. Needs PROXIMO_PMG_* config.

PMG 9.1 live-verified path via pmgsh ls: DELETE /config/domains/{domain}. Mail routing rules referencing this domain may break — review before confirming.

pmg_transport_createA

MUTATION (LOW): create a mail transport rule. Dry-run by default. confirm=True to execute. Needs PROXIMO_PMG_* config.

PMG 9.1 live-verified path via pmgsh ls: POST /config/transport. domain: destination domain. host: next-hop relay host. port: TCP port 1-65535 (default 25). protocol: smtp|lmtp (default smtp). use_mx: use MX lookup for the host (default True).

pmg_transport_deleteA

MUTATION (MEDIUM): delete a mail transport rule. Dry-run by default. confirm=True to execute. Needs PROXIMO_PMG_* config.

PMG 9.1 live-verified path via pmgsh ls: DELETE /config/transport/{domain}. Mail for the domain will fall back to default PMG routing (MX lookup).

pmg_mynetworks_addA

MUTATION (LOW): add a CIDR to the PMG mynetworks trusted relay list. Dry-run by default. confirm=True to execute. Needs PROXIMO_PMG_* config.

PMG 9.1 live-verified path via pmgsh ls: POST /config/mynetworks. cidr: network in CIDR notation (e.g. '10.0.0.0/8'). Only add CIDRs you control.

pmg_mynetworks_removeA

MUTATION (MEDIUM): remove a CIDR from the PMG mynetworks trusted relay list. Dry-run by default. confirm=True to execute. Needs PROXIMO_PMG_* config.

PMG 9.1 live-verified path via pmgsh ls: DELETE /config/mynetworks/{cidr} (CIDR URL-encoded). Internal senders in the range will be subject to spam filtering after removal.

pmg_spam_config_updateA

MUTATION (MEDIUM): update PMG spam filter configuration. Dry-run by default. confirm=True to execute. Needs PROXIMO_PMG_* config.

PMG 9.1 live-verified path via pmgsh ls: PUT /config/spam. Only non-None fields are sent — omitted fields keep their current PMG values. delete: comma-separated list of field names to reset to defaults. Changes take effect immediately on new inbound mail.

pmg_quarantine_welcomelist_listA

List PMG quarantine welcomelist entries (read). Optional pmail to scope to one user. Needs PROXIMO_PMG_* config.

PMG 9.1 live-verified path via pmgsh ls: GET /quarantine/welcomelist. pmail defaults to the authenticated user when not provided.

pmg_quarantine_welcomelist_addA

MUTATION (LOW): add an address to the quarantine welcomelist. Dry-run by default. confirm=True to execute. Needs PROXIMO_PMG_* config.

PMG 9.1 live-verified path via pmgsh ls: POST /quarantine/welcomelist. pmail: optional per-user scope (defaults to authenticated user).

pmg_quarantine_welcomelist_removeA

MUTATION (LOW): remove an address from the quarantine welcomelist. Dry-run by default. confirm=True to execute. Needs PROXIMO_PMG_* config.

PMG 9.1 live-verified path via pmgsh ls: DELETE /quarantine/welcomelist. pmail: optional per-user scope (defaults to authenticated user).

pmg_quarantine_blocklist_removeA

MUTATION (LOW): remove an address from the quarantine blocklist. Dry-run by default. confirm=True to execute. Needs PROXIMO_PMG_* config.

PMG 9.1 live-verified path via pmgsh ls: DELETE /quarantine/blocklist. pmail: optional per-user scope (defaults to authenticated user).

pmg_service_controlA

MUTATION (MEDIUM): start, stop, restart, or reload a PMG service. Dry-run by default. confirm=True to execute. Needs PROXIMO_PMG_* config.

PMG 9.1 live-verified path via pmgsh ls: POST /nodes/{node}/services/{service}/{action}. service: e.g. 'postfix', 'pmgproxy', 'pmgdaemon', 'clamav', 'spamassassin'. action: start|stop|restart|reload.

WARNING: stop on postfix/pmgproxy/pmgdaemon interrupts mail delivery until manually restarted.

pmg_tracker_listA

List mail tracking entries (read). Needs PROXIMO_PMG_* config.

PMG 9.1 live-verified path via pmgsh ls: GET /nodes/{node}/tracker. Maps start/end Unix epoch → starttime/endtime query params. from_: filter by envelope sender; target: filter by recipient. ndr: NDR filter; greylist: greylisting filter. limit: max results 0–100000 (default 2000).

pmg_tracker_detailA

Get tracking detail for a specific mail ID (read). Needs PROXIMO_PMG_* config.

PMG 9.1 live-verified path via pmgsh ls: GET /nodes/{node}/tracker/{id}. id_: mail/queue tracker ID, validated path-segment-safe (rejects '..', '/', control/whitespace chars) before use — see _check_tracker_id. Maps start/end Unix epoch → starttime/endtime query params.

pmg_quarantine_virusA

List virus quarantine entries (read). Needs PROXIMO_PMG_* config.

PMG 9.1 live-verified path via pmgsh ls: GET /quarantine/virus. pmail: per-user scope — defaults to authenticated user (api.config.username). Maps start/end Unix epoch → starttime/endtime query params.

pmg_quarantine_attachmentA

List attachment quarantine entries (read). Needs PROXIMO_PMG_* config.

PMG 9.1 live-verified path via pmgsh ls: GET /quarantine/attachment. pmail: per-user scope — defaults to authenticated user (api.config.username). Maps start/end Unix epoch → starttime/endtime query params.

pmg_quarantine_virusstatusB

Get virus quarantine status summary (read). Needs PROXIMO_PMG_* config.

PMG 9.1 live-verified path via pmgsh ls: GET /quarantine/virusstatus.

Prompts

Interactive templates invoked by user choice

NameDescription
safe_migrationRunbook: migrate a guest to another node safely (plan-first, verify-after).
diagnose_clusterRunbook: read-only health sweep of the cluster (DIAGNOSE, no changes).
provision_containerRunbook: provision a new LXC within policy (plan-first, verify-after).
safe_backupRunbook: back up a guest and verify the backup actually landed.
review_receiptsRunbook: verify Proximo's PROVE ledger integrity (the receipts).

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/john-broadway/proximo'

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