Skip to main content

Built-in Tools Overview

Manasvi ships with a curated set of built-in tools that give it immediate, practical utility.

Every tool is:

  • Registered — declared in a typed manifest before it can be used
  • Policy-governed — policy decides whether a principal can invoke it
  • Execution-mediated — runs through the execution manager with intent signing and artifact verification
  • Sandboxed — runs inside an isolated child process with enforced network, filesystem, and memory limits
  • Auditable — every invocation produces an execution result artifact with trace metadata

This is not a plugin registry with raw capabilities. It is a governed toolset where every action passes through policy, intent creation, and sandboxed execution.


Built-in tools at a glance

Manasvi ships with 30 built-in tools across 10 categories.

Filesystem

Tool IDNameRiskApprovalWhat it does
tool.local-file-readLocal File ReadLowNot requiredReads a file in the sandbox
tool.fs-write-fileFS Write FileMediumMust requireCreates or overwrites a file in the workspace write zone
tool.fs-append-fileFS Append FileMediumMust requireAppends content to a file in the workspace write zone
tool.fs-apply-patchFS Apply PatchHighMust requireApplies a unified-diff patch to a workspace file
tool.fs-rename-fileFS Rename FileMediumMust requireRenames or moves a file within the workspace

Web

Tool IDNameRiskApprovalWhat it does
tool.http-fetchHTTP FetchMediumMay requireFetches a remote URL under egress policy
tool.web-searchWeb SearchMediumMay requireWeb search with structured results
tool.x-searchX SearchMediumMay requireSearches X (Twitter) via the X API adapter

Memory

Tool IDNameRiskApprovalWhat it does
tool.memory-note-writeNote WriteMediumMay requireWrites a note to a memory namespace
tool.memory-searchMemory SearchLowNot requiredSearches a memory namespace for matching notes
tool.memory-getMemory GetLowNot requiredRetrieves a specific memory record by ID

Runtime / Execution

Tool IDNameRiskApprovalWhat it does
tool.execExecHighMust requireGoverned command execution in a sandbox
tool.processProcessHighMust requireInspect or signal sandbox processes
tool.code-executionCode ExecutionHighMust requireRuns code text in a managed language runtime
tool.bashBashHighMust requireRuns a bash script through the governed runtime
tool.shell-commandShell CommandHighMust requireBounded shell execution with explicit allowlist

Sessions / Subagents

Tool IDNameRiskApprovalWhat it does
tool.sessions-listSessions ListLowNot requiredLists sessions visible to the caller
tool.sessions-historySessions HistoryLowNot requiredReads message history of a session
tool.session-statusSession StatusLowNot requiredReturns status and metadata for a session
tool.sessions-sendSessions SendMediumMay requireSends a message into an active session
tool.sessions-yieldSessions YieldMediumMay requireYields a result payload to a parent session
tool.sessions-spawnSessions SpawnHighMust requireCreates a new session or sub-session
tool.subagentsSubagentsHighMust requireSpawns and manages subordinate agents

UI

Tool IDNameRiskApprovalWhat it does
tool.canvasCanvasMediumMay requireRenders structured content to the dashboard canvas
tool.browserBrowserHighMust requireControls a headless browser session

Automation

Tool IDNameRiskApprovalWhat it does
tool.cronCronHighMust requireManages scheduled cron jobs
tool.gatewayGatewayHighMust requireInvokes operator-registered gateway endpoints

Messaging

Tool IDNameRiskApprovalWhat it does
tool.messageMessageMediumMay requireSends to an operator-registered channel

Nodes

Tool IDNameRiskApprovalWhat it does
tool.nodesNodesLowNot requiredInspects the distributed node manager

Workflow

Tool IDNameRiskApprovalWhat it does
tool.approval-requestApproval RequestHighMust requireRoutes an action to a human reviewer
tool.agents-listAgents ListLowNot requiredLists available agent definitions

What "governed" means for tools

