# crow_wm

Screen control. ALWAYS call this tool when the user wants to: open/play/watch/search something, close a window, pause, resume, mute, or unmute. NEVER describe what you would do — ALWAYS call this tool.\n\nCommands:\n- open youtube <query> — search and play a YouTube video\n- open browser <url> — open a web page\n- open blog <slug> — open a blog post\n- open jellyfin — open media library\n- open plex — open Plex media library\n- open nest <panel> — open dashboard panel\n- open videocall <room=CODE&token=TOKEN> — open a video call\n- open pet [anchor] — launch the Live2D pet mascot (Linux only; anchor: right, left, bottom-right, bottom-left)\n- close / close youtube / close pet / close all — close windows\n- pause — pause current media\n- resume — resume current media\n- mute / unmute — audio control\n- save workspace <name> — save current window layout\n- load workspace <name> — restore a saved layout\n- list workspaces — show saved layouts\n- search <query> — search the web and show results on screen\n- display <title> | <content> — show information on screen (use | to separate title from body text; use || for paragraph breaks)\n- invite <name> — invite a contact to join your room\n- memo <contact> <message> — send a voice memo to a contact\n- react <contact> <emoji> — send an emoji reaction to a contact

Agent View of the PolicyLayer registry record for `crow_wm`. HTML page: https://policylayer.com/tools/kh0pper-crow/crow-wm

## Facts

- Tool: `crow_wm`
- Server: Crow (`kh0pper/crow`) — https://policylayer.com/tools/kh0pper-crow.md
- Homepage: https://github.com/kh0pper/crow
- Risk category: Execute (High risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Rate-limited

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "crow_wm",
    "arguments": {}
  }
}
```

## Why crow_wm is rated High

This tool executes system-level actions such as launching applications, controlling browser windows, manipulating media playback, and opening video calls. These are external operations with real side effects on the host environment, placing it firmly in the Execute category. Severity is high because a misused agent could open arbitrary URLs, launch unwanted applications, or join video calls without user consent.

From the tool's own definition: "'Screen control. ALWAYS call this tool when the user wants to: open/play/watch/search something, close a window, pause, resume, mute, or unmute.' Commands include opening browsers, playing YouTube videos, launching applications, and opening video calls — all…"

## Use case

AI agents invoke crow_wm to trigger actions in Crow. What it does depends on the arguments the agent supplies, and its effects often reach beyond the immediate call: builds kicked off, notifications sent, workflows started.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Crow:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "crow_wm": {
      "limits": [
        {
          "counter": "crow_wm_rate",
          "window": "minute",
          "max": 10,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Crow (586)

- `caddy_remove_site` — Destructive — https://policylayer.com/tools/kh0pper-crow/caddy-remove-site.md
- `crow_bookstack_delete` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-bookstack-delete.md
- `crow_campaign_delete` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-campaign-delete.md
- `crow_data_write` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-data-write.md
- `crow_deactivate_server` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-deactivate-server.md
- `crow_delete_bot_schedule` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-delete-bot-schedule.md
- `crow_delete_context_section` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-delete-context-section.md
- `crow_delete_file` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-delete-file.md
- `crow_delete_memory` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-delete-memory.md
- `crow_delete_post` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-delete-post.md
- `crow_delete_setlist` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-delete-setlist.md
- `crow_frigate_set_detect` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-frigate-set-detect.md
- `crow_glasses_undo_last_append` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-glasses-undo-last-append.md
- `crow_identity_revoke` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-identity-revoke.md
- `crow_kb_delete_article` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-kb-delete-article.md
- `crow_linkding_delete` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-linkding-delete.md
- `crow_media_playlist` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-media-playlist.md
- `crow_media_remove_source` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-media-remove-source.md
- `crow_miniflux_remove_feed` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-miniflux-remove-feed.md
- `crow_remove_backend` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-remove-backend.md
- `crow_remove_from_setlist` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-remove-from-setlist.md
- `crow_revoke_access` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-revoke-access.md
- `crow_revoke_instance` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-revoke-instance.md
- `crow_shiori_delete` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-shiori-delete.md
- `crow_tax_purge_return` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-tax-purge-return.md
- `crow_trilium_delete_note` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-trilium-delete-note.md
- `crow_vikunja_delete_task` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-vikunja-delete-task.md
- `crow_wallabag_delete` — Destructive — https://policylayer.com/tools/kh0pper-crow/crow-wallabag-delete.md
- `crowdsec_delete_decision` — Destructive — https://policylayer.com/tools/kh0pper-crow/crowdsec-delete-decision.md
- `fw_defederate` — Destructive — https://policylayer.com/tools/kh0pper-crow/fw-defederate.md
- …and 556 more: https://policylayer.com/tools/kh0pper-crow.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=kh0pper-crow · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/kh0pper-crow
