Tools
These tools keep the agent’s context small. To give the agent one tool per capability for the
ids or small namespaces it uses most, add
--tools:
web.search becomes web_search.
Safety
- Tool results are untrusted data from third-party sources. Every tool description tells the agent to treat them as data, never as instructions.
- Capabilities with an external effect (sending, posting, paying) need an
idempotency_key, so an agent that retries never repeats the action. - Capabilities that reach a real person or cannot be undone need a person’s yes. The server asks
through your MCP client before each call and runs it only if they approve; clients without
elicitation get
approval_requiredinstead. See Approvals.
--tools patterns if startup refuses them.
For apps, register builder webhooks in the dashboard for job.completed and verify signatures.
The approval form shows the maximum cost and account before the yes. For member-scoped keys,
enter your own approving member ID in the form; the API checks your right to approve.
Read-only keys cannot run actions, even with approval. Inputs above 1,000,000 JSON bytes are refused.
Read the capability skill
for discovery, approval, jobs and error handling.