# Mcp Hands MCP server

Agent View of the PolicyLayer registry record for Mcp Hands: identity, probed posture, risk grade, and all 378 tools classified. HTML page: https://policylayer.com/tools/mcp-hands

## Facts

- Server id: `huocai250/mcp-hands`
- Homepage: https://github.com/huocai250/mcp-hands
- Registry record: grade F, identity unverified
- Lifecycle: active
- Rate-limited: no
- Tools: 378
- Tool categories present: Destructive, Execute, Read, Write
- Tags: mcp hands, admin, automation
- Record last modified: 2026-10-13T07:31:32.441Z

## Tools (378)

| Tool | Category | Risk | Record |
| --- | --- | --- | --- |
| `call_clear` | Destructive | Critical | https://policylayer.com/tools/mcp-hands/call-clear.md |
| `dedupe_lines` | Destructive | Critical | https://policylayer.com/tools/mcp-hands/dedupe-lines.md |
| `delete` | Destructive | Critical | https://policylayer.com/tools/mcp-hands/delete.md |
| `empty_dirs` | Destructive | Critical | https://policylayer.com/tools/mcp-hands/empty-dirs.md |
| `firewall_remove_rule` | Destructive | Critical | https://policylayer.com/tools/mcp-hands/firewall-remove-rule.md |
| `hosts_remove` | Destructive | Critical | https://policylayer.com/tools/mcp-hands/hosts-remove.md |
| `hosts_reset` | Destructive | Critical | https://policylayer.com/tools/mcp-hands/hosts-reset.md |
| `job_cancel` | Destructive | Critical | https://policylayer.com/tools/mcp-hands/job-cancel.md |
| `memory_forget` | Destructive | Critical | https://policylayer.com/tools/mcp-hands/memory-forget.md |
| `note_delete` | Destructive | Critical | https://policylayer.com/tools/mcp-hands/note-delete.md |
| `outbox_clean` | Destructive | Critical | https://policylayer.com/tools/mcp-hands/outbox-clean.md |
| `pdf_delete_pages` | Destructive | Critical | https://policylayer.com/tools/mcp-hands/pdf-delete-pages.md |
| `portproxy_remove` | Destructive | Critical | https://policylayer.com/tools/mcp-hands/portproxy-remove.md |
| `power_action` | Destructive | Critical | https://policylayer.com/tools/mcp-hands/power-action.md |
| `prune_backups` | Destructive | Critical | https://policylayer.com/tools/mcp-hands/prune-backups.md |
| `reg_delete_key` | Destructive | Critical | https://policylayer.com/tools/mcp-hands/reg-delete-key.md |
| `reg_delete_value` | Destructive | Critical | https://policylayer.com/tools/mcp-hands/reg-delete-value.md |
| `remind_cancel` | Destructive | Critical | https://policylayer.com/tools/mcp-hands/remind-cancel.md |
| `sort_lines` | Destructive | Critical | https://policylayer.com/tools/mcp-hands/sort-lines.md |
| `task_delete` | Destructive | Critical | https://policylayer.com/tools/mcp-hands/task-delete.md |
| `todo_delete` | Destructive | Critical | https://policylayer.com/tools/mcp-hands/todo-delete.md |
| `winget_installed` | Destructive | Critical | https://policylayer.com/tools/mcp-hands/winget-installed.md |
| `winget_uninstall` | Destructive | Critical | https://policylayer.com/tools/mcp-hands/winget-uninstall.md |
| `gif_from_images` | Execute | High | https://policylayer.com/tools/mcp-hands/gif-from-images.md |
| `git_run` | Execute | High | https://policylayer.com/tools/mcp-hands/git-run.md |
| `image_scale_2x` | Execute | High | https://policylayer.com/tools/mcp-hands/image-scale-2x.md |
| `job_start` | Execute | High | https://policylayer.com/tools/mcp-hands/job-start.md |
| `job_wait` | Execute | High | https://policylayer.com/tools/mcp-hands/job-wait.md |
| `pptx_from_outline` | Execute | High | https://policylayer.com/tools/mcp-hands/pptx-from-outline.md |
| `run_cmd` | Execute | High | https://policylayer.com/tools/mcp-hands/run-cmd.md |
| `run_ps` | Execute | High | https://policylayer.com/tools/mcp-hands/run-ps.md |
| `run_python` | Execute | High | https://policylayer.com/tools/mcp-hands/run-python.md |
| `serve_dir` | Execute | High | https://policylayer.com/tools/mcp-hands/serve-dir.md |
| `sqlite_execute` | Execute | High | https://policylayer.com/tools/mcp-hands/sqlite-execute.md |
| `start_process` | Execute | High | https://policylayer.com/tools/mcp-hands/start-process.md |
| `startup_items` | Execute | High | https://policylayer.com/tools/mcp-hands/startup-items.md |
| `stop_server` | Execute | High | https://policylayer.com/tools/mcp-hands/stop-server.md |
| `task_details` | Execute | High | https://policylayer.com/tools/mcp-hands/task-details.md |
| `task_run` | Execute | High | https://policylayer.com/tools/mcp-hands/task-run.md |
| `arp_table` | Read | Low | https://policylayer.com/tools/mcp-hands/arp-table.md |
| `audit_stats` | Read | Low | https://policylayer.com/tools/mcp-hands/audit-stats.md |
| `audit_tail` | Read | Low | https://policylayer.com/tools/mcp-hands/audit-tail.md |
| `b64_decode` | Read | Low | https://policylayer.com/tools/mcp-hands/b64-decode.md |
| `b64_encode` | Read | Low | https://policylayer.com/tools/mcp-hands/b64-encode.md |
| `backup_dir` | Read | Low | https://policylayer.com/tools/mcp-hands/backup-dir.md |
| `battery` | Read | Low | https://policylayer.com/tools/mcp-hands/battery.md |
| `beep` | Read | Low | https://policylayer.com/tools/mcp-hands/beep.md |
| `calc` | Read | Low | https://policylayer.com/tools/mcp-hands/calc.md |
| `call_listen` | Read | Low | https://policylayer.com/tools/mcp-hands/call-listen.md |
| `call_say` | Read | Low | https://policylayer.com/tools/mcp-hands/call-say.md |
| `call_state` | Read | Low | https://policylayer.com/tools/mcp-hands/call-state.md |
| `clipboard_get` | Read | Low | https://policylayer.com/tools/mcp-hands/clipboard-get.md |
| `code_stats` | Read | Low | https://policylayer.com/tools/mcp-hands/code-stats.md |
| `compare_dirs` | Read | Low | https://policylayer.com/tools/mcp-hands/compare-dirs.md |
| `compare_images` | Read | Low | https://policylayer.com/tools/mcp-hands/compare-images.md |
| `cpu_load` | Read | Low | https://policylayer.com/tools/mcp-hands/cpu-load.md |
| `csv_aggregate` | Read | Low | https://policylayer.com/tools/mcp-hands/csv-aggregate.md |
| `csv_read` | Read | Low | https://policylayer.com/tools/mcp-hands/csv-read.md |
| `csv_stats` | Read | Low | https://policylayer.com/tools/mcp-hands/csv-stats.md |
| `csv_to_json` | Read | Low | https://policylayer.com/tools/mcp-hands/csv-to-json.md |
| `cursor_pos` | Read | Low | https://policylayer.com/tools/mcp-hands/cursor-pos.md |
| `date_diff` | Read | Low | https://policylayer.com/tools/mcp-hands/date-diff.md |
| `date_info` | Read | Low | https://policylayer.com/tools/mcp-hands/date-info.md |
| `db_stats` | Read | Low | https://policylayer.com/tools/mcp-hands/db-stats.md |
| `default_apps_list` | Read | Low | https://policylayer.com/tools/mcp-hands/default-apps-list.md |
| `describe_ui` | Read | Low | https://policylayer.com/tools/mcp-hands/describe-ui.md |
| `device_list` | Read | Low | https://policylayer.com/tools/mcp-hands/device-list.md |
| `devices_list` | Read | Low | https://policylayer.com/tools/mcp-hands/devices-list.md |
| `devices_pending` | Read | Low | https://policylayer.com/tools/mcp-hands/devices-pending.md |
| `devices_stats` | Read | Low | https://policylayer.com/tools/mcp-hands/devices-stats.md |
| `diff_text` | Read | Low | https://policylayer.com/tools/mcp-hands/diff-text.md |
| `dir_size` | Read | Low | https://policylayer.com/tools/mcp-hands/dir-size.md |
| `disk_usage` | Read | Low | https://policylayer.com/tools/mcp-hands/disk-usage.md |
| `disk_usage_report` | Read | Low | https://policylayer.com/tools/mcp-hands/disk-usage-report.md |
| `dns_flush` | Read | Low | https://policylayer.com/tools/mcp-hands/dns-flush.md |
| `dns_lookup` | Read | Low | https://policylayer.com/tools/mcp-hands/dns-lookup.md |
| `dns_records` | Read | Low | https://policylayer.com/tools/mcp-hands/dns-records.md |
| `docx_append` | Read | Low | https://policylayer.com/tools/mcp-hands/docx-append.md |
| `docx_read` | Read | Low | https://policylayer.com/tools/mcp-hands/docx-read.md |
| `docx_to_markdown` | Read | Low | https://policylayer.com/tools/mcp-hands/docx-to-markdown.md |
| `download_file` | Read | Low | https://policylayer.com/tools/mcp-hands/download-file.md |
| `download_speed` | Read | Low | https://policylayer.com/tools/mcp-hands/download-speed.md |
| `download_to_share` | Read | Low | https://policylayer.com/tools/mcp-hands/download-to-share.md |
| `empty_recycle_bin` | Read | Low | https://policylayer.com/tools/mcp-hands/empty-recycle-bin.md |
| `entropy_scan` | Read | Low | https://policylayer.com/tools/mcp-hands/entropy-scan.md |
| `env_vars` | Read | Low | https://policylayer.com/tools/mcp-hands/env-vars.md |
| `epoch_to_time` | Read | Low | https://policylayer.com/tools/mcp-hands/epoch-to-time.md |
| `event_log_tail` | Read | Low | https://policylayer.com/tools/mcp-hands/event-log-tail.md |
| `extract_emails` | Read | Low | https://policylayer.com/tools/mcp-hands/extract-emails.md |
| `extract_ipv4` | Read | Low | https://policylayer.com/tools/mcp-hands/extract-ipv4.md |
| `extract_phones` | Read | Low | https://policylayer.com/tools/mcp-hands/extract-phones.md |
| `extract_urls` | Read | Low | https://policylayer.com/tools/mcp-hands/extract-urls.md |
| `fetch_url` | Read | Low | https://policylayer.com/tools/mcp-hands/fetch-url.md |
| `file_hashes` | Read | Low | https://policylayer.com/tools/mcp-hands/file-hashes.md |
| `file_info` | Read | Low | https://policylayer.com/tools/mcp-hands/file-info.md |
| `file_url` | Read | Low | https://policylayer.com/tools/mcp-hands/file-url.md |
| `find_duplicates` | Read | Low | https://policylayer.com/tools/mcp-hands/find-duplicates.md |
| `find_secrets` | Read | Low | https://policylayer.com/tools/mcp-hands/find-secrets.md |
| `firewall_list_rule` | Read | Low | https://policylayer.com/tools/mcp-hands/firewall-list-rule.md |
| `focus_window` | Read | Low | https://policylayer.com/tools/mcp-hands/focus-window.md |
| `fs_roots` | Read | Low | https://policylayer.com/tools/mcp-hands/fs-roots.md |
| `gif_frames` | Read | Low | https://policylayer.com/tools/mcp-hands/gif-frames.md |
| `git_branches` | Read | Low | https://policylayer.com/tools/mcp-hands/git-branches.md |
| `git_diff` | Read | Low | https://policylayer.com/tools/mcp-hands/git-diff.md |
| `git_log` | Read | Low | https://policylayer.com/tools/mcp-hands/git-log.md |
| `git_show` | Read | Low | https://policylayer.com/tools/mcp-hands/git-show.md |
| `git_status` | Read | Low | https://policylayer.com/tools/mcp-hands/git-status.md |
| `glob_search` | Read | Low | https://policylayer.com/tools/mcp-hands/glob-search.md |
| `grep_text` | Read | Low | https://policylayer.com/tools/mcp-hands/grep-text.md |
| `hash_compare` | Read | Low | https://policylayer.com/tools/mcp-hands/hash-compare.md |
| `hash_dir` | Read | Low | https://policylayer.com/tools/mcp-hands/hash-dir.md |
| `hash_file` | Read | Low | https://policylayer.com/tools/mcp-hands/hash-file.md |
| `hash_text` | Read | Low | https://policylayer.com/tools/mcp-hands/hash-text.md |
| `hex_dump` | Read | Low | https://policylayer.com/tools/mcp-hands/hex-dump.md |
| `hosts_read` | Read | Low | https://policylayer.com/tools/mcp-hands/hosts-read.md |
| `html_to_markdown` | Read | Low | https://policylayer.com/tools/mcp-hands/html-to-markdown.md |
| `http_status` | Read | Low | https://policylayer.com/tools/mcp-hands/http-status.md |
| `http_timing` | Read | Low | https://policylayer.com/tools/mcp-hands/http-timing.md |
| `image_collage` | Read | Low | https://policylayer.com/tools/mcp-hands/image-collage.md |
| `image_compare` | Read | Low | https://policylayer.com/tools/mcp-hands/image-compare.md |
| `image_compose` | Read | Low | https://policylayer.com/tools/mcp-hands/image-compose.md |
| `image_crop` | Read | Low | https://policylayer.com/tools/mcp-hands/image-crop.md |
| `image_exif_read` | Read | Low | https://policylayer.com/tools/mcp-hands/image-exif-read.md |
| `image_exif_strip` | Read | Low | https://policylayer.com/tools/mcp-hands/image-exif-strip.md |
| `image_gray` | Read | Low | https://policylayer.com/tools/mcp-hands/image-gray.md |
| `image_info` | Read | Low | https://policylayer.com/tools/mcp-hands/image-info.md |
| `image_palette` | Read | Low | https://policylayer.com/tools/mcp-hands/image-palette.md |
| `image_rotate` | Read | Low | https://policylayer.com/tools/mcp-hands/image-rotate.md |
| `image_split_grid` | Read | Low | https://policylayer.com/tools/mcp-hands/image-split-grid.md |
| `image_text` | Read | Low | https://policylayer.com/tools/mcp-hands/image-text.md |
| `image_watermark_tile` | Read | Low | https://policylayer.com/tools/mcp-hands/image-watermark-tile.md |
| `images_to_pdf` | Read | Low | https://policylayer.com/tools/mcp-hands/images-to-pdf.md |
| `installed_apps` | Read | Low | https://policylayer.com/tools/mcp-hands/installed-apps.md |
| `ip_config` | Read | Low | https://policylayer.com/tools/mcp-hands/ip-config.md |
| `ip_geo` | Read | Low | https://policylayer.com/tools/mcp-hands/ip-geo.md |
| `job_list` | Read | Low | https://policylayer.com/tools/mcp-hands/job-list.md |
| `job_stats` | Read | Low | https://policylayer.com/tools/mcp-hands/job-stats.md |
| `job_status` | Read | Low | https://policylayer.com/tools/mcp-hands/job-status.md |
| `join_lines` | Read | Low | https://policylayer.com/tools/mcp-hands/join-lines.md |
| `json_pretty` | Read | Low | https://policylayer.com/tools/mcp-hands/json-pretty.md |
| `json_query` | Read | Low | https://policylayer.com/tools/mcp-hands/json-query.md |
| `json_to_csv` | Read | Low | https://policylayer.com/tools/mcp-hands/json-to-csv.md |
| `json_to_md_table` | Read | Low | https://policylayer.com/tools/mcp-hands/json-to-md-table.md |
| `keep_awake` | Read | Low | https://policylayer.com/tools/mcp-hands/keep-awake.md |
| `kill_process` | Read | Low | https://policylayer.com/tools/mcp-hands/kill-process.md |
| `lan_hosts` | Read | Low | https://policylayer.com/tools/mcp-hands/lan-hosts.md |
| `lan_scan` | Read | Low | https://policylayer.com/tools/mcp-hands/lan-scan.md |
| `large_files` | Read | Low | https://policylayer.com/tools/mcp-hands/large-files.md |
| `list_backups` | Read | Low | https://policylayer.com/tools/mcp-hands/list-backups.md |
| `list_dir` | Read | Low | https://policylayer.com/tools/mcp-hands/list-dir.md |
| `list_processes` | Read | Low | https://policylayer.com/tools/mcp-hands/list-processes.md |
| `list_voices` | Read | Low | https://policylayer.com/tools/mcp-hands/list-voices.md |
| `list_windows` | Read | Low | https://policylayer.com/tools/mcp-hands/list-windows.md |
| `local_urls` | Read | Low | https://policylayer.com/tools/mcp-hands/local-urls.md |
| `markdown_to_html` | Read | Low | https://policylayer.com/tools/mcp-hands/markdown-to-html.md |
| `md_table_to_json` | Read | Low | https://policylayer.com/tools/mcp-hands/md-table-to-json.md |
| `memory_get` | Read | Low | https://policylayer.com/tools/mcp-hands/memory-get.md |
| `memory_log` | Read | Low | https://policylayer.com/tools/mcp-hands/memory-log.md |
| `memory_recent` | Read | Low | https://policylayer.com/tools/mcp-hands/memory-recent.md |
| `memory_search` | Read | Low | https://policylayer.com/tools/mcp-hands/memory-search.md |
| `memory_stats` | Read | Low | https://policylayer.com/tools/mcp-hands/memory-stats.md |
| `memory_usage` | Read | Low | https://policylayer.com/tools/mcp-hands/memory-usage.md |
| `mirror_dir` | Read | Low | https://policylayer.com/tools/mcp-hands/mirror-dir.md |
| `net_adapters` | Read | Low | https://policylayer.com/tools/mcp-hands/net-adapters.md |
| `net_connections` | Read | Low | https://policylayer.com/tools/mcp-hands/net-connections.md |
| `note_get` | Read | Low | https://policylayer.com/tools/mcp-hands/note-get.md |
| `note_list` | Read | Low | https://policylayer.com/tools/mcp-hands/note-list.md |
| `note_search` | Read | Low | https://policylayer.com/tools/mcp-hands/note-search.md |
| `now` | Read | Low | https://policylayer.com/tools/mcp-hands/now.md |
| `office_info` | Read | Low | https://policylayer.com/tools/mcp-hands/office-info.md |
| `organize_by_date` | Read | Low | https://policylayer.com/tools/mcp-hands/organize-by-date.md |
| `outbox_list` | Read | Low | https://policylayer.com/tools/mcp-hands/outbox-list.md |
| `page_links` | Read | Low | https://policylayer.com/tools/mcp-hands/page-links.md |
| `passphrase_gen` | Read | Low | https://policylayer.com/tools/mcp-hands/passphrase-gen.md |
| `password_gen` | Read | Low | https://policylayer.com/tools/mcp-hands/password-gen.md |
| `password_strength` | Read | Low | https://policylayer.com/tools/mcp-hands/password-strength.md |
| `pdf_decrypt` | Read | Low | https://policylayer.com/tools/mcp-hands/pdf-decrypt.md |
| `pdf_extract_pages` | Read | Low | https://policylayer.com/tools/mcp-hands/pdf-extract-pages.md |
| `pdf_info` | Read | Low | https://policylayer.com/tools/mcp-hands/pdf-info.md |
| `pdf_rotate` | Read | Low | https://policylayer.com/tools/mcp-hands/pdf-rotate.md |
| `pdf_split` | Read | Low | https://policylayer.com/tools/mcp-hands/pdf-split.md |
| `pdf_text` | Read | Low | https://policylayer.com/tools/mcp-hands/pdf-text.md |
| `pe_info` | Read | Low | https://policylayer.com/tools/mcp-hands/pe-info.md |
| `ping_host` | Read | Low | https://policylayer.com/tools/mcp-hands/ping-host.md |
| `ping_stats` | Read | Low | https://policylayer.com/tools/mcp-hands/ping-stats.md |
| `play_sound` | Read | Low | https://policylayer.com/tools/mcp-hands/play-sound.md |
| `policy_status` | Read | Low | https://policylayer.com/tools/mcp-hands/policy-status.md |
| `port_report` | Read | Low | https://policylayer.com/tools/mcp-hands/port-report.md |
| `port_scan` | Read | Low | https://policylayer.com/tools/mcp-hands/port-scan.md |
| `portproxy_list` | Read | Low | https://policylayer.com/tools/mcp-hands/portproxy-list.md |
| `pptx_read` | Read | Low | https://policylayer.com/tools/mcp-hands/pptx-read.md |
| `public_ip` | Read | Low | https://policylayer.com/tools/mcp-hands/public-ip.md |
| `qr_batch` | Read | Low | https://policylayer.com/tools/mcp-hands/qr-batch.md |
| `qr_decode_help` | Read | Low | https://policylayer.com/tools/mcp-hands/qr-decode-help.md |
| `qr_make` | Read | Low | https://policylayer.com/tools/mcp-hands/qr-make.md |
| `qr_make_svg` | Read | Low | https://policylayer.com/tools/mcp-hands/qr-make-svg.md |
| `qr_make_url` | Read | Low | https://policylayer.com/tools/mcp-hands/qr-make-url.md |
| `qr_make_vcard` | Read | Low | https://policylayer.com/tools/mcp-hands/qr-make-vcard.md |
| `qr_make_wifi` | Read | Low | https://policylayer.com/tools/mcp-hands/qr-make-wifi.md |
| `random_int` | Read | Low | https://policylayer.com/tools/mcp-hands/random-int.md |
| `random_string` | Read | Low | https://policylayer.com/tools/mcp-hands/random-string.md |
| `read_image_base64` | Read | Low | https://policylayer.com/tools/mcp-hands/read-image-base64.md |
| `read_screen_region` | Read | Low | https://policylayer.com/tools/mcp-hands/read-screen-region.md |
| `read_screen_text` | Read | Low | https://policylayer.com/tools/mcp-hands/read-screen-text.md |
| `read_text` | Read | Low | https://policylayer.com/tools/mcp-hands/read-text.md |
| `read_text_auto` | Read | Low | https://policylayer.com/tools/mcp-hands/read-text-auto.md |
| `read_text_in_image` | Read | Low | https://policylayer.com/tools/mcp-hands/read-text-in-image.md |
| `reg_list_subkeys` | Read | Low | https://policylayer.com/tools/mcp-hands/reg-list-subkeys.md |
| `reg_read` | Read | Low | https://policylayer.com/tools/mcp-hands/reg-read.md |
| `reg_search` | Read | Low | https://policylayer.com/tools/mcp-hands/reg-search.md |
| `regex_find` | Read | Low | https://policylayer.com/tools/mcp-hands/regex-find.md |
| `remind_list` | Read | Low | https://policylayer.com/tools/mcp-hands/remind-list.md |
| `reverse_dns` | Read | Low | https://policylayer.com/tools/mcp-hands/reverse-dns.md |
| `round_to` | Read | Low | https://policylayer.com/tools/mcp-hands/round-to.md |
| `route_table` | Read | Low | https://policylayer.com/tools/mcp-hands/route-table.md |
| `route_trace` | Read | Low | https://policylayer.com/tools/mcp-hands/route-trace.md |
| `screen_size` | Read | Low | https://policylayer.com/tools/mcp-hands/screen-size.md |
| `screenshot` | Read | Low | https://policylayer.com/tools/mcp-hands/screenshot.md |
| `screenshot_for_vision` | Read | Low | https://policylayer.com/tools/mcp-hands/screenshot-for-vision.md |
| `search_web` | Read | Low | https://policylayer.com/tools/mcp-hands/search-web.md |
| `secret_scan_text` | Read | Low | https://policylayer.com/tools/mcp-hands/secret-scan-text.md |
| `see_clipboard` | Read | Low | https://policylayer.com/tools/mcp-hands/see-clipboard.md |
| `see_image` | Read | Low | https://policylayer.com/tools/mcp-hands/see-image.md |
| `see_screen` | Read | Low | https://policylayer.com/tools/mcp-hands/see-screen.md |
| `see_window` | Read | Low | https://policylayer.com/tools/mcp-hands/see-window.md |
| `server_status` | Read | Low | https://policylayer.com/tools/mcp-hands/server-status.md |
| `service_list` | Read | Low | https://policylayer.com/tools/mcp-hands/service-list.md |
| `share_file` | Read | Low | https://policylayer.com/tools/mcp-hands/share-file.md |
| `share_screenshot` | Read | Low | https://policylayer.com/tools/mcp-hands/share-screenshot.md |
| `snapshot` | Read | Low | https://policylayer.com/tools/mcp-hands/snapshot.md |
| `snapshot_file` | Read | Low | https://policylayer.com/tools/mcp-hands/snapshot-file.md |
| `speak` | Read | Low | https://policylayer.com/tools/mcp-hands/speak.md |
| `split_text` | Read | Low | https://policylayer.com/tools/mcp-hands/split-text.md |
| `sqlite_query` | Read | Low | https://policylayer.com/tools/mcp-hands/sqlite-query.md |
| `sqlite_schema` | Read | Low | https://policylayer.com/tools/mcp-hands/sqlite-schema.md |
| `sqlite_tables` | Read | Low | https://policylayer.com/tools/mcp-hands/sqlite-tables.md |
| `statistics` | Read | Low | https://policylayer.com/tools/mcp-hands/statistics.md |
| `strings_extract` | Read | Low | https://policylayer.com/tools/mcp-hands/strings-extract.md |
| `system_info` | Read | Low | https://policylayer.com/tools/mcp-hands/system-info.md |
| `tail_lines` | Read | Low | https://policylayer.com/tools/mcp-hands/tail-lines.md |
| `tar_extract` | Read | Low | https://policylayer.com/tools/mcp-hands/tar-extract.md |
| `tar_list` | Read | Low | https://policylayer.com/tools/mcp-hands/tar-list.md |
| `task_list` | Read | Low | https://policylayer.com/tools/mcp-hands/task-list.md |
| `tcp_check` | Read | Low | https://policylayer.com/tools/mcp-hands/tcp-check.md |
| `timezone_now` | Read | Low | https://policylayer.com/tools/mcp-hands/timezone-now.md |
| `tls_cert` | Read | Low | https://policylayer.com/tools/mcp-hands/tls-cert.md |
| `toast` | Read | Low | https://policylayer.com/tools/mcp-hands/toast.md |
| `toast_speak` | Read | Low | https://policylayer.com/tools/mcp-hands/toast-speak.md |
| `todo_done` | Read | Low | https://policylayer.com/tools/mcp-hands/todo-done.md |
| `todo_list` | Read | Low | https://policylayer.com/tools/mcp-hands/todo-list.md |
| `totp_now` | Read | Low | https://policylayer.com/tools/mcp-hands/totp-now.md |
| `tree` | Read | Low | https://policylayer.com/tools/mcp-hands/tree.md |
| `uptime` | Read | Low | https://policylayer.com/tools/mcp-hands/uptime.md |
| `url_encode` | Read | Low | https://policylayer.com/tools/mcp-hands/url-encode.md |
| `uuid_gen` | Read | Low | https://policylayer.com/tools/mcp-hands/uuid-gen.md |
| `uuid_v4` | Read | Low | https://policylayer.com/tools/mcp-hands/uuid-v4.md |
| `verify_backup` | Read | Low | https://policylayer.com/tools/mcp-hands/verify-backup.md |
| `vision_ask_many` | Read | Low | https://policylayer.com/tools/mcp-hands/vision-ask-many.md |
| `vision_sight_check` | Read | Low | https://policylayer.com/tools/mcp-hands/vision-sight-check.md |
| `vision_status` | Read | Low | https://policylayer.com/tools/mcp-hands/vision-status.md |
| `volume_step` | Read | Low | https://policylayer.com/tools/mcp-hands/volume-step.md |
| `which` | Read | Low | https://policylayer.com/tools/mcp-hands/which.md |
| `wifi_info` | Read | Low | https://policylayer.com/tools/mcp-hands/wifi-info.md |
| `wifi_profile_details` | Read | Low | https://policylayer.com/tools/mcp-hands/wifi-profile-details.md |
| `wifi_profiles` | Read | Low | https://policylayer.com/tools/mcp-hands/wifi-profiles.md |
| `wifi_quality` | Read | Low | https://policylayer.com/tools/mcp-hands/wifi-quality.md |
| `wifi_status` | Read | Low | https://policylayer.com/tools/mcp-hands/wifi-status.md |
| `window_rect` | Read | Low | https://policylayer.com/tools/mcp-hands/window-rect.md |
| `winget_available` | Read | Low | https://policylayer.com/tools/mcp-hands/winget-available.md |
| `winget_search` | Read | Low | https://policylayer.com/tools/mcp-hands/winget-search.md |
| `winget_upgrade_list` | Read | Low | https://policylayer.com/tools/mcp-hands/winget-upgrade-list.md |
| `word_count` | Read | Low | https://policylayer.com/tools/mcp-hands/word-count.md |
| `xlsx_read` | Read | Low | https://policylayer.com/tools/mcp-hands/xlsx-read.md |
| `xlsx_sheets` | Read | Low | https://policylayer.com/tools/mcp-hands/xlsx-sheets.md |
| `xlsx_to_markdown` | Read | Low | https://policylayer.com/tools/mcp-hands/xlsx-to-markdown.md |
| `zip_extract` | Read | Low | https://policylayer.com/tools/mcp-hands/zip-extract.md |
| `zip_extract_member` | Read | Low | https://policylayer.com/tools/mcp-hands/zip-extract-member.md |
| `zip_list` | Read | Low | https://policylayer.com/tools/mcp-hands/zip-list.md |
| `base_convert` | Write | Medium | https://policylayer.com/tools/mcp-hands/base-convert.md |
| `batch_copy` | Write | Medium | https://policylayer.com/tools/mcp-hands/batch-copy.md |
| `call_invite` | Write | Medium | https://policylayer.com/tools/mcp-hands/call-invite.md |
| `case_convert` | Write | Medium | https://policylayer.com/tools/mcp-hands/case-convert.md |
| `clipboard_set` | Write | Medium | https://policylayer.com/tools/mcp-hands/clipboard-set.md |
| `close_window` | Write | Medium | https://policylayer.com/tools/mcp-hands/close-window.md |
| `copy` | Write | Medium | https://policylayer.com/tools/mcp-hands/copy.md |
| `csv_write` | Write | Medium | https://policylayer.com/tools/mcp-hands/csv-write.md |
| `date_add` | Write | Medium | https://policylayer.com/tools/mcp-hands/date-add.md |
| `dedupe_move` | Write | Medium | https://policylayer.com/tools/mcp-hands/dedupe-move.md |
| `docx_add_table` | Write | Medium | https://policylayer.com/tools/mcp-hands/docx-add-table.md |
| `docx_create` | Write | Medium | https://policylayer.com/tools/mcp-hands/docx-create.md |
| `docx_merge` | Write | Medium | https://policylayer.com/tools/mcp-hands/docx-merge.md |
| `docx_replace` | Write | Medium | https://policylayer.com/tools/mcp-hands/docx-replace.md |
| `encoding_convert` | Write | Medium | https://policylayer.com/tools/mcp-hands/encoding-convert.md |
| `file_type` | Write | Medium | https://policylayer.com/tools/mcp-hands/file-type.md |
| `firewall_add_rule` | Write | Medium | https://policylayer.com/tools/mcp-hands/firewall-add-rule.md |
| `git_add` | Write | Medium | https://policylayer.com/tools/mcp-hands/git-add.md |
| `git_commit` | Write | Medium | https://policylayer.com/tools/mcp-hands/git-commit.md |
| `hibernate_enable` | Write | Medium | https://policylayer.com/tools/mcp-hands/hibernate-enable.md |
| `hosts_add` | Write | Medium | https://policylayer.com/tools/mcp-hands/hosts-add.md |
| `http_request` | Write | Medium | https://policylayer.com/tools/mcp-hands/http-request.md |
| `image_add_text_box` | Write | Medium | https://policylayer.com/tools/mcp-hands/image-add-text-box.md |
| `image_border` | Write | Medium | https://policylayer.com/tools/mcp-hands/image-border.md |
| `image_compress` | Write | Medium | https://policylayer.com/tools/mcp-hands/image-compress.md |
| `image_convert` | Write | Medium | https://policylayer.com/tools/mcp-hands/image-convert.md |
| `image_resize` | Write | Medium | https://policylayer.com/tools/mcp-hands/image-resize.md |
| `image_thumbnail` | Write | Medium | https://policylayer.com/tools/mcp-hands/image-thumbnail.md |
| `lock_screen` | Write | Medium | https://policylayer.com/tools/mcp-hands/lock-screen.md |
| `make_dir` | Write | Medium | https://policylayer.com/tools/mcp-hands/make-dir.md |
| `media_key` | Write | Medium | https://policylayer.com/tools/mcp-hands/media-key.md |
| `memory_add` | Write | Medium | https://policylayer.com/tools/mcp-hands/memory-add.md |
| `mouse_click` | Write | Medium | https://policylayer.com/tools/mcp-hands/mouse-click.md |
| `mouse_move` | Write | Medium | https://policylayer.com/tools/mcp-hands/mouse-move.md |
| `move` | Write | Medium | https://policylayer.com/tools/mcp-hands/move.md |
| `note_add` | Write | Medium | https://policylayer.com/tools/mcp-hands/note-add.md |
| `note_update` | Write | Medium | https://policylayer.com/tools/mcp-hands/note-update.md |
| `notes_export` | Write | Medium | https://policylayer.com/tools/mcp-hands/notes-export.md |
| `office_convert_table_to_xlsx` | Write | Medium | https://policylayer.com/tools/mcp-hands/office-convert-table-to-xlsx.md |
| `open_path` | Write | Medium | https://policylayer.com/tools/mcp-hands/open-path.md |
| `organize_by_type` | Write | Medium | https://policylayer.com/tools/mcp-hands/organize-by-type.md |
| `pdf_merge` | Write | Medium | https://policylayer.com/tools/mcp-hands/pdf-merge.md |
| `pdf_metadata_write` | Write | Medium | https://policylayer.com/tools/mcp-hands/pdf-metadata-write.md |
| `pdf_set_password` | Write | Medium | https://policylayer.com/tools/mcp-hands/pdf-set-password.md |
| `percent` | Write | Medium | https://policylayer.com/tools/mcp-hands/percent.md |
| `pin_gen` | Write | Medium | https://policylayer.com/tools/mcp-hands/pin-gen.md |
| `plan_add_step` | Write | Medium | https://policylayer.com/tools/mcp-hands/plan-add-step.md |
| `plan_cancel` | Write | Medium | https://policylayer.com/tools/mcp-hands/plan-cancel.md |
| `plan_create` | Write | Medium | https://policylayer.com/tools/mcp-hands/plan-create.md |
| `plan_done` | Write | Medium | https://policylayer.com/tools/mcp-hands/plan-done.md |
| `plan_journal` | Write | Medium | https://policylayer.com/tools/mcp-hands/plan-journal.md |
| `plan_list` | Write | Medium | https://policylayer.com/tools/mcp-hands/plan-list.md |
| `plan_next` | Write | Medium | https://policylayer.com/tools/mcp-hands/plan-next.md |
| `plan_status` | Write | Medium | https://policylayer.com/tools/mcp-hands/plan-status.md |
| `portproxy_add` | Write | Medium | https://policylayer.com/tools/mcp-hands/portproxy-add.md |
| `power_plan_list` | Write | Medium | https://policylayer.com/tools/mcp-hands/power-plan-list.md |
| `power_plan_set` | Write | Medium | https://policylayer.com/tools/mcp-hands/power-plan-set.md |
| `pptx_add_image` | Write | Medium | https://policylayer.com/tools/mcp-hands/pptx-add-image.md |
| `pptx_create` | Write | Medium | https://policylayer.com/tools/mcp-hands/pptx-create.md |
| `press_keys` | Write | Medium | https://policylayer.com/tools/mcp-hands/press-keys.md |
| `reg_backup_key` | Write | Medium | https://policylayer.com/tools/mcp-hands/reg-backup-key.md |
| `reg_export` | Write | Medium | https://policylayer.com/tools/mcp-hands/reg-export.md |
| `reg_write` | Write | Medium | https://policylayer.com/tools/mcp-hands/reg-write.md |
| `regex_replace` | Write | Medium | https://policylayer.com/tools/mcp-hands/regex-replace.md |
| `remind_at` | Write | Medium | https://policylayer.com/tools/mcp-hands/remind-at.md |
| `remind_in` | Write | Medium | https://policylayer.com/tools/mcp-hands/remind-in.md |
| `rename_batch` | Write | Medium | https://policylayer.com/tools/mcp-hands/rename-batch.md |
| `replace_in_file` | Write | Medium | https://policylayer.com/tools/mcp-hands/replace-in-file.md |
| `restore_backup` | Write | Medium | https://policylayer.com/tools/mcp-hands/restore-backup.md |
| `send_file` | Write | Medium | https://policylayer.com/tools/mcp-hands/send-file.md |
| `send_image` | Write | Medium | https://policylayer.com/tools/mcp-hands/send-image.md |
| `send_qr` | Write | Medium | https://policylayer.com/tools/mcp-hands/send-qr.md |
| `send_screen` | Write | Medium | https://policylayer.com/tools/mcp-hands/send-screen.md |
| `send_text` | Write | Medium | https://policylayer.com/tools/mcp-hands/send-text.md |
| `send_voice` | Write | Medium | https://policylayer.com/tools/mcp-hands/send-voice.md |
| `set_wallpaper` | Write | Medium | https://policylayer.com/tools/mcp-hands/set-wallpaper.md |
| `sqlite_export_csv` | Write | Medium | https://policylayer.com/tools/mcp-hands/sqlite-export-csv.md |
| `sqlite_import_csv` | Write | Medium | https://policylayer.com/tools/mcp-hands/sqlite-import-csv.md |
| `store_app_install` | Write | Medium | https://policylayer.com/tools/mcp-hands/store-app-install.md |
| `tar_create` | Write | Medium | https://policylayer.com/tools/mcp-hands/tar-create.md |
| `task_create_at_logon` | Write | Medium | https://policylayer.com/tools/mcp-hands/task-create-at-logon.md |
| `task_create_daily` | Write | Medium | https://policylayer.com/tools/mcp-hands/task-create-daily.md |
| `task_create_once` | Write | Medium | https://policylayer.com/tools/mcp-hands/task-create-once.md |
| `task_enable` | Write | Medium | https://policylayer.com/tools/mcp-hands/task-enable.md |
| `todo_add` | Write | Medium | https://policylayer.com/tools/mcp-hands/todo-add.md |
| `top_processes` | Write | Medium | https://policylayer.com/tools/mcp-hands/top-processes.md |
| `type_text` | Write | Medium | https://policylayer.com/tools/mcp-hands/type-text.md |
| `unit_convert` | Write | Medium | https://policylayer.com/tools/mcp-hands/unit-convert.md |
| `vision_probe` | Write | Medium | https://policylayer.com/tools/mcp-hands/vision-probe.md |
| `wifi_connect` | Write | Medium | https://policylayer.com/tools/mcp-hands/wifi-connect.md |
| `wifi_export_profile` | Write | Medium | https://policylayer.com/tools/mcp-hands/wifi-export-profile.md |
| `winget_install` | Write | Medium | https://policylayer.com/tools/mcp-hands/winget-install.md |
| `write_text` | Write | Medium | https://policylayer.com/tools/mcp-hands/write-text.md |
| `xlsx_add_sheet` | Write | Medium | https://policylayer.com/tools/mcp-hands/xlsx-add-sheet.md |
| `xlsx_chart` | Write | Medium | https://policylayer.com/tools/mcp-hands/xlsx-chart.md |
| `xlsx_create` | Write | Medium | https://policylayer.com/tools/mcp-hands/xlsx-create.md |
| `xlsx_set_cell` | Write | Medium | https://policylayer.com/tools/mcp-hands/xlsx-set-cell.md |
| `xlsx_set_formulas` | Write | Medium | https://policylayer.com/tools/mcp-hands/xlsx-set-formulas.md |
| `zip_add` | Write | Medium | https://policylayer.com/tools/mcp-hands/zip-add.md |
| `zip_create` | Write | Medium | https://policylayer.com/tools/mcp-hands/zip-create.md |

