AI agents invoke preview_markdown to trigger actions in Markview. 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.
The tool renders content in an external macOS application (MarkView), which constitutes triggering an external operation beyond simple data retrieval. While not destructive or financial, it actively causes a side effect by opening/updating a native viewer, classifying it as Execute. Severity is medium because a malicious agent could render arbitrary content in the viewer, though blast radius is limited.
From the tool's definition 'Render a markdown string in MarkView' — triggers an external operation in a native macOS viewer application
Attacks that exploit this kind of access
Render a markdown string in MarkView. It is categorised as a Execute tool in the Markview MCP Server, which means it can trigger actions or run processes. Use rate limits and argument validation.
Register the Markview MCP server in PolicyLayer and add a rule for preview_markdown: 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 Markview. Nothing to install.
preview_markdown is a Execute tool with high risk. Execute tools should be rate-limited and have argument validation enabled.
Yes. Add a rate_limit block to the preview_markdown 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.
Set action: deny in the PolicyLayer policy for preview_markdown. 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.
preview_markdown is provided by the Markview MCP server (mcp-server-markview). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
Every MCP server has a record like this.
Type a name, get the same breakdown: verified identity, auth posture, risk grade, capabilities, recommended policy.
Teams ship this data inside their own products. See what a licence covers →