Skip to content
Agentmart
Submit a tool

VPS Guardian

Secure SSH bridge for AI agents to observe and safely administer Linux VPSs.

Connector by murzirius · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/murzirius-vps-guardian-mcp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Secure SSH bridge for AI agents to observe and safely administer Linux VPSs.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.

Tools
101 read · 42 write · 1 delete · 18 not yet classified
Secrets
None asked for
Install scripts
None found
Runs as
Node.js package

Tools by what they do 162

Read from the source code; the running server may list different tools.

Read 101 · Look things up without changing anything.

  • analyze_disk_usage
  • assess_project_change
  • audit_ssh_config
  • check_dns_health
  • check_failed_logins
  • check_guardian_updates
  • check_http_endpoint
  • check_http_endpoints
  • check_kernel_errors
  • check_oom_events
  • check_service_status
  • check_ssl_certificates
Show 89 more tools
  • check_system_limits
  • check_system_updates
  • compare_agent_checkpoint
  • compare_system_snapshots
  • compare_workload_baseline
  • detect_zombie_processes
  • diagnose_project_dependencies
  • discover_projects
  • find_project_references
  • find_workload
  • get_access_policy
  • get_agent_job
  • get_agent_session
  • get_audit_events
  • get_backup_status
  • get_change_impact
  • get_database_health
  • get_docker_container_logs
  • get_docker_stats
  • get_event_watch
  • get_fail2ban_status
  • get_failed_systemd_units
  • get_firewall_status
  • get_guardian_launch
  • get_mission_brief
  • get_open_ports
  • get_operation
  • get_package_updates
  • get_platform_capabilities
  • get_process_details
  • get_project_changes
  • get_project_diff
  • get_project_import_map
  • get_project_symbols
  • get_project_task_context
  • get_recent_server_events
  • get_resource_alerts
  • get_runtime_budget
  • get_safety_status
  • get_server_event_delta
  • get_system_health
  • get_test_capsule_status
  • get_top_processes
  • get_ufw_status
  • get_vps_topology
  • get_web_deployment_status
  • get_workload_brief
  • get_workload_health
  • get_workspace_settings
  • inspect_compose_project
  • inspect_docker_container
  • inspect_operator_project
  • inspect_project
  • inspect_project_environment
  • list_agent_checkpoints
  • list_agent_jobs
  • list_agent_sessions
  • list_agent_tasks
  • list_agents
  • list_assigned_missions
  • list_compose_projects
  • list_cron_jobs
  • list_directory
  • list_docker_containers
  • list_maintenance_windows
  • list_mission_workspaces
  • list_operations
  • list_operator_projects
  • list_runbook_templates
  • list_runbooks
  • list_system_snapshots
  • list_systemd_timers
  • list_virtual_hosts
  • open_event_watch
  • plan_capsule_environment
  • plan_config_deployment
  • plan_environment_repair
  • preview_change_set
  • preview_project_patch
  • read_mission_workspace
  • read_mission_workspace_lines
  • read_project_file
  • read_project_file_range
  • read_service_logs
  • search_project_code
  • summarize_service_logs
  • verify_agent_job_recovery
  • verify_backup
  • view_file_content

Write 42 · Create, change, send or run things.

  • add_mission_workspace_files
  • advance_agent_job
  • apply_change_set
  • apply_project_patch
  • begin_change_set
  • begin_project_patch
  • cancel_agent_job
  • close_agent_checkpoint
  • close_agent_session
  • close_maintenance_window
  • compose_project_action
  • create_agent
Show 30 more tools
  • create_agent_checkpoint
  • create_agent_job
  • create_agent_task
  • create_backup
  • create_maintenance_window
  • create_mission_workspace
  • create_system_snapshot
  • create_workload_baseline
  • deploy_config_change
  • docker_container_action
  • execute_agent_job_recovery
  • execute_recovery
  • finish_agent_job
  • lock_workload
  • promote_tested_project_patch
  • record_session_finding
  • release_agent_task
  • run_project_checks
  • save_access_policy
  • save_workspace_settings
  • set_web_file_mode
  • stage_mission_file
  • stage_mission_line_edit
  • stage_project_line_edit
  • start_agent_session
  • start_runbook
  • submit_mission_workspace
  • test_project_patch
  • update_runbook_step
  • write_file_content