## Tool descriptions

- `call_clear` — Empty the voice queue (use when starting a fresh call).
- `dedupe_lines` — Drop duplicate lines, keeping the first (or last) occurrence.
- `delete` — Delete a file, or a directory when recursive=true.
- `empty_dirs` — List empty directories (deepest first); remove=true deletes them bottom-up.
- `firewall_remove_rule` — Delete firewall rules by exact display name (netsh advfirewall firewall delete rule).
- `hosts_remove` — Delete every hosts line that maps a hostname (needs an elevated shell). A hosts.bak.<stamp> copy is
- `hosts_reset` — Restore the hosts file from the newest hosts.bak copy (the etc folder or %LOCALAPPDATA%\\mcp_netadv\\hosts).
- `job_cancel` — Cancel a background job (a running job stops before its next step).
- `memory_forget` — Delete one memory entry by id, or every entry whose text contains a phrase (confirm=True).
- `note_delete` — Delete a note by id (
- `outbox_clean` — Delete expired items from the outbox now.
- `pdf_delete_pages` — Write a copy of a PDF without the given pages, e.g. \
- `portproxy_remove` — Delete the v4tov4 portproxy rule for a listen port (listen address 0.0.0.0).
- `power_action` — Power state control: cancel | poweroff | restart | logoff | hibernate (with a delay for the first three).
- `prune_backups` — Report (dry_run=true) or delete the oldest zips, keeping the
- `reg_delete_key` — Delete a key. recursive=False fails on a key that still has subkeys, recursive=True removes the whole tree.
- `reg_delete_value` — Delete one named value from a key (the unnamed default value cannot be removed this way).
- `remind_cancel` — Cancel a reminder created by remind_in / remind_at (by name, or
- `sort_lines` — Sort lines (numeric=sort as numbers, unique=drop duplicates).
- `task_delete` — DESTRUCTIVE: delete a scheduled task immediately (schtasks /delete /f). No confirmation prompt.
- `todo_delete` — Delete a todo by id (
- `winget_installed` — Installed packages: winget list when winget works, otherwise the registry uninstall keys
- `winget_uninstall` — Uninstall a package by exact winget id (600s budget, tail of the output).
- `gif_from_images` — Build an animated GIF from images (duration_ms per frame, loop=0 means forever).
- `git_run` — Run git with a JSON list of extra arguments, e.g. [\
- `image_scale_2x` — Upscale an image by a factor with LANCZOS resampling.
- `job_start` — Start a background job that keeps running after you answer. Either one tool call,
- `job_wait` — Wait up to N seconds for a job to finish, then report it (short jobs only).
- `pptx_from_outline` — Build a .pptx from
- `run_cmd` — Run a command through cmd.exe /c (Windows) or /bin/sh -c.
- `run_ps` — Run a PowerShell script and return its output.
- `run_python` — Run a short Python snippet in a temp file and return its stdout/stderr.
- `serve_dir` — Start a background threaded HTTP server over a folder (read-only listing plus the _share folder).
- `sqlite_execute` — Run one writing/DDL statement and report rows affected.
- `start_process` — Launch a program or document without waiting for it.
- `startup_items` — Programs that start with Windows (registry Run keys + the startup folder).
- `stop_server` — Stop one running file server by port, or every server when port=0.
- `task_details` — Full schtasks /query /v listing for one task: triggers, run-as user, action and state.
- `task_run` — DESTRUCTIVE: start a scheduled task right now, ignoring its schedule (schtasks /run).
- `arp_table` — Get-NetNeighbor output: IP, MAC, state and interface.
- `audit_stats` — Summary of recent activity: call counts, failures, busiest tools, per-profile split.
- `audit_tail` — The most recent tool calls from the audit log: tool, arguments, result, duration.
- `b64_decode` — Base64-decode text back to a UTF-8 string.
- `b64_encode` — Base64-encode text (UTF-8).
- `backup_dir` — Zip a directory (or one file) into a timestamped archive and report its sha256.
- `battery` — Battery / power status. Reports
- `beep` — Play a console beep at freq Hz for duration_ms milliseconds through the hidden PowerShell console.
- `calc` — Evaluate a safe arithmetic expression (+ - * / // % parens and math functions).
- `call_listen` — What the user said out loud on the voice page (the phone
- `call_say` — Speak a line out loud on the user
- `call_state` — Is the voice page connected, how many lines were spoken, anything unread.
- `clipboard_get` — Read the Windows clipboard as text.
- `code_stats` — Count files/lines/blank lines and list the 10 largest files under a root.
- `compare_dirs` — Compare two trees: only-left, only-right, size and mtime mismatches.
- `compare_images` — Show two images to the model and describe the differences.
- `cpu_load` — Average CPU load percentage over a few samples (a short sleep between reads smooths the number).
- `csv_aggregate` — Group a CSV by a column and aggregate a numeric column (sum|mean|min|max|count).
- `csv_read` — Read a CSV file as
- `csv_stats` — Per CSV column: count, blanks, unique values and numeric min/max/mean/sum.
- `csv_to_json` — CSV (literal text or file) to a JSON array of row objects.
- `cursor_pos` — Current mouse cursor position in screen pixels. Read-only.
- `date_diff` — Difference between two dates; business_days=true counts working days only.
- `date_info` — Weekday, ISO week number, day of year and days left for a date.
- `db_stats` — Report file size, table count, per-table row counts and page usage.
- `default_apps_list` — Default programs per file extension (HKCU FileExts UserChoice ProgIds) plus the http/https URL handlers.
- `describe_ui` — Read the screen like an agent: open windows, focus, clickable controls, errors, next step.
- `device_list` — Plug-and-play devices; entries with a non-OK status (problem codes) are highlighted.
- `devices_list` — Devices that are allowed to use this PC (name, when added, last seen, call count).
- `devices_pending` — Devices that tried to connect but are waiting for the user
- `devices_stats` — Device summary: registered, pending, total calls, last activity.
- `diff_text` — Unified diff of two strings (context = lines of context).
- `dir_size` — Total size and file count of a directory, plus its largest files.
- `disk_usage` — Free/total space and used percentage for each fixed drive, plus any mounted volumes.
- `disk_usage_report` — Per path: file count, total bytes and the 5 largest files.
- `dns_flush` — Flush the DNS resolver cache (ipconfig /flushdns).
- `dns_lookup` — Resolve a hostname to IPv4/IPv6 addresses (getaddrinfo).
- `dns_records` — Query A/AAAA/CNAME/MX/TXT/NS records via dnspython when present, otherwise via nslookup.
- `docx_append` — Append paragraphs to an existing .docx.
- `docx_read` — Read a .docx as text; headings and tables are marked.
- `docx_to_markdown` — Export a .docx to Markdown: headings, bullets, bold runs and tables.
- `download_file` — Download a URL to a local path.
- `download_speed` — Download a URL (default: a small well-known file) and report throughput in Mbps;
- `download_to_share` — Fetch a URL from the internet and hand the user a link the chat client
- `empty_recycle_bin` — Empty the recycle bin (all drives).
- `entropy_scan` — Shannon entropy per block; top 10 blocks and a packed/encrypted verdict.
- `env_vars` — Show environment variables, optionally filtered by name substring.
- `epoch_to_time` — Convert a unix epoch value to UTC and local time.
- `event_log_tail` — Most recent Windows event log entries, newest first, each message trimmed to 300 chars.
- `extract_emails` — Extract unique email addresses from text.
- `extract_ipv4` — Extract unique IPv4 addresses (private ones filtered when include_private=false).
- `extract_phones` — Extract unique phone numbers (international and CN mobile/landline).
- `extract_urls` — Extract unique http(s):// and www. URLs from text.
- `fetch_url` — Fetch an http(s) URL and return readable text (HTML stripped).
- `file_hashes` — MD5/SHA1/SHA256 plus size and mtime of one file.
- `file_info` — Stat a path: size, mtime, type.
- `file_url` — URL a running server exposes for a path inside its root (nothing is served outside the root).
- `find_duplicates` — Find duplicate files by size then sha256 and report wasted bytes.
- `find_secrets` — Regex-scan text files under a root for keys/tokens/passwords/IPs/emails; values are masked.
- `firewall_list_rule` — Firewall rules by display name (substring match); an empty name lists the first 30 rules.
- `focus_window` — Bring the first visible window whose title contains
- `fs_roots` — Which folders this tool is allowed to touch (before trying to read somewhere).
- `gif_frames` — Split an animated GIF into PNG frames named frame_01.png ...
- `git_branches` — List local and remote branches with their upstream state.
- `git_diff` — Show a diff of the worktree, or of the index when staged=true.
- `git_log` — Show the most recent commits (one line each).
- `git_show` — Show one object (commit, tag or tree) with its patch.
- `git_status` — Show short branch + worktree status of a repository.
- `glob_search` — Find files by glob pattern under a root, e.g. /*.md.
- `grep_text` — Regex search inside files under a root.
- `hash_compare` — Compare text against an expected hash in constant time (hmac.compare_digest).
- `hash_dir` — Hash files under a directory (first 2 MB of each); unreadable files are skipped.
- `hash_file` — Hash one file (md5/sha1/sha256) and report its size.
- `hash_text` — Hash a string, e.g. algo=sha256.
- `hex_dump` — Classic offset/hex/ascii dump of a file region.
- `hosts_read` — Contents of the Windows hosts file, with its exact path, line count and active entry count.
- `html_to_markdown` — Convert basic HTML (h1-h6, bold, italic, links, lists, code) to Markdown.
- `http_status` — Fetch a URL and report the HTTP status, final URL and body length (10s timeout).
- `http_timing` — Time DNS/connect/TLS/TTFB/total for a URL over N runs and report the median of each phase
- `image_collage` — Lay images out in a grid, each scaled into a cell.
- `image_compare` — Compare two images: size/mode check, mean absolute difference and a diff image.
- `image_compose` — Alpha-blend an overlay onto a base image at (x, y) with opacity 0-100.
- `image_crop` — Crop an image to the box (left, top, right, bottom).
- `image_exif_read` — Dump the EXIF tags of an image, plus GPS presence.
- `image_exif_strip` — Rewrite an image without its EXIF/metadata blocks.
- `image_gray` — Convert an image to 8-bit grayscale.
- `image_info` — Report format, mode, pixel size and file size of an image.
- `image_palette` — Most frequent colors of an image as hex values with pixel counts.
- `image_rotate` — Rotate an image by degrees, expanding the canvas to fit.
- `image_split_grid` — Cut an image into rows x cols tiles, written as tile_r1c1.png ...
- `image_text` — Draw text onto an image at (x, y) with a font size and hex color.
- `image_watermark_tile` — Tile a translucent text watermark across an image.
- `images_to_pdf` — Combine images into a single multi-page PDF.
- `installed_apps` — List installed programs from the registry (optional name filter).
- `ip_config` — Readable Get-NetIPConfiguration output: adapters, IPv4/IPv6 addresses, gateways, DNS.
- `ip_geo` — Look up country/region/city/ISP for an IP via a public API; empty ip means this machine
- `job_list` — List background jobs (newest first). status filters: pending,running,done,failed,cancelled.
- `job_stats` — How many jobs are queued, running, done or failed.
- `job_status` — Status and result of one background job (result appears once it finishes).
- `join_lines` — Join an array of lines with a separator (default newline).
- `json_pretty` — Pretty-print a JSON string, or a file containing JSON.
- `json_query` — Read one value by dotted path, e.g. a.b.0.c, from a JSON string or file.
- `json_to_csv` — JSON array of objects (literal text or file) to CSV text.
- `json_to_md_table` — JSON array of objects (literal text or file) to a Markdown table.
- `keep_awake` — Ask Windows not to sleep or blank the display for the next N hours by holding
- `kill_process` — Terminate a process by id or exact name.
- `lan_hosts` — ARP/neighbor table as: ip, mac, state, interface.
- `lan_scan` — Sweep <subnet>.1-254 for TCP 445/3389/80/22 with threads, an 8s total budget and a 254-host cap;
- `large_files` — Biggest files under a root (sort=size), or the oldest ones (sort=age).
- `list_backups` — List backup zips newest first, reading only the zip central directory.
- `list_dir` — List entries of a directory (name/type/size).
- `list_processes` — List running processes, optionally filtered by name substring.
- `list_voices` — List the installed SAPI text-to-speech voices with their name, gender, age and culture.
- `list_windows` — List this machine
- `local_urls` — List every LAN URL for a port: all IPv4 addresses of this machine (URLs only, port must match serve_dir).
- `markdown_to_html` — Render Markdown (headings, lists, bold, italic, links, code, hr) to HTML.
- `md_table_to_json` — Markdown table to a JSON array of row objects.
- `memory_get` — Read one memory entry in full by its id.
- `memory_log` — Append one line to the permanent journal (long-term memory) and return its id.
- `memory_recent` — The most recent memories, newest first.
- `memory_search` — Search long-term memory by keywords (works for Chinese substrings and English).
- `memory_stats` — How much is in long-term memory, plus the most used tags.
- `memory_usage` — Physical memory: used MB, total MB, used percentage. Also reports the page file peak.
- `mirror_dir` — Copy only changed files (same size+mtime => skipped) into dest.
- `net_adapters` — Network adapters: name, status, IP addresses, link speed and bytes sent/received.
- `net_connections` — TCP connections from Get-NetTCPConnection, joined with owning process names.
- `note_get` — Read one full note by id (
- `note_list` — Compact table of notes: id, date, title, tags.
- `note_search` — Case-insensitive search across note title, body and tags.
- `now` — Current local date/time and timezone.
- `office_info` — Report type, paragraph/sheet/slide counts, dimensions and embedded media for a docx/xlsx/pptx.
- `organize_by_date` — Move files into YYYY\\MM folders derived from mtime (or ctime/atime/birth).
- `outbox_list` — What is currently waiting in the outbox (files the user has not opened yet).
- `page_links` — Extract absolute links from a page.
- `passphrase_gen` — Generate a diceware-style passphrase from an embedded 200-word list.
- `password_gen` — Generate random passwords with the secrets module and report their entropy.
- `password_strength` — Score a password: length, classes, entropy, common-pattern penalties, verdict, advice.
- `pdf_decrypt` — Copy an encrypted PDF to a new unencrypted file using its password.
- `pdf_extract_pages` — Write a new PDF containing only the given pages, e.g. \
- `pdf_info` — Page count, metadata, encryption state and page box sizes of a PDF.
- `pdf_rotate` — Rotate the given pages (empty string = all) by degrees (multiples of 90).
- `pdf_split` — Split a PDF into files of
- `pdf_text` — Extract text from the given pages (\
- `pe_info` — Parse DOS/PE headers with struct: machine, sections, timestamp, entry point, image base, flags.
- `ping_host` — Ping a host with the OS ping tool and return the reply summary.
- `ping_stats` — Ping a host and report min/avg/max latency and packet loss from the real ping output.
- `play_sound` — Play a sound file without blocking. .wav files use System.Media.SoundPlayer synchronously in a hidden
- `policy_status` — Which tools the current policy allows or blocks (and whether it is enforcing).
- `port_report` — One line per port (open/closed/timeout) with the TCP connect latency in ms for a comma-separated list.
- `port_scan` — Scan a comma-separated port list on one host with concurrent TCP connects (hard cap 256 ports).
- `portproxy_list` — netsh interface portproxy rules (all families), plus the command that produced them.
- `pptx_read` — Read slide titles and body text from a .pptx.
- `public_ip` — Ask a public service for this machine
- `qr_batch` — Render many QRs from \
- `qr_decode_help` — Explain how to decode a QR (external scanner needed) and echo the payload.
- `qr_make` — Render text as a QR PNG (defaults to a file inside the sample dir).
- `qr_make_svg` — Render text as a vector QR (SvgPathImage) at the given path.
- `qr_make_url` — Render a URL QR, adding https:// when the scheme is missing.
- `qr_make_vcard` — Render a vCard 3.0 contact QR.
- `qr_make_wifi` — Render a WiFi join QR using the WIFI: URI scheme.
- `random_int` — Random integers in a range, optionally unique.
- `random_string` — Generate a cryptographically random alphanumeric string.
- `read_image_base64` — Read a local image file as base64 (for downstream use).
- `read_screen_region` — Capture the screen rectangle (left, top, right, bottom) to a PNG and return the file path and pixel size.
- `read_screen_text` — OCR the screen now: read whatever text is currently visible.
- `read_text` — Read a UTF-8 text file.
- `read_text_auto` — Read a text file, auto-detecting utf-8 / utf-8-sig / gbk / cp936 / latin-1.
- `read_text_in_image` — OCR: read the text out of an image (screenshot/photo/scan) verbatim.
- `reg_list_subkeys` — List the immediate subkey names of a key, up to limit.
- `reg_read` — Read one value (name given) or list every value of a key (name empty): name, type and data.
- `reg_search` — Walk a key tree and report value names and data containing keyword (substring, case-insensitive).
- `regex_find` — List regex matches with their line/column/offset positions.
- `remind_list` — List the reminders this assistant has scheduled (tasks created by remind_in / remind_at).
- `reverse_dns` — Resolve an IP address back to a hostname (PTR).
- `round_to` — Round a number to N digits (half_up, half_even, half_down, up, down, ceil, floor).
- `route_table` — First 40 rows of Get-NetRoute (destination, next hop, interface, metric).
- `route_trace` — Trace the route to a host with tracert and return hop / address / latency lines.
- `screen_size` — Primary screen size plus the whole virtual desktop (multi-monitor) size. Read-only.
- `screenshot` — Capture the primary screen to a PNG and return its path.
- `screenshot_for_vision` — Save a screenshot to a file (for later see_image / comparisons).
- `search_web` — Web search via DuckDuckGo, returns titles and URLs.
- `secret_scan_text` — Flag likely secrets in text (keys, tokens, private keys, passwords); values are masked.
- `see_clipboard` — Look at the image currently on the Windows clipboard (if any).
- `see_image` — Look at an image file on this PC and answer a question about it.
- `see_screen` — Look at the PC screen right now (the persona cannot see it otherwise). monitor: primary|all|0|1|2
- `see_window` — Look at one window (matched by part of its title) and describe what it shows.
- `server_status` — List running file servers: port, root, uptime and served request count.
- `service_list` — Windows services with name, display name, status and start mode (filtered by substring).
- `share_file` — Hand the user a download link the chat client can actually open
- `share_screenshot` — Capture the screen and hand the user a picture link that the chat client can actually
- `snapshot` — One compact health block: CPU load %, memory used/total, top 3 processes by memory, free space per drive
- `snapshot_file` — Copy one file with a timestamp suffix, then keep only the
- `speak` — Speak text out loud through the Windows SAPI voice. Text is passed via stdin, so CJK and quotes are safe.
- `split_text` — Split text on a literal marker and return the parts as lines.
- `sqlite_query` — Run a read-only SELECT / WITH / PRAGMA query and render its rows.
- `sqlite_schema` — Show DDL for one table, or for every object.
- `sqlite_tables` — List user tables in a database file.
- `statistics` — count/sum/mean/median/min/max/stdev/percentiles for a list of numbers.
- `strings_extract` — Print printable ASCII runs of at least min_len characters, with file offsets.
- `system_info` — Basic host facts: OS, CPU, memory, disks, current user.
- `tail_lines` — Return the last N lines of a text file.
- `tar_extract` — Extract a tar archive, skipping absolute and
- `tar_list` — List tar members as
- `task_list` — List scheduled tasks with name, state, next run time and last result. filter is a
- `tcp_check` — Try one TCP connect and report open/closed/timeout plus latency in ms.
- `timezone_now` — Current time in each requested zone (IANA names, fixed-offset fallback).
- `tls_cert` — Read a TLS certificate: subject, issuer, SANs, validity dates, days until expiry
- `toast` — Show a Windows balloon/toast notification.
- `toast_speak` — Speak text out loud and show a balloon tip with the same text, then wait for the tip to expire.
- `todo_done` — Mark a todo as done (
- `todo_list` — List todos: open, done or all.
- `totp_now` — RFC 6238 TOTP for a base32 secret: current code plus seconds remaining.
- `tree` — Print a directory tree up to
- `uptime` — How long the machine has been up, plus the last boot time.
- `url_encode` — Percent-encode a string (utility).
- `uuid_gen` — Generate one or more random UUID4 values.
- `uuid_v4` — Generate random version-4 UUIDs.
- `verify_backup` — Decompress every member of a zip (or the newest zip in a folder) to test its CRC.
- `vision_ask_many` — Ask one question about several images at once (paths separated by commas or newlines).
- `vision_sight_check` — Check whether I can really see right now (call before claiming anything about the screen).
- `vision_status` — Show the configured vision endpoint/model and whether a key is available.
- `volume_step` — Change the system volume or mute it: up | down | mute. Each step sends VK 175/174/173
- `which` — Locate an executable on PATH.
- `wifi_info` — Current Wi-Fi interface: SSID, signal, band, receive/transmit rate.
- `wifi_profile_details` — Full netsh wlan show profile listing for one profile, including the stored key when the shell is elevated.
- `wifi_profiles` — Saved WLAN profiles (netsh wlan show profiles) with a parsed profile count.
- `wifi_quality` — Read the Wi-Fi adapter state with netsh (SSID, signal, band, channel, rate) and give a short verdict.
- `wifi_status` — Wireless interfaces: state, SSID, band, channel, rates and signal (netsh wlan show interfaces).
- `window_rect` — Get the screen rectangle (left, top, right, bottom, width, height) of the first window matching
- `winget_available` — Is winget installed, where does it live and which version is it.
- `winget_search` — Search the configured winget sources and return the raw table (limit caps the rows).
- `winget_upgrade_list` — Packages with an available upgrade, straight from winget upgrade.
- `word_count` — Count characters, words (CJK per character), lines and paragraphs.
- `xlsx_read` — Read a sheet as
- `xlsx_sheets` — List sheet names with their dimensions.
- `xlsx_to_markdown` — Export a sheet to a Markdown table.
- `zip_extract` — Extract a zip, skipping absolute and
- `zip_extract_member` — Extract one zip member by exact name.
- `zip_list` — List zip entries as
- `base_convert` — Convert an integer between bases 2..36; 0x/0b/0o prefixes are understood.
- `batch_copy` — Copy (or move) glob-matched files into dest, preserving relative paths.
- `call_invite` — Hand the user a QR code for the voice page: they scan it with the phone, tap
- `case_convert` — Convert case: upper, lower, title, sentence, swap, camel, snake, kebab, pascal.
- `clipboard_set` — Put text on the Windows clipboard.
- `close_window` — Post WM_CLOSE to the first visible window whose title contains
- `copy` — Copy a file or a directory (recursive).
- `csv_write` — Write rows to a CSV file (UTF-8, parents created).
- `date_add` — Add or subtract an amount of days/weeks/months/years from a date.
- `dedupe_move` — Move duplicate copies (keeping one per group) into dest\\duplicates.
- `docx_add_table` — Append a table to a .docx. rows is
- `docx_create` — Create a .docx with optional heading, paragraphs and a table.
- `docx_merge` — Concatenate several .docx files into one, page break between files, keeping document order.
- `docx_replace` — Replace a string in a .docx across paragraphs, tables and headers/footers
- `encoding_convert` — Convert a text file between encodings (e.g. gbk -> utf-8), creating parent dirs.
- `file_type` — Sniff the magic bytes of a file and compare the result with its extension.
- `firewall_add_rule` — Create an inbound/outbound allow rule (netsh advfirewall firewall add rule). Needs an elevated shell.
- `git_add` — Stage paths (default: everything in the repository).
- `git_commit` — Commit staged work (add_all=true stages every change first).
- `hibernate_enable` — Turn hibernation (and fast startup) support on or off: powercfg /hibernate on|off.
- `hosts_add` — Append
- `http_request` — Send an arbitrary HTTP request. headers_json is a JSON object string.
- `image_add_text_box` — Wrap text into a translucent box drawn at the bottom of an image.
- `image_border` — Add a solid border around an image.
- `image_compress` — Re-save an image at a lower quality (JPEG/WebP friendly).
- `image_convert` — Re-encode an image into another format, e.g. fmt=
- `image_resize` — Resize an image; a 0 dimension is derived keeping aspect ratio.
- `image_thumbnail` — Write a thumbnail whose longest edge is size pixels.
- `lock_screen` — Lock the Windows session.
- `make_dir` — Create a directory (recursive).
- `media_key` — Send a media transport key to the current media player: play_pause | next | prev | stop.
- `memory_add` — Store something worth remembering long-term (survives restarts, full-text searchable).
- `mouse_click` — Click the real mouse at absolute (x, y); x=0,y=0 clicks wherever the cursor already is.
- `mouse_move` — Move the real mouse cursor to absolute screen coordinates (x, y).
- `move` — Move or rename a path.
- `note_add` — Store a new note and return its id.
- `note_update` — Edit a note; append=true appends the body instead of replacing it.
- `notes_export` — Dump notes, todos and the journal to one Markdown file and return its path.
- `office_convert_table_to_xlsx` — Convert a CSV table into an .xlsx sheet.
- `open_path` — Open a file, folder or URL with the default Windows application.
- `organize_by_type` — Sort files into images/ documents/ archives/ media/ code/ other/ folders.
- `pdf_merge` — Merge several PDFs into one output file, in the given order.
- `pdf_metadata_write` — Copy a PDF while setting title/author/subject metadata.
- `pdf_set_password` — Copy a PDF and encrypt it with a user password (AES-256 when available).
- `percent` — Percentage maths: of|change|diff|add|sub.
- `pin_gen` — Generate numeric PIN codes (leading zeros allowed).
- `plan_add_step` — Append a step discovered while working (plans are allowed to grow).
- `plan_cancel` — Cancel a plan (keeps the record, stops it being
- `plan_create` — Create a step-by-step plan for a multi-turn task. Steps are plain text, optionally with a
- `plan_done` — Mark a plan step finished - pass the real tool output as evidence (no evidence, not done).
- `plan_journal` — A readable log of a plan:每一步做到哪、证据是什么、验证过了没。
- `plan_list` — List plans (newest first), optionally filtered by status=active|done|cancelled.
- `plan_next` — The next unfinished step of a plan (index, text, tool and args) - do this one now.
- `plan_status` — Read one plan in full (steps, status, evidence).
- `portproxy_add` — Add a netsh portproxy v4tov4/v6tov6 rule (listen -> connect). Needs an elevated shell.
- `power_plan_list` — Every power scheme known to powercfg, the active one, and the balanced/high/saver alias map.
- `power_plan_set` — Switch the active power plan; plan is balanced|high|saver or a raw scheme GUID.
- `pptx_add_image` — Insert an image into an existing slide (slide=0 creates a blank slide);
- `pptx_create` — Create a .pptx from slides: [{\
- `press_keys` — Press a key combination on the live desktop, e.g.
- `reg_backup_key` — Dump a key into a hive file with reg save (needs the backup privilege: an elevated shell).
- `reg_export` — Export a key to a .reg file with reg.exe (exact reg.exe output is returned).
- `reg_write` — Create or overwrite one value. type is string|dword|qword|expandstring|multistring|binary
- `regex_replace` — Regex substitute, reporting how many substitutions happened (count=0 means all).
- `remind_at` — Set a reminder for a specific clock time today (HH:MM), popping a Windows notification.
- `remind_in` — Set a reminder that pops a Windows notification (and optionally speaks) after N minutes.
- `rename_batch` — Rename files in place with a regex or literal pattern (dry_run by default).
- `replace_in_file` — Replace literal text inside a file (count=0 replaces all).
- `restore_backup` — Extract a backup zip (or the newest zip in a folder), skipping absolute and
- `send_file` — Send any file (document, archive, audio, video) to the user as a download link.
- `send_image` — Send an image file on this PC to the user (returns a URL they can open).
- `send_qr` — Turn a URL or some text into a QR image and send it (e.g. to hand a link to a phone).
- `send_screen` — Send the user a screenshot right now (captures, uploads to the outbox, returns a URL).
- `send_text` — Send a chunk of text to the user as a file (handy when the reply would be too long).
- `send_voice` — Say something out loud as an audio file: renders text to speech and sends the link
- `set_wallpaper` — Set the desktop wallpaper from an image file.
- `sqlite_export_csv` — Write the rows of a query to a CSV file.
- `sqlite_import_csv` — Create/fill a table from a CSV file (all columns TEXT).
- `store_app_install` — Open a Microsoft Store page in the Store app (Start-Process ms-windows-store:). Accepts a store
- `tar_create` — Create a tar archive; fmt is gz, bz2, xz or plain.
- `task_create_at_logon` — Create a task that runs every time the user logs on (schtasks /sc ONLOGON).
- `task_create_daily` — Create a recurring task. days is a comma list of MON..SUN: all seven days produce
- `task_create_once` — Create a one-shot task for today at HH:MM (schtasks /sc ONCE). Returns the exact schtasks output.
- `task_enable` — Enable or disable a scheduled task (schtasks /change /enable|/disable).
- `todo_add` — Add a todo item and return its id.
- `top_processes` — Top processes by working set (memory).
- `type_text` — Type arbitrary Unicode text (Chinese works) into whatever window currently has keyboard focus,
- `unit_convert` — Convert length/mass/area/volume/speed/data/temperature/time units.
- `vision_probe` — Send a tiny test image to verify the vision endpoint and key really work.
- `wifi_connect` — Connect to a saved profile (netsh wlan connect). The radio stays on; the current connection may drop.
- `wifi_export_profile` — Export one profile to <out_dir> as a plain-text (unencrypted) WLAN XML file.
- `winget_install` — Install a package by exact winget id. Long running: 600s budget, the tail of the output is returned.
- `write_text` — Write (or append) text to a file, creating parent dirs.
- `xlsx_add_sheet` — Add (or replace) a sheet in a workbook and fill it from row data.
- `xlsx_chart` — Create a bar/line/pie chart from a data range and embed it in the workbook
- `xlsx_create` — Create an .xlsx workbook from a list of rows.
- `xlsx_set_cell` — Set one cell of an existing workbook, e.g. cell=
- `xlsx_set_formulas` — Set formulas in a workbook. cells is
- `zip_add` — Add files/directories to a zip, creating the archive when missing.
- `zip_create` — Create a zip from files and/or directories (directories recurse).

## Related servers

- UnClick (1662 tools) — https://policylayer.com/tools/io-github-malamutemayhem-unclick-mcp-server.md
- Apibase (1384 tools) — https://policylayer.com/tools/io-github-whiteknightonhorse-apibase.md
- Delx Mcp A2a (1068 tools) — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a.md
- MCP Framework Personal (912 tools) — https://policylayer.com/tools/inggerman-mcps.md
- Hermoso (896 tools) — https://policylayer.com/tools/hermoso.md
- Nodebench (824 tools) — https://policylayer.com/tools/io-github-homenshum-nodebench.md
- Altium-MCP-Suite (817 tools) — https://policylayer.com/tools/altium-mcp-suite.md
- Eda Agent (777 tools) — https://policylayer.com/tools/eda-agent.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=mcp-hands · API: https://policylayer.com/registry/api · Recommended policies for every tool: https://policylayer.com/policies/mcp-hands
