Policy gate for agent side effects
mayrun
Agents don’t run dangerous commands until mayrun says they may.
mayrun check · run
-
$mayrun check 'rm -rf /'Deny -
$mayrun run 'git push'Require approval -
$mayrun run 'cargo test'Allow
How it works
Local-first choke point on the write path — MCP or CLI — not another dashboard that watches after the damage.
- Policy Repo YAML with packs and rules. Deny, require approval, or allow — deterministic only.
-
Gate
Agent calls
mayrun_run/ CLI instead of raw shell. Overlap with host permissions is defense in depth. - Receipt Hash-chained JSONL: decision, rule id, reason. Free locally; CI enforcement is the Pro cliff later.
Install
Single Rust binary. Works with Cursor and any MCP stdio host.
From source
cargo install --git https://github.com/kiket-dev/mayrun --locked
Init + smoke
mayrun init
mayrun check 'rm -rf /' # Deny
mayrun run 'git status' # Allow → execute
Cursor MCP
{
"mcpServers": {
"mayrun": {
"command": "mayrun",
"args": ["mcp"]
}
}
}
Full policy language and packs: docs/policy.md · docs/install.md
Free now
Local MCP, CLI, packs, and receipts are free. Paid CI gate that fails PRs on policy violations comes next — pricing here when it ships.