When Manasvi considers using a tool, the following happens:

  1. Tool lookup — the tool ID is resolved in the in-memory registry
  2. Status check — if the tool is disabled or deprecated, the invocation fails immediately with TOOL_NOT_ENABLED
  3. Input validation — input is parsed against the tool's typed Zod schema; invalid input returns TOOL_INPUT_VALIDATION_FAILED
  4. Policy evaluation — the policy service evaluates whether the principal can perform the tool's action class on its resource class; DENY returns POLICY_DENIED
  5. Intent creation — an execution intent is created and signed, binding the action to the principal context
  6. Approval check — if policy returns REQUIRE_APPROVAL, an approval request is created and execution pauses
  7. Artifact issuance — if no approval is needed, a system approval artifact is issued
  8. Contract creation — a tool execution contract bundles the invocation, manifest, intent, and artifact
  9. Sandboxed execution — the execution manager verifies the contract, derives the runtime policy, and runs the tool in an isolated child process
  10. Output validation — output is parsed against the tool's typed output schema
  11. Result returned — the result includes provenance metadata and the execution artifact ID

Every step is logged and traceable. No step can be bypassed.


Trust classification on tool output

Tool output is always classified. Manasvi never auto-promotes trust.

CategoryToolsOutput trust class
Filesystemlocal-file-read, fs-write-file, fs-append-file, fs-apply-patch, fs-rename-fileEXTERNAL_UNTRUSTED
Webhttp-fetch, web-search, x-searchEXTERNAL_UNTRUSTED
Runtimeexec, bash, code-execution, process, shell-commandEXTERNAL_UNTRUSTED
Memory writememory-note-writePreserves the trust class supplied by the caller
Memory readmemory-search, memory-getPer-record, as written (never silently promoted)
Sessionssessions-list, sessions-history, session-statusEXTERNAL_UNTRUSTED
UIbrowserEXTERNAL_UNTRUSTED
Web/socialx-searchEXTERNAL_UNTRUSTED
Workflowapproval-requestCONTROL_TRUSTED (artifact)
Messagingmessagen/a (send-only)

Manasvi does not auto-promote tool output trust. An agent cannot use untrusted content to make control-plane decisions without explicit operator promotion.


Sandbox modes by tool

ToolSandbox modeNetworkFilesystem
tool.local-file-readread_only_localblockedread-only inputs
tool.fs-write-fileno_network_computeblockedscratch write
tool.fs-append-fileno_network_computeblockedscratch write
tool.fs-apply-patchno_network_computeblockedscratch write
tool.fs-rename-fileno_network_computeblockedscratch write
tool.http-fetchrestricted_remoteallowlist onlynone
tool.web-searchrestricted_remoteallowlist onlynone
tool.x-searchrestricted_remoteallowlist onlynone
tool.memory-note-writeread_only_localblockedscratch write
tool.memory-searchread_only_localblockednone
tool.memory-getread_only_localblockednone
tool.approval-requestread_only_localblockednone
tool.shell-commandno_network_computeblockedscratch write
tool.execno_network_computeblockedscratch write
tool.bashno_network_computeblockedscratch write
tool.code-executionno_network_computeblockedscratch write
tool.processno_network_computeblockednone
tool.sessions-*restricted_remotenonenone
tool.subagentsrestricted_remotenonenone
tool.agents-listrestricted_remotenonenone
tool.nodesrestricted_remotenonenone
tool.canvasrestricted_remotenonenone
tool.browserprivileged_operator_approvedallowlist onlynone
tool.cronrestricted_remotenonenone
tool.gatewayprivileged_operator_approvedallowlist onlynone
tool.messagerestricted_remoteallowlist onlynone

Default tool sets

Rather than enabling tools one by one, Manasvi provides default tool sets — curated, named groups with a defined risk posture.

See Default Tool Sets for details.


Enabling and disabling tools

Tools are registered in the orchestrator's in-memory registry at startup. Status can be changed at runtime via the orchestrator API.

# Disable a tool
curl -X POST http://localhost:4010/tools/status \
-H "content-type: application/json" \
-H "authorization: Bearer <token>" \
-d '{"toolId": "tool.shell-command", "version": "1.0.0", "status": "disabled"}'

# List all tools
curl http://localhost:4010/admin/tools

Or use the CLI:

pnpm manasvi tools list
pnpm manasvi tools inspect tool.web-search
pnpm manasvi tools sets

Policy configuration for tools

Tools require matching policy rules. The default policy set at configs/policies/default-policy-set.json includes rules for the built-in tools.

Each tool declares its policyActionClass and policyResourceClass. Policy rules must explicitly allow the relevant actionClass for the requesting principal.

If a policy rule is missing, the tool invocation returns POLICY_DENIED with reason codes.


Tool reference docs

Core tools (B4)

New tools (B5)

Reference