Create a new intent from the user's request and mark it as active. Call this when check_active_intent returns no active intent. Before calling: 1. Summarize what the user is asking for 2. Ask the user to confirm the intent details (title, description, type) 3. Then call this tool with the confirm...
Part of the Kawa Code MCP server.
Free to start. No card required.
AI agents use create_and_activate_intent to create or modify resources in Kawa Code MCP. Write operations carry medium risk because an autonomous agent could trigger bulk unintended modifications. Rate limits prevent a single agent session from making hundreds of changes in rapid succession. Argument validation ensures the agent passes expected values.
Without a policy, an AI agent could call create_and_activate_intent repeatedly, creating or modifying resources faster than any human could review. PolicyLayer's rate limiting ensures write operations happen at a controlled pace, and argument validation catches malformed or unexpected inputs before they reach Kawa Code MCP.
Write tools can modify data. A rate limit prevents runaway bulk operations from AI agents.
{
"version": "1",
"default": "deny",
"tools": {
"create_and_activate_intent": {
"limits": [
{
"counter": "create_and_activate_intent_rate",
"window": "minute",
"max": 30,
"scope": "grant"
}
]
}
}
} See the full Kawa Code MCP policy for all 21 tools.
These attack patterns abuse exactly the kind of access create_and_activate_intent gives an agent. Each links to the full case and the policy that stops it:
Other write tools across the catalogue. The same approach applies to each: rate-limit and validate the arguments.
Create a new intent from the user's request and mark it as active. Call this when check_active_intent returns no active intent. Before calling: 1. Summarize what the user is asking for 2. Ask the user to confirm the intent details (title, description, type) 3. Then call this tool with the confirmed details This ensures all AI-generated code gets properly tracked and attributed. If the tool returns conflicts (action="conflict"), present the conflict details to the user and ask whether to proceed. If yes, retry with force=true to bypass conflict detection. Three distinct block types exist: - action="conflict": content-similarity conflict from intent creation (another team member's intent overlaps semantically or in files). Bypassed by force=true after the user reviews and chooses to proceed. - action="lock_conflict": per-repo active-intent lock — another session on this repo already owns the active intent slot. The new intent was still created and can be activated later; or call complete_intent on the existing one first. Bypassed by force=true (takes over the active slot). - action="pending_blocked": a "pending" intent exists on this repo (auto-finalized by the orphan-recovery sweeper, or blocked by conflicts at completion). Surface the pendingIntent details to the user and ask how to dispose of it before starting new work: (A) Abandon it: call complete_intent(intentId=..., status="abandoned"). (C) Complete and finalize: call complete_intent(intentId=..., status="committed"). After the user decides and the pending intent is disposed, retry create_and_activate_intent. In autonomous (non-interactive) sessions, retry with force=true to proceed without prompting — the pending intent stays pending.. It is categorised as a Write tool in the Kawa Code MCP MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.
Register the Kawa Code MCP server in PolicyLayer and add a rule for create_and_activate_intent: 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 Kawa Code MCP. Nothing to install.
create_and_activate_intent 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 create_and_activate_intent 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 create_and_activate_intent. 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.
create_and_activate_intent is provided by the Kawa Code MCP server (kawacode-ai/kawa.mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
Deterministic rules across all 21 Kawa Code MCP tools. Per-identity grants. Full audit log. Live in minutes. Nothing to install.
Free to start. No card required.
4,600+ MCP servers and 31,000+ tools scanned and risk-classified.