AI agents use wtf_happened to create or update resources in Wtf — usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Wtf environment.
While the tool retrieves a distilled timeline (Read), it also writes a runbook file to disk (.wtf/runbook.md), which is a side-effecting Write operation. The most severe applicable category is Write. Severity is medium because it creates/overwrites a file in the working directory, which could overwrite existing runbook content, but the blast radius is limited to a local markdown file.
From the tool's definition 'Writes a full runbook to .wtf/runbook.md' indicates file creation/modification on disk
Attacks that exploit this kind of access
Get a distilled timeline of the current troubleshooting incident. Writes a full runbook to .wtf/runbook.md. It is categorised as a Write tool in the Wtf MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.
Register the Wtf MCP server in PolicyLayer and add a rule for wtf_happened: 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 Wtf. Nothing to install.
wtf_happened is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.
Yes. Add a rate_limit block to the wtf_happened 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 wtf_happened. 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.
wtf_happened is provided by the Wtf MCP server (wave-engineering/mcp-server-wtf). 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 →