High Risk →

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> — ...

How to control crow_wm ↓

What crow_wm does on Crow

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.

High Risk

Why crow_wm needs a policy

This tool executes screen and window control actions on the host system — opening browsers, launching media players, joining video calls, and controlling application state. These are external operations with real system-level effects (spawning processes, navigating to URLs, joining calls) that depend entirely on the arguments passed.

From the tool's definition Screen control... open/play/watch/search something, close a window, pause, resume, mute, or unmute... open browser <url>, open videocall <room=CODE&token=TOKEN>

Documented attack patterns abuse exactly the kind of access crow_wm gives an agent:

How to control crow_wm

PolicyLayer is an MCP gateway — it sits between your AI agents and Crow, and nothing reaches the server without passing your rules. This is the rule we recommend for crow_wm:

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

crow_wm stays usable, but rate-capped — a runaway agent can't fire it dozens of times a minute. Everything else on the server is denied unless you say otherwise.

  1. Create a free account and register Crow — nothing to install.
  2. Add this policy — paste it, or build it visually.
  3. Point your MCP client (Claude, Cursor, anything) at your gateway URL.
RATE-LIMIT THIS TOOL →

Free to start. No card required.

Related tools and policies

Go deeper

Questions about crow_wm

What does the crow_wm tool do? +

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. It is categorised as a Execute tool in the Crow MCP Server, which means it can trigger actions or run processes. Use rate limits and argument validation.

How do I enforce a policy on crow_wm? +

Register the Crow MCP server in PolicyLayer and add a rule for crow_wm: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Crow. Nothing to install.

What risk level is crow_wm? +

crow_wm is a Execute tool with high risk. Execute tools should be rate-limited and have argument validation enabled.

Can I rate-limit crow_wm? +

Yes. Add a rate_limit block to the crow_wm rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.

How do I block crow_wm completely? +

Set action: deny in the PolicyLayer policy for crow_wm. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.

What MCP server provides crow_wm? +

crow_wm is provided by the Crow MCP server (kh0pper/crow). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.

Enforce policy on every Crow tool call.

Start from Crow, add the rest of your stack, and see everything your agents can call. Then put policy on all of it.

Free to start. No card required.

576 Crow 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.