Delete 1 · Delete, drop, revoke or wipe things.

  • revoke_agent

Not yet classified 18 · We could not tell from the name and description.

  • claim_agent_task
  • clean_docker_garbage
  • compact_result
  • diagnose_workload
  • finish_agent_task
  • generate_incident_report
  • handoff_agent_session
  • heartbeat_agent_task
  • prepare_repair_plan
  • propose_agent_job_recovery
  • report_mission_progress
  • stage_file_change
Show 6 more tools
  • stage_mission_file_deletion
  • stage_mission_new_file
  • stage_project_file_change
  • test_network_connectivity
  • test_nginx_config
  • watch_resource_threshold

Network hosts it talks to 2

  • api.github.com · found in code
  • github.com · found in code

Files it touches

  • ~/.ssh/id_ed25519
  • /dev/null
  • /etc/caddy
  • /etc/cron.d
  • /etc/crontab
  • /etc/docker
  • /etc/letsencrypt/live
  • /etc/mysql
  • /etc/nginx
  • /etc/nginx/conf.d
  • /etc/nginx/sites-enabled
  • /etc/os-release
  • /etc/postgresql
  • /etc/resolv.conf
  • /etc/vps-guardian/gateway
  • /opt/vps-guardian-mcp
  • /opt/vps-guardian-mcp/.venv/bin/vps-guardian-mcp
  • /proc/sys/fs/file-max
  • /proc/sys/fs/file-nr
  • /proc/sys/kernel/pid_max
  • /proc/sys/net/core/somaxconn
  • /proc/sys/net/ipv4/tcp_max_syn_backlog
  • /proc/sys/vm/max_map_count
  • /proc/sys/vm/overcommit_memory
  • /proc/sys/vm/swappiness
  • /proc/sys/vm/vfs_cache_pressure
  • /sys/fs/cgroup
  • /usr/lib/update-notifier/apt-check
  • /usr/sbin/nginx
  • /usr/sbin/ufw
  • /usr/sbin/useradd
  • /var/backups/vps-guardian
  • /var/lib/vps-guardian
  • /var/lib/vps-guardian-agents
  • /var/lib/vps-guardian/snapshots
  • /var/log
  • /var/log/nginx/access.log
  • /var/log/nginx/error.log
  • /var/log/vps-guardian/audit.jsonl
  • /var/run/mysqld/mysqld.sock

Tools (162)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • add_mission_workspace_files

    Add selected existing files to a draft within live Mission file/text limits; no recursive scan.

  • advance_agent_job

    Run one bounded read-only step, optionally detached so it can finish after MCP disconnects.

  • analyze_disk_usage

    Analyze disk usage for a directory to discover space bottlenecks and large files. Safely walks the filesystem without following symlinks and automatically skips virtual pseudo-filesystems (/proc, /sys, /dev, /run). Args: target_path: Starting path to inspect (defaults to '/var'). max_depth: Depth of directory nesting to inspect (1 to 5, default 2). min_size_mb: Minimum size threshold in megabytes to include (default 50 MB). top_n: Maximum number of largest items to return (1 to 50, default 15). Returns: JSON string with partition usage, largest directories, and largest f…

  • apply_change_set

    Apply, validate, reload, health-check, and automatically roll back one ChangeSet.

  • apply_project_patch

    Apply a confirmed bounded source patch with backups; it never executes project code.

  • assess_project_change

    Find reverse-import impact and related test candidates within three hops; not runtime or coverage proof.

  • audit_ssh_config

    Audit the SSH daemon configuration against security best practices. Returns: JSON string with detected settings, security score (0-100), and remediation guidance.

  • begin_change_set

    Open a short-lived, bounded, reversible Nginx configuration ChangeSet.

  • begin_project_patch

    Open a short-lived, bounded source patch; no project code runs.

  • cancel_agent_job

    Cancel a job; in-flight read-only results cannot revive it.

  • check_dns_health

    Audit system DNS resolution health, configured nameservers, and query responsiveness. Args: domains: Optional custom list of domains to probe. Defaults to essential public services. Returns: JSON string with configured nameservers, individual domain lookup latencies, and health verdict.

  • check_failed_logins

    Inspect recent failed SSH login attempts to detect brute-force attackers. Args: limit: Number of recent failed attempts to inspect (default: 20, max: 100). Returns: JSON string with recent failed logins and top offending attacker IP addresses.

  • check_guardian_updates

    Check if a newer version or commit of VPS-Guardian-MCP is available on GitHub. Provides automated version verification and action guidance for self-updating. Cached for 5 minutes to minimize network and CPU overhead. Args: force_refresh: Set to True to bypass cache and query GitHub API directly. Returns: JSON string with current version, latest commit, update availability, and AI warning notice.

  • check_http_endpoint

    Check a public HTTP(S) URL: response status, redirects, TLS, latency, and optional text. This is read-only and intentionally returns only metadata, never a page body. Use it before or after a deployment to verify the public result.

  • check_http_endpoints

    Check up to 20 public HTTP(S) endpoints in one compact deployment health report. Each item accepts url, expected_status (default 200), expected_text (optional), and timeout_seconds (default 10). This tool is read-only.

