7 tools. 5 can modify or destroy data without limits.
5 write tools that can modify data. Rate limits recommended.
Last updated:
Write operations (jupyter_add_cell, jupyter_create_notebook, jupyter_open_notebook) modify state. Without rate limits, an agent can make hundreds of changes in seconds — faster than any human can review or revert.
Execute tools (jupyter_execute_code) trigger processes with side effects. Builds, notifications, workflows — all fired without throttling.
Intercept sits between your agent and Jupyter. Every tool call checked against your policy before it executes — so your agent can do its job without breaking things.
npx -y @policylayer/intercept scan -- npx -y @fre4x/jupyter jupyter_add_cell:
rules:
- rate_limit: 30/hour Prevents bulk unintended modifications from agents caught in loops.
jupyter_get_notebook:
rules:
- rate_limit: 60/minute Controls API costs and prevents retry loops from exhausting upstream rate limits.
The Jupyter server has 4 write tools including jupyter_add_cell, jupyter_create_notebook, jupyter_open_notebook. 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.
7 tools across 3 categories: Execute, Read, Write. 2 are read-only. 5 can modify, create, or delete data.
One line change. Instead of running the Jupyter server directly, prefix it with Intercept: intercept -c jupyter.yaml -- npx -y @@fre4x/jupyter. Download a pre-built policy from policylayer.com/policies/jupyter and adjust the limits to match your use case.
Starter policies available for each. Same risk classification, same one-command setup.
Set budgets, approvals, and hard limits across MCP servers.
npx -y @policylayer/intercept init