Proximo
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PROXIMO_AUDIT_KEYED | No | Defaults to on; set to 'off' to disable HMAC-SHA256 keying of the audit ledger. | 1 |
| PROXIMO_ENABLE_EXEC | No | Opt-in: enables near-root LXC exec via SSH. Off by default. | 0 |
| PROXIMO_CT_ALLOWLIST | No | Comma-separated list of CTIDs allowed for exec (fail-closed). | |
| PROXIMO_ENABLE_AGENT | No | Opt-in: enables qemu-guest-agent operations inside VMs. Off by default. | 0 |
| PROXIMO_LEDGER_REDACT | No | If set to '1', record fingerprint instead of SQL body/command argv in ledger (privacy). | 0 |
| PROXIMO_A2A_TOKEN_FILE | No | Path to a file containing the bearer token for A2A server (non-localhost bind requires this). | |
| PROXIMO_AGENT_ALLOWLIST | No | Comma-separated list of VMIDs allowed for agent operations (fail-closed). | |
| PROXIMO_AUDIT_EXPECTED_HEAD | No | Expected head hash for audit verification (off-box anchor against tail truncation/forgery). |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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 |
| 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 |
| audit_verifyA | Verify the tamper-evident audit ledger's hash chain — PROVE the log is intact. Pass |
| 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 |
| 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
| Name | Description |
|---|---|
| safe_migration | Runbook: migrate a guest to another node safely (plan-first, verify-after). |
| diagnose_cluster | Runbook: read-only health sweep of the cluster (DIAGNOSE, no changes). |
| provision_container | Runbook: provision a new LXC within policy (plan-first, verify-after). |
| safe_backup | Runbook: back up a guest and verify the backup actually landed. |
| review_receipts | Runbook: verify Proximo's PROVE ledger integrity (the receipts). |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- 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/john-broadway/proximo'
If you have feedback or need assistance with the MCP directory API, please join our Discord server