Skip to main content

Tool Governance

An agent with tools is an execution identity, not only a chatbot. Treat every exposed function like an API permission and govern functions individually.

Classify Functions by Effect​

Function typeExamplesRecommended default
ReadSearch documents, list tickets, read calendar availabilityEnabled when access is correctly scoped
DraftDraft email, prepare report, propose ticketEnabled or confirmation for sensitive content
CreateCreate ticket, task, event, or internal recordConfirmation unless narrowly bounded and reversible
UpdateChange CRM record, campaign, permission, or workflowConfirmation
Send or publishSend email, post message, publish contentConfirmation
Delete or destructiveDelete record, revoke access, overwrite production dataDisabled or exceptional approval
Financial or privilegedChange budget, purchase, deploy, change accessExplicit approval and additional provider controls

Least-Privilege Design​

  • Enable only approved connection types at organization level.
  • Prefer a narrow service account over a shared administrator credential.
  • Share production connections with the smallest relevant team.
  • Give the agent only the functions used by its documented workflow.
  • Keep read and write functions separate so safe retrieval does not imply write access.
  • Use provider-side scopes and policies as an additional boundary.
  • Review tool assignments whenever the agent prompt, owner, or purpose changes.

Organization Overrides​

Organization-level connection governance can disable a connection type or force a function policy. Use it to prevent individual connection owners from making sensitive functions fully automatic.

Examples of organization-wide rules:

  • sending email always requires confirmation,
  • deleting external records is disabled,
  • reading approved analytics data is enabled,
  • changing advertising spend requires confirmation,
  • production deployment functions are limited to an operations team.

Review actual actions in Tool Executions and configuration changes in Audit Log.

Govern MCP Tool Metadata​

MCP tool annotations describe the server author's intended behavior; they are not a security boundary by themselves. Review the tool description, input schema, credential scope, and a safe test result before accepting an annotation from either a third-party MCP server or the Siesta AI MCP Server.

MCP operation classCurrent examplesMetadata postureRecommended governance
Read-only discoverylist_agents, get_conversation, graph reads, workflow and skill readsReadOnly=true; no external state change expectedEnabled only for users already allowed to see the underlying objects.
Createcreate_agent, create_skill, create_workflow, create_graph_node, create_graph_edgeNon-idempotent creation; currently not annotated as destructive when creation does not overwrite an existing objectEnabledWithConfirmation for shared or production use. Verify the created object and its access policy.
Update or deleteAgent, skill, workflow, graph node, and graph edge updates or deletionDestructive=true on state-changing operationsEnabledWithConfirmation, or Disabled when the client has no approved management use case.
Execute or communicatesend_message, run_workflow, approve_tool_callDestructive=true; can trigger further tools or external effectsEnabledWithConfirmation and review the target, arguments, pending action, and downstream result.
Reject a pending actionreject_tool_callState-changing but prevents the proposed tool from runningEnabled or EnabledWithConfirmation according to the incident process; verify the final conversation state.

send_message and approve_tool_call are marked destructive because they can cause an agent or an already-pending tool to act. A client may use this annotation to warn the user, but the annotation does not guarantee that every MCP client displays an approval dialog. Siesta AI connection governance and the client-side confirmation experience must be tested separately.

For a third-party MCP connection, treat missing or contradictory annotations conservatively. Start unknown tools in confirmation mode, perform a bounded test, and record the observed effect before broad assignment.

Govern Sandbox Execution​

Sandbox runs commands in an isolated, conversation-scoped Linux environment. It is not the unavailable legacy Code Interpreter and it does not mount or control the user's local computer.

Before assigning Sandbox to a shared or production agent:

  • confirm that the selected base image is approved and contains only required software;
  • verify the deployed command timeout, file-transfer limits, user and organization concurrency limits, and network allowlist;
  • test whether runCommand produces the required approval prompt, because the Sandbox function does not guarantee confirmation by itself;
  • inspect commands and staged filenames in tool detail before approval where approval is available;
  • keep credentials out of prompts, command strings, scripts, logs, filenames, and artifacts;
  • stage only the inputs needed for the current operation;
  • publish only reviewed deliverables, not temporary files or hidden working data;
  • treat workspace reset, provider failure, and partial publishing as recoverable failures that must be reported to the user.

Conversation deletion and lifecycle reconciliation remove or retire the associated Sandbox session. Do not use the workspace as durable storage, a backup location, or a replacement for governed Data and Memory collections.