Show 147 more tools
  • check_kernel_errors

    Audit kernel logs for hardware failures, storage I/O errors, or application segfaults. Args: limit: Maximum number of error entries to retrieve (1 to 50, default 20). Returns: JSON string with categorized kernel errors, root causes, and critical issue counters.

  • check_oom_events

    Inspect kernel logs for Linux Out-Of-Memory (OOM) Killer invocations. Surfaces terminated processes, PIDs, and consumed RSS memory at time of termination. Args: limit: Maximum number of recent OOM events to return (1 to 50, default 10). Returns: JSON string with detected OOM incidents and diagnostic summary.

  • check_service_status

    Check the operational status of a systemd service unit. Args: service_name: Name of the system service (e.g. 'nginx', 'mysql', 'postgresql', 'ufw', 'docker'). Returns: JSON string with active state ('active', 'inactive', 'failed'), enabled state, and recent status logs.

  • check_ssl_certificates

    Audit SSL/TLS certificates configured on the host (Let's Encrypt / Certbot). Returns: JSON string listing domains, expiration dates, days remaining, and warning flags.

  • check_system_limits

    Audit system-wide and user limits: file descriptors, max PIDs, virtual memory, socket backlogs. Returns: JSON string comparing allocations to kernel limits and highlighting threshold warnings (>80%).

  • check_system_updates

    Audit available operating system package updates and pending security patches. Checks reboot requirements (/var/run/reboot-required), total upgradable packages, and security CVE patches. Cached for 5 minutes to minimize CPU and disk usage. Args: force_refresh: Set to True to bypass the 5-minute cache and query package managers directly. Returns: JSON string with update counts, security status, reboot flag, and recommended recovery action.

  • claim_agent_task

    Lease one dependency-ready task to an active agent session.

  • clean_docker_garbage

    Safely reclaim disk space by pruning dangling images, stopped containers, unused volumes, and networks. Args: prune_type: Category to prune ('containers', 'images', 'volumes', 'networks', 'all'). Default is 'all'. confirmation_token: Single-use token returned by the preceding plan call. Returns: JSON string detailing deleted items and total disk capacity reclaimed.

  • close_agent_checkpoint

    Close a checkpoint with a secret-redacted change outcome.

  • close_agent_session

    Close a session with an outcome; historical records remain secret-redacted.

  • close_maintenance_window

    Close a maintenance window with a secret-redacted outcome note.

  • compact_result
  • compare_agent_checkpoint

    Compare a checkpoint to current state and return a confirmation-gated rollback plan.

  • compare_system_snapshots

    Compare two snapshots and rank configuration or infrastructure drift by risk. Flags new exposed ports, failed units, cron changes, Docker drift, and configuration-hash changes. Both snapshots must be from the same host.

  • compare_workload_baseline

    Compare a saved workload baseline with the current workload state.

  • compose_project_action

    Token-confirmed Docker Compose up, restart, or stop for selected project services.

  • create_agent

    Create a dedicated, locked OS account. Only the operator helper calls this.

  • create_agent_checkpoint

    Capture a bounded pre-change system or workload observation; no changes are made.

  • create_agent_job

    Persist a bounded, read-only Agent Job. Checks: system_health, runtime_budget, workload_brief, event_delta, service_logs, service_status.

  • create_agent_task

    Add a bounded task to the shared agent queue; no server action is executed.

  • create_backup

    Create a compressed tar.gz archive of an authorized website or configuration directory. Archives are saved into an isolated backup repository (/var/backups/vps-guardian/). Permitted source locations: /var/www/, /etc/nginx/, /etc/mysql/, /etc/postgresql/, /etc/docker/, /etc/caddy/ Args: backup_type: Identifier label for the archive (e.g. 'site', 'config', 'data'). source_path: Target directory to archive. confirmation_token: Single-use token returned by the preceding plan call. Returns: JSON string with archive file path, size, file count, and duration.

  • create_maintenance_window

    Create an expiring maintenance window for agent coordination. A window records intent and timing; it never bypasses the active safety mode or grants permission for VPS changes.

  • create_mission_workspace

    Copy selected protected source files into a bounded Mission proposal; [] starts a new-files-only draft.

  • create_system_snapshot

    Save a privacy-preserving, read-only VPS state baseline. Records ports, failed units, cron/timers, Docker inventory, and optional configuration file hashes. It never stores config content or cron commands. Snapshot storage is configurable with VPS_GUARDIAN_SNAPSHOT_DIR.

  • create_workload_baseline

    Save a secret-free known-good workload baseline for later drift comparison.

  • deploy_config_change

    Commit a validated configuration plan, reload its service, and auto-rollback on failure. Args: deployment_id: Short-lived identifier returned by plan_config_deployment. confirmation_token: Required only in controlled mode; bound to this plan. Returns: JSON outcome with atomic-write, reload, health-check, and rollback details.

  • detect_zombie_processes

    Scan system process table for defunct/zombie processes and identify non-reaping parents. Returns: JSON string reporting detected zombies, parent PIDs, and remediation advice.

  • diagnose_project_dependencies

    Return bounded direct-dependency/lockfile issues and runtime mismatch evidence; unchanged fingerprints suppress repeated reports.

  • diagnose_workload

    Gather bounded read-only logs, OOM, kernel, and health evidence for a workload.

  • discover_projects

    Find bounded Git/application projects in configured VPS project roots.

  • docker_container_action

    Safely execute lifecycle operations (start, stop, restart, pause, unpause) on a container. Args: container_name: Name or short/full ID of the target Docker container. action: Desired action ('start', 'stop', 'restart', 'pause', 'unpause'). timeout: Stop/restart timeout in seconds before forcible kill (default: 10). confirmation_token: Single-use token returned by the preceding plan call. Returns: JSON string detailing previous status, new status, and action outcome.

  • execute_agent_job_recovery

    Execute a proposed restart through the existing safety-mode confirmation gate, then require verification.

  • execute_recovery

    Execute an emergency recovery operation from a strictly whitelisted list. Allowed actions: - 'restart_service': Restarts a systemd service (requires target=service_name, e.g. target='nginx'). - 'clean_docker_cache': Deep prune of unused containers, networks, images, and volumes. - 'clean_system_logs': Prunes journal logs older than 3 days and rotated archives in /var/log. - 'kill_process': Terminates a runaway process by PID (requires target=PID, e.g. target='12345'). - 'restart_nginx': Restarts Nginx web server (legacy alias for restart_service target='nginx'). - 'vacuum_systemd_journal': Tr…

  • find_project_references

    Find Python symbol-use candidates, distinguishing import aliases from name-only matches; never executes code.

  • find_workload

    Find an application by domain, container, Compose service, port, or path fragment.

  • finish_agent_job

    Record the agent's conclusion after all checks or recovery verification.

  • finish_agent_task

    Complete or fail an owned task and retain a bounded, redacted result.

  • generate_incident_report

    Generate one prioritized, read-only VPS incident report. Args: include_updates: Include operating-system patch and reboot status. include_security: Include SSH hardening assessment. include_network: Include listening ports; disabled by default to keep reports compact. Returns: JSON string with severity-ranked findings and the underlying diagnostic sections.

  • get_access_policy
  • get_agent_job

    Get job progress and compact results; use after_revision to receive only new steps.

  • get_agent_session

    Read a session's objective, findings, handoff note, and expiry state.

  • get_audit_events

    Return recent redacted audit events for state-changing operations. Args: limit: Number of newest events to return (1-500, default 50).

  • get_backup_status

    List isolated Guardian backups with sizes and creation times, without reading contents.

  • get_change_impact

    Show what a prospective restart, stop, config deployment, or update may affect. This tool never executes the action and does not issue a confirmation token.

  • get_database_health

    Discover running databases and verify responsiveness, latency, and socket states. Detects Redis, PostgreSQL, MySQL/MariaDB, and SQLite databases in application directories. Returns: JSON string with operational state, socket accessibility, and ping latency for each engine.

  • get_docker_container_logs

    Safely read stdout/stderr logs from a specific Docker container. Args: container_name: Container name or container short/full ID. lines_count: Number of recent log lines to retrieve (default: 50, max: 1000). Returns: JSON string containing the container logs.

  • get_docker_stats

    Retrieve live resource utilization metrics for all running Docker containers. Provides real-time CPU %, Memory %, Network I/O, and Block I/O (equivalent to `docker stats`). Returns: JSON string listing resource metrics per running container.

  • get_event_watch

    Retrieve events seen since an active event watch was opened; this does not push notifications.

  • get_fail2ban_status

    Check Fail2ban status, active protection jails, and currently banned IP addresses. Returns: JSON string detailing active jails and banned IP addresses.

  • get_failed_systemd_units

    Find all degraded or failed systemd services across the entire system. Returns: JSON string with list of failed units ('systemctl --failed') and overall health indicator.

  • get_firewall_status

    Return normalized UFW, firewalld, or nftables firewall state and rules.

  • get_guardian_launch

    Report whether this Guardian runs through SSH/stdio, systemd, or a container and how to reload it.

  • get_mission_brief

    Recover a mission goal, linked IDs and next state; an unchanged revision returns a tiny status reply.

  • get_open_ports

    Discover all listening network ports (TCP and UDP) and identify bound processes. Returns: JSON string listing open ports, protocols (TCP/UDP), binding addresses (IPv4/IPv6), and process names/PIDs.

  • get_operation

    Read shared operation metadata, bounded timeline and outcome after reconnect; never executes or approves anything.

  • get_package_updates

    List available updates via APT, DNF, YUM, Pacman, or Zypper without changing state.

  • get_platform_capabilities

    Detect package, firewall, service-manager, and Docker Compose backends on this host.

  • get_process_details

    In-depth diagnostics for a specific PID: hierarchy, threads, memory, open files, sockets, I/O. Args: pid: The target process ID to inspect (positive integer). Returns: JSON string detailing process tree, memory breakdown, sockets, files, and sanitized env.

  • get_project_changes

    Read Git working-tree changes and diff statistics without modifying the project.

  • get_project_diff

    Read a bounded, secret-redacted Git diff for a project or one file.

  • get_project_import_map

    Map bounded local Python import candidates; unresolved modules and partial scans are explicit.

  • get_project_symbols

    Map Python classes and functions to line ranges without returning their bodies.

  • get_project_task_context

    Bundle a Python definition, use-site fragments and test candidates; mask literals/comments and cap output.

  • get_recent_server_events

    Return a compact timeline of Guardian actions and important journal events.

  • get_resource_alerts

    Evaluate active resource watches once and return current threshold alerts.

  • get_runtime_budget

    Show the active low-resource profile and limits VPS-Guardian applies on this host.

  • get_safety_status

    Return the active safety mode, confirmation policy, TTL, and audit destination.

  • get_server_event_delta

    Return only server events after the supplied cursor, with a bounded response and next cursor.

  • get_system_health

    Retrieve a complete system health snapshot of the Linux VPS. Returns a JSON string containing: - CPU: overall percentage, per-core breakdown, core counts, 1/5/15m load averages. - RAM & Swap: total, used, available, percentage. - Disk: root partition usage, read/write I/O counters. - Network: sent/received bytes, packets, and error counts. - Uptime: boot timestamp and human-readable duration (e.g. '12d 4h 32m 10s').

  • get_test_capsule_status

    Inspect local Docker and resource prerequisites for isolated project checks.

  • get_top_processes

    Retrieve the top resource-consuming processes running on the VPS. Args: sort_by: Metric to rank processes by ('cpu' or 'memory'). Default: 'cpu'. limit: Number of top processes to return (1 to 50, default: 10). Returns: JSON string listing process PID, name, user, CPU %, RAM %, RSS memory, and command summary.

  • get_ufw_status

    Inspect the status and active filtering rules of the UFW firewall. Returns: JSON string containing UFW active state, default incoming/outgoing policies, and all active firewall rules.

  • get_vps_topology

    Map websites, reverse proxies, Compose projects, containers, ports, and databases. The map is read-only and excludes configuration content, environment values, and credentials. Use it before diagnosing an application whose location on the VPS is unknown.

  • get_web_deployment_status

    Verify one website end to end: public HTTPS response, local Nginx host, and certificate. Returns a single diagnosis identifying whether an issue is public availability, virtual-host configuration, or the matching TLS certificate.

  • get_workload_brief

    One compact, selectable workload report; request full detail only when needed.

  • get_workload_health

    Return concise health, resource, container, and matching SSL state for one workload.

  • get_workspace_settings
  • handoff_agent_session

    Leave a concise handoff note so another agent can continue without rediscovery.

  • heartbeat_agent_task

    Extend a task lease while its owning agent session is still working.

  • inspect_compose_project

    Return Docker Compose service topology, images, ports, dependencies, and healthchecks.

  • inspect_docker_container

    Deep inspection of container networks, volume mounts, restart policy, healthcheck, and masked env vars. Args: container_name: Name or short/full ID of the target container. Returns: JSON string detailing full container architecture and runtime state.

  • inspect_operator_project
  • inspect_project

    Inspect an approved project: stack markers, Git branch/commit, and dirty state.

  • inspect_project_environment

    Inspect Python venv/package metadata and a running systemd MainPID without executing project code.

  • list_agent_checkpoints

    List active pre-change checkpoints and optional completed history.

  • list_agent_jobs

    List persistent job summaries without returning step outputs.

  • list_agent_sessions

    List active shared agent sessions; expired sessions are marked automatically.

  • list_agent_tasks

    List prioritized tasks and release expired leases on demand.

  • list_agents
  • list_assigned_missions

    List this Mission worker's private operator assignments; no automatic model or production execution.

  • list_compose_projects

    Discover conventional Docker Compose files in an authorized directory tree.

  • list_cron_jobs

    Discover all scheduled cron jobs on the Linux system. Audits /etc/crontab, /etc/cron.d/, /etc/cron.* periodic scripts, and user crontabs. Returns: JSON string containing scheduled jobs with user, schedule expression, human-readable timing explanation, and command.

  • list_directory

    Inspect file and directory structures within authorized administrative paths. Permitted directories: /etc/nginx/, /etc/mysql/, /etc/postgresql/, /etc/docker/, /etc/caddy/, /var/www/ Args: dir_path: Path to the directory to inspect. max_depth: Exploration depth (1 to 3, default: 1). Returns: JSON string with item list (names, types, sizes, modification dates).

  • list_docker_containers

    List Docker containers with their status, image, port bindings, volumes, and health. Args: all: Set to True to list all containers (running and stopped), False for running only. Returns: JSON string with list of containers, port forwards, and mount mappings.

  • list_maintenance_windows

    List active maintenance windows, or include closed and expired history.

  • list_mission_workspaces

    Recover private workspace IDs and candidate hashes after reconnecting, without source output.

  • list_operations

    List shared persistent drafts/history and Agent Jobs; metadata only, no source or tokens. Paginate drafts/history with next_before.

  • list_operator_projects
  • list_runbook_templates

    List command-free agent runbooks built from existing guarded MCP tools.

  • list_runbooks

    List active agent runbooks, with optional completed history.

  • list_system_snapshots

    List stored VPS state snapshots without exposing their collected content.

  • list_systemd_timers

    Audit active and pending systemd timers via 'systemctl list-timers'. Returns: JSON string with timer unit names, next execution time, countdown, and target services.

  • list_virtual_hosts

    Inspect active Nginx virtual hosts, listening ports, SSL, and reverse proxy targets. Returns: JSON string with parsed virtual hosts from /etc/nginx/sites-enabled/ and conf.d/.

  • lock_workload

    Reserve a workload briefly so concurrent agents do not make conflicting changes.

  • open_event_watch

    Open an expiring workload watch. Use get_event_watch later to retrieve new events.

  • plan_capsule_environment

    Prepare reviewed runtime/dependency metadata for a capsule image; this does not build, download or verify the image.

  • plan_config_deployment

    Validate and preview an Nginx config or Caddyfile deployment. The candidate is staged outside the live path, syntax-checked, and shown as a bounded unified diff. No live configuration is modified. Nginx configs under /etc/nginx and Caddyfiles under /etc/caddy are supported. Args: file_path: Target config path under /etc/nginx or /etc/caddy. content: Complete proposed UTF-8 configuration (at most 200,000 bytes). service_name: Optional matching service name (nginx or caddy). Returns: JSON plan with validation output, diff, expiry, and a confirmation token in controlled mod…

  • plan_environment_repair

    Plan an environment repair without installing packages, changing service units or restarting applications.

  • prepare_repair_plan

    Create an evidence-backed repair plan without changing the VPS.

  • preview_change_set

    Show secret-redacted diffs and request one confirmation for a ChangeSet.

  • preview_project_patch

    Show secret-redacted source diff and obtain one confirmation token for a patch.

  • promote_tested_project_patch

    Apply the exact capsule-tested candidate using existing preview, confirmation and backup rules.

  • propose_agent_job_recovery

    Propose one systemd-service restart after job checks; this does not execute it.

  • read_mission_workspace

    Read a bounded candidate fragment and hashes; resume via next_byte_offset.

  • read_mission_workspace_lines

    Read up to 200 candidate lines/24 KB with this file's hash only; never execute code or authorize stale apply.

  • read_project_file

    Read one non-binary project file without following symlinks; redact common secrets.

  • read_project_file_range

    Read later lines or bytes of a large project file within a per-call limit; returns a file hash and continuation.

  • read_service_logs

    Safely fetch and optionally filter recent log lines for a service or Docker container. Args: service_name: Target unit (e.g. 'nginx', 'systemd:cron', 'docker:my_container'). lines_count: Number of recent lines to retrieve (default: 50, maximum: 1000). grep_filter: Optional case-insensitive keyword to filter lines (e.g. 'ERROR', '403', 'denied'). Returns: JSON string containing the extracted log lines and matching statistics.

  • record_session_finding

    Save one bounded, secret-redacted finding or decision to an active agent session.

  • release_agent_task

    Return an owned task to the queue with a secret-redacted reason.

  • report_mission_progress

    Report working/blocked/needs_review with optional submitted workspace and unverified Job ID; never approve or finish.

  • revoke_agent
  • run_project_checks

    Run only fixed safe checks: Git whitespace validation or bounded Python syntax parsing.

  • save_access_policy
  • save_workspace_settings
  • search_project_code

    Bounded literal code search with ignored dependency folders and redacted output.

  • set_web_file_mode

    Set a safe web-readable mode (0644 or 0640) for a static file under /var/www. The content is untouched; arbitrary chmod modes and paths outside /var/www are rejected. Controlled mode requires a confirmation token.

  • stage_file_change

    Stage one Nginx configuration change; content is not applied yet.

  • stage_mission_file

    Replace a private candidate using its current SHA-256; production remains unchanged.

  • stage_mission_file_deletion

    Propose deleting a selected candidate with a current hash; operator apply retains a private baseline backup.

  • stage_mission_line_edit

    Edit inclusive candidate lines; end_line=start_line-1 inserts, including at EOF. No production write.

  • stage_mission_new_file

    Propose creating a 0644 source file under an existing protected parent; independent operator apply required.

  • stage_project_file_change

    Stage one source-file replacement in an active project patch without applying it.

  • stage_project_line_edit

    Stage only changed lines in a bounded project patch; preview and confirmation are still required.

  • start_agent_session

    Create an expiring, secret-safe shared task context for agents working on this VPS.

  • start_runbook

    Open a bounded agent runbook; it never runs commands or bypasses confirmation.

  • submit_mission_workspace

    Freeze a proposal for independent operator review; this does not grant permission to apply.

  • summarize_service_logs

    Group repeated service log lines into a short report; return unchanged for a known fingerprint.

  • test_network_connectivity

    Benchmark outbound network connectivity and latency using direct Python sockets. Measures DNS resolution latency, TCP handshake time, and TLS handshake latency without shell ping. Args: target_host: Destination hostname or IP address (e.g. 'api.github.com' or '8.8.8.8'). port: Destination port (1-65535, default 443). timeout_seconds: Network socket timeout (0.5 to 30.0 seconds, default 5.0). Returns: JSON string with stage latency breakdown, resolved IP addresses, and TLS session details.

  • test_nginx_config

    Test Nginx configuration for syntax errors ('nginx -t') without reloading. Returns: JSON string indicating syntax validity, exit code, and syntax error messages.

  • test_project_patch

    Test staged code in one temporary, networkless, resource-limited Docker capsule; controlled mode requires confirmation.

  • update_runbook_step

    Record the outcome of one runbook step after its separate guarded tool call.

  • verify_agent_job_recovery

    Read service health after a job restart; never restart or roll back automatically.

  • verify_backup

    Verify a Guardian tar.gz archive without extracting it. Only regular archives within the isolated Guardian backup directory are accepted. Very large member counts return a bounded partial result.

  • view_file_content

    Safely read the content of an authorized configuration or web file. Permitted directories: /etc/nginx/, /etc/mysql/, /etc/postgresql/, /etc/docker/, /etc/caddy/, /var/www/ Strictly protected against path traversal attacks. Args: file_path: Canonical path or relative path to the configuration file. max_bytes: Maximum bytes to return (default: 50,000, capped at 200,000). Returns: JSON string with file content, size, and modification timestamp.

  • watch_resource_threshold

    Create an expiring CPU, memory, swap, or disk threshold watch. The watch has no background worker. Call get_resource_alerts to evaluate it on demand, which is safe for small VPS instances.

  • write_file_content

    Atomically write or update a configuration file within authorized directories. Creates an automatic timestamped backup (.bak.<timestamp>) before overwriting. Permitted directories: /etc/nginx/, /etc/mysql/, /etc/postgresql/, /etc/docker/, /etc/caddy/, /var/www/ Args: file_path: Path to the target configuration file. content: Text content to write. backup: Create a backup file before writing (default: True). confirmation_token: Single-use token returned by the preceding plan call. Returns: JSON string indicating write status and backup location.

Compare and alternatives

    Featured in

    Signals

    Stars
    0
    Forks
    0
    Open issues
    0
    Weekly downloads
    236
    Last commit
    Oct 13, 2026 (15 days ago)
    Last release
    Oct 13, 2026 (15 days ago)
    Last package publish
    Oct 13, 2026 (15 days ago)

    From GitHub (fetched Oct 24, 2026) and the package registry.

    Details

    Registry name
    io.github.murzirius/vps-guardian-mcp
    Version
    0.37.0
    Auth
    No auth
    License
    MIT
    First seen
    Oct 24, 2026
    Last checked
    Oct 24, 2026
    Cite this page

    VPS Guardian MCP server. Agent Mart. https://agentmart.dev/connectors/murzirius-vps-guardian-mcp (last updated 2026-10-24)