Homelab

126 tools. 56 can modify or destroy data without limits.

12 destructive tools with no built-in limits. Policy required.

Last updated:

56 can modify or destroy data
70 read-only
126 tools total

Community server · catalogue entry verified 02/07/2026

How to control Homelab ↓

What Homelab exposes to your agents

Read (70) Write / Execute (44) Destructive / Financial (12)
Critical Risk

The most dangerous Homelab tools

56 of Homelab's 126 tools can modify, destroy, or commit something on every call — and an agent calls them with no built-in limits.

How to control Homelab

PolicyLayer is an MCP gateway — it sits between your AI agents and Homelab, and nothing reaches the server without passing your rules. These are the rules we recommend:

Deny destructive operations
{
  "lidarr_remove_artist": {
    "deny_if": [
      {
        "conditions": [],
        "on_deny": "Blocked by default. Requires approval."
      }
    ]
  }
}

Destructive tools should never be available to autonomous agents without human approval.

Rate limit write operations
{
  "devbox_write_file": {
    "limits": [
      {
        "counter": "devbox_write_file_per_hour",
        "window": "hour",
        "max": 30,
        "scope": "grant"
      }
    ]
  }
}

Prevents bulk unintended modifications from agents caught in loops.

Cap read operations
{
  "adguard_check_host": {
    "limits": [
      {
        "counter": "adguard_check_host_per_minute",
        "window": "minute",
        "max": 60,
        "scope": "grant"
      }
    ]
  }
}

Controls API costs and prevents retry loops from exhausting upstream rate limits.

  1. Create a free account and register Homelab — nothing to install.
  2. Add these rules — paste them, or build them visually. Tune the limits to your setup.
  3. Point your MCP client (Claude, Cursor, anything) at your gateway URL.
ENFORCE POLICY ON HOMELAB →

Instant setup, no code required.

All 126 Homelab tools

