Start With The Email Demo
The local email demo has four tools:
email.search_threads email.get_thread email.create_draft email.send_email
A simple policy can allow search/read/draft and block send:
This means:
search threads allowed read a thread allowed create a draft allowed send email blocked before the demo server runs
Visibility
Visibility controls whether the agent can see a tool.
Common values:
visible the agent can see the tool dashboard_only the dashboard can show it, but the agent should not request it hidden do not expose it to the agent
Use this when a server has tools that should exist for inspection but should not be part of the agent's normal tool surface.
Allow And Block
policy_input_mode controls the decision input for a tool.
Common values:
allow this tool may continue through the checked path block stop before downstream execution review_required mark as requiring manual review; no dashboard approval queue yet
Important: current MCP Boundary does not have a human approval queue. Treat review_required as a "not executed until handled manually" state for now, not as a clickable approve button.
Argument Rule Example
Argument rules can keep a tool narrow.
Example: allow a customer lookup only for selected customer IDs.
This does not require the downstream MCP server to know about MCP Boundary. The check happens before the tool call reaches the server.
State Binding
State binding is for read-then-write flows.
Example idea:
1. Agent reads a customer record. 2. MCP Boundary records the state facts or token. 3. Agent asks to update that record. 4. The update must match the current state expectation.
This helps avoid blind writes against stale state. It is useful for tools that update, move, delete, send, or otherwise create side effects.
Hidden Effects
MCP Boundary can only check the MCP call that passes through it.
If a downstream MCP server hides a destructive internal effect behind a harmless-looking outer tool, classify the outer tool by the strongest effect it may cause, or split the downstream server into more specific tools.
More Detail
The full policy guide lives in:
docs/publish/policies.md