14 tools. 5 can modify or destroy data without limits.
2 destructive tools with no built-in limits. Policy required.
Last updated:
Destructive tools (conda, poetry) permanently delete resources. There is no undo. An agent calling these in a retry loop causes irreversible damage.
Write operations (pip-install, uv-install) modify state. Without rate limits, an agent can make hundreds of changes in seconds — faster than any human can review or revert.
Execute tools (uv-run) trigger processes with side effects. Builds, notifications, workflows — all fired without throttling.
conda:
rules:
- action: deny Destructive tools should never be available to autonomous agents without human approval.
pip-install:
rules:
- rate_limit: 30/hour Prevents bulk unintended modifications from agents caught in loops.
black:
rules:
- rate_limit: 60/minute Controls API costs and prevents retry loops from exhausting upstream rate limits.
Yes. The Python server exposes 2 destructive tools including conda, poetry. These permanently remove resources with no undo. Intercept blocks destructive tools by default so they never reach the upstream server.
The Python server has 2 write tools including pip-install, uv-install. Set rate limits in your policy file -- for example, rate_limit: 10/hour prevents an agent from making more than 10 modifications per hour. Intercept enforces this at the transport layer.
14 tools across 4 categories: Destructive, Execute, Read, Write. 9 are read-only. 5 can modify, create, or delete data.
One line change. Instead of running the Python server directly, prefix it with Intercept: intercept -c io-github-dave-london-pare-python.yaml -- npx -y @@paretools/python. Download a pre-built policy from policylayer.com/policies/io-github-dave-london-pare-python and adjust the limits to match your use case.
Starter policies available for each. Same risk classification, same one-command setup.
Deterministic policy on every MCP tool call. Per-identity grants. Full audit log.