EXECUTE 27 tools
Execute adguard_toggle_protection Enable or disable AdGuard Home DNS filtering protection. Execute bazarr_download_subtitle Trigger a manual subtitle download for a specific movie or episode in Bazarr. Execute container_check_updates Pull latest images for all running containers on the devbox and report which have updates available. Execute container_update Update a specific container on the devbox: pull the latest image and restart it. If project_dir is provided, u Execute devbox_docker_compose Run docker compose up/down/restart/pull/logs for a project on the devbox. Execute devbox_exec Execute a shell command on the devbox via SSH. Dangerous commands are blocked. Execute devbox_git Run git status, pull, log, or clone on the devbox. Execute devbox_project_deploy Deploy a project: git pull, docker compose pull, docker compose up -d, then show status. Execute homelab_setup AI-guided setup wizard for homelab-mcp. Execute media_restart Restart a media service container on the devbox. Execute plex_refresh_library Trigger a Plex library scan to pick up newly added files. Execute prometheus_query Run an arbitrary PromQL query against Prometheus. Use for ad-hoc metrics: container CPU/RAM, disk trends, netw Execute prowlarr_sync_apps Force Prowlarr to sync all indexers to connected apps (Radarr, Sonarr). Use after adding a new indexer. Execute prowlarr_test_indexers Test all indexers (or a specific one) in Prowlarr to verify they are working. Execute proxmox_create_ct Create a new Debian 12 LXC container on the Proxmox node. Execute proxmox_exec Execute a shell command on the Proxmox host via SSH. Use for disk operations and host-level administration. De Execute proxmox_restart_vm Restart a VM or LXC container by its VMID. Execute proxmox_start_vm Start a VM or LXC container by its VMID. Execute proxmox_stop_vm Stop (graceful shutdown) a VM or LXC container by its VMID. Execute radarr_force_search Force Radarr to search all indexers for a specific movie already in the library. Execute radarr_grab_release Grab a specific release by its GUID (from radarr_interactive_search) and send it to the download client. Execute sabnzbd_pause_queue Pause the SABnzbd download queue. Execute sabnzbd_resume_queue Resume the SABnzbd download queue. Execute sonarr_force_search Force Sonarr to search all indexers for missing episodes of a series. Execute sonarr_grab_release Grab a specific release by its GUID (from sonarr_interactive_search) and send it to the download client. Execute sonarr_season_search Search for a specific season of a series in Sonarr. Execute wol_send Send a Wake-on-LAN magic packet to wake a machine by its MAC address. Requires wakeonlan or etherwake on the d
WRITE 17 tools
Write devbox_write_file Write content to a file on the devbox. Parent directories are created automatically. Write lidarr_add_artist Add a music artist to Lidarr and trigger an automatic album download search. Write notify_telegram Send a message to Telegram via the homelab bot. Use to confirm destructive operations, report issues found via Write radarr_add_movie Add a movie to Radarr and trigger an automatic download search. Write radarr_blocklist_release Blocklist a specific bad release from the Radarr queue and optionally trigger a fresh search. Use queue_id fro Write radarr_manual_import Scan a local folder for video files and import them into Radarr. Write radarr_set_cf_score Set the score of a custom format in a Radarr quality profile. Write radarr_set_custom_format Create or update a custom format in Radarr (upsert by name). Write radarr_set_path_mapping Add or update a remote path mapping in Radarr. Write readarr_add_book Add a book to Readarr and trigger an automatic download search. Write seerr_approve_request Approve a pending media request in Seerr. Write seerr_decline_request Decline a media request in Seerr. Write sonarr_add_series Add a TV series to Sonarr and trigger an automatic episode download. Write sonarr_manual_import Scan a local folder for video files and import them into Sonarr. Write sonarr_set_cf_score Set the score of a custom format in a Sonarr quality profile. Write sonarr_set_custom_format Create or update a custom format in Sonarr (upsert by name). Write sonarr_set_path_mapping Add or update a remote path mapping in Sonarr.
READ 70 tools
Read adguard_check_host Check if a domain is blocked by AdGuard Home and which rule matches. Read adguard_stats Show AdGuard Home DNS query stats: total queries, blocked count, block rate, top queried and blocked domains. Read bazarr_status Show Bazarr wanted subtitle counts and the first items needing subtitles for movies and episodes. Read devbox_docker_ps Show all running Docker containers on the devbox. Read devbox_list_dir List directory contents on the devbox (ls -la). Read devbox_project_list Scan a base path for docker-compose projects and show git remote + container status for each. Read devbox_project_status Health check for a deployed project: container status and recent logs. Read devbox_read_file Read the contents of a file on the devbox (up to 100 KB). Read grafana_get_dashboard Get the panel list for a Grafana dashboard by UID. Returns panel IDs, types, and titles. Read grafana_list_dashboards List all Grafana dashboards with their UIDs, folder, and tags. Read grafana_query_panel Query the actual data values from a specific Grafana dashboard panel. Returns the last N data points. Use graf Read homelab_capabilities List all available homelab tools grouped by service domain. Read homelab_health Run a health check against all configured homelab services. Read lidarr_get_queue Show active and queued music downloads in Lidarr with progress and ETA. Read lidarr_list_artists List all artists in the Lidarr library with album counts and disk usage. Read lidarr_search_artist Search for a music artist by name. Returns MusicBrainz IDs and album counts. Use before lidarr_add_artist. Read media_dashboard All-in-one homelab status: Proxmox node health, container status, active downloads, library stats, and storage Read media_logs Get recent log output from a media service container running on the devbox. Read media_status Show the status and uptime of all running containers on the devbox. Read nvidia_status Show GPU temperature, utilization, VRAM usage, and power draw (runs on Proxmox host). Read pbs_get_tasks Show recent PBS task history: backup jobs, verify tasks, garbage collection, with status and duration. Read pbs_list_snapshots List recent backup snapshots across all PBS datastores with timestamps and sizes. Read pbs_status Show Proxmox Backup Server datastore usage: total, used, and available space per datastore. Read plex_get_libraries List all Plex libraries (Movies, TV Shows, etc.) with item counts. Read plex_get_sessions Show who is currently streaming on Plex, what they are watching, and whether it is transcoding or direct play. Read plex_get_watch_history Show recent Plex watch history across all users with titles, types, and play counts. Read plex_recently_added Show recently added movies and episodes in Plex. Read plex_search Search across all Plex libraries for movies, shows, or episodes. Read prometheus_range_query Run a PromQL range query to get historical metric values over time. Useful for trend analysis (e.g. CPU over l Read prometheus_snapshot Quick homelab metrics snapshot: CPU%, RAM, disk usage, network throughput, container count, and scrape target Read prowlarr_list_indexers List all indexers configured in Prowlarr with their status. Read proxmox_get_logs Retrieve the last N log lines from a VM or LXC container (default 100 lines). Read proxmox_get_metrics Get detailed CPU, RAM, disk, and uptime metrics for a specific VM or LXC container. Read proxmox_get_node_metrics Get resource usage (CPU, RAM, disk, load average, uptime) for the Proxmox node itself. Read proxmox_list_nodes List all Proxmox nodes with their status, CPU usage, RAM usage, and uptime. Read proxmox_list_vms List all VMs (QEMU) and LXC containers on the configured Proxmox node. Read qnap_disk_health Show SMART health data for all drives in the QNAP NAS. Read qnap_raid_status Check QNAP RAID array health — confirms all drives are healthy and synced. Read qnap_status Show QNAP NAS status: RAID health, drive temperatures, and storage usage per share. Read qnap_storage_usage Show detailed storage usage for all QNAP shares and LVM volume group. Read radarr_check_releases Show available releases for a movie and why some are being rejected. Use to debug download issues. Read radarr_get_history Show recent Radarr download history (last 20 events). Read radarr_get_queue Show active and queued movie downloads in Radarr with progress and ETA. Read radarr_interactive_search Show all available releases for a movie with their GUIDs, quality, size, age, indexer, and custom format score Read radarr_list_custom_formats List all custom formats in Radarr and their scores across quality profiles. Read radarr_list_movies List movies in the Radarr library with download status and file size. Supports filtering and search to keep ou Read radarr_list_path_mappings List remote path mappings in Radarr (translates download client paths to Radarr paths). Read radarr_search_movie Search for a movie by title. Returns TMDB IDs, overviews, and ratings. Use before radarr_add_movie. Read readarr_get_queue Show active and queued book downloads in Readarr with progress and ETA. Read readarr_list_books List all books in the Readarr library with download status and file size. Read readarr_search_book Search for a book by title or author. Returns Goodreads IDs. Use before readarr_add_book. Read sabnzbd_get_history Show recent SABnzbd download history with status, size, completion time, and any failure messages. Read sabnzbd_get_status Show SABnzbd global status: download speed, remaining data, ETA, disk space, paused state, and queue size. Read sabnzbd_list_queue List active SABnzbd download queue with progress, ETA, and category for each NZB. Read security_status Check homelab security: SSH config and Proxmox firewall status. Read seerr_list_requests List media requests from family members in Seerr. Read seerr_stats Show request statistics from Seerr: total, pending, approved, declined, etc. Read sonarr_blocklist_release Blocklist a specific bad release from the Sonarr queue so it won Read sonarr_check_releases Show available releases for a TV series season and why some are being rejected. Use to debug download issues. Read sonarr_get_queue Show active and queued episode downloads in Sonarr with progress and ETA. Read sonarr_interactive_search Show all available releases for a TV series episode or season with their GUIDs, quality, size, age, indexer, a Read sonarr_list_custom_formats List all custom formats in Sonarr and their scores across quality profiles. Read sonarr_list_path_mappings List remote path mappings in Sonarr. Read sonarr_list_series List TV series in the Sonarr library with episode counts and download progress. Supports filtering and search Read sonarr_search_series Search for a TV series by title. Returns TVDB IDs, overviews, and network info. Use before sonarr_add_series. Read tailscale_status Show Tailscale VPN status on the devbox: connected peers, IPs, and which devices are online. Read tautulli_get_activity Show current Plex streams via Tautulli: who is watching what, player, stream decision, and progress. Read tautulli_get_history Show recent Plex watch history from Tautulli with user, title, duration, and player. Read tautulli_get_stats Show Tautulli play stats for the last 30 days: top movies, shows, users, and platforms. Read uptime_status List all Uptime Kuma monitors with their up/down status and latency. Shows any currently down services first.

Related servers

Other MCP servers with similar tools — same risk classification, starter policies for each.

Questions about Homelab

Can an AI agent delete data through the Homelab MCP server? +

Yes. The Homelab server exposes 12 destructive tools including lidarr_remove_artist, plex_delete_media, radarr_clear_blocklist. These permanently remove resources with no undo. PolicyLayer blocks destructive tools by default so they never reach the upstream server.

How do I prevent bulk modifications through Homelab? +

The Homelab server has 17 write tools including devbox_write_file, lidarr_add_artist, notify_telegram. Set a rate limit in your policy -- for example, 10 calls per hour prevents an agent from making more than 10 modifications per hour. PolicyLayer enforces this at the gateway, before calls reach Homelab.

How many tools does the Homelab MCP server expose? +

126 tools across 4 categories: Destructive, Execute, Read, Write. 70 are read-only. 56 can modify, create, or delete data.

How do I enforce a policy on Homelab? +

Register the Homelab MCP server in PolicyLayer, apply the suggested rules above (adjust the limits to your use case), and point your AI client at the PolicyLayer proxy URL instead of the server directly. Your agents keep the same tools; PolicyLayer evaluates every call against policy before it executes. Nothing to install, live in minutes.

Enforce policy on every Homelab tool call.

Deterministic rules across all 126 Homelab tools. Per-identity grants. Full audit log. Live in minutes. Nothing to install.

Instant setup, no code required.

126 Homelab tools catalogued and risk-classified — across an index of 43,000+ MCP servers.

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.