Policies are coming soon. Talk to us if you’d like early access.
Writing a policy
MCP servers are a common way agents invoke tools, but they’re not the only surface. Agents are resourceful, and if one route is blocked, they may find another: a CLI command, an SDK call, or a direct API request. Oso canonicalizes tool calls across all surfaces. It maintains a built-in catalog of known tools for each supported integration, with each tool classified by operation type: Read, Write, or Delete. You write one policy, and Oso enforces it regardless of how the agent invoked the tool. Start by setting your conditions. You can match on integration, operation type, a specific tool name, agent name, or review status, in any combination. Then choose an action: Block the call outright, Alert and notify via Slack, Require human approval before the call goes through, or trigger a Security escalation that blocks the call and immediately notifies your security team. For example: to block all writes to GitHub, set the integration to GitHub, the operation to Write, and the action to Block. It applies whether the agent used the GitHub MCP server, ran a git command from the CLI, or called the GitHub SDK directly.Supported integrations
Policies cover MCP server calls, CLI commands, and SDK calls. A policy on Git coversgit commit, git push, git clean, and every other git command, regardless of whether the agent invoked it through an MCP server, directly from the CLI, or via an SDK.


Example policies
Security escalation on GitHub writes and deletions
A single policy covers the full GitHub surface. No need to enumerate individual tools or API calls.1
Name your policy
2
Set conditions
3
Apply action
Require human approval before deleting a Linear issue
Target a specific tool call for tighter control over high-impact actions.1
Name your policy
2
Set conditions
3
Apply action
Alert when Cursor makes any delete call
Scope a policy to a specific agent without applying the same rule org-wide.1
Name your policy
2
Set conditions
3
Apply action
Alert when an unsanctioned agent is discovered
Fire the moment a disallowed agent appears in your inventory, before it has made any tool calls.1
Name your policy
2
Set conditions
3
Apply action