What are tools?

Tools are model-facing functions that an agent can call to interact with the outside world. They are the bridge between an agent’s reasoning and real-world actions — reading files, searching the web, editing code, running shell commands, and automating a browser. Allternit provides five tool surfaces:

Native Tool Belt

Built-in tools shipped with the runtime — web search, file editing, bash, code execution, memory, and more

MCP Servers

Attach external tool servers and expose the Allternit registry to MCP clients

Custom Tools

Register your own tools with the Tool Registry

Server Tools

Organization-scoped tools that run inside the Cloud Sandbox

Cloud Sandboxes

VM-based code execution, templates, and instance management

Office CLI Gateway

Server-side Office document automation through the officecli binary

ACI

Browser and desktop automation with human-in-the-loop approvals

How tools are discovered

Every tool is registered into a ToolRegistry with a name, JSON Schema input contract, and an execute function. The harness queries the registry at each turn to build the tool list sent to the model.
The same registry is exposed over REST at /api/v1/tools and /api/v1/tools/execute, and as an MCP server at /mcp/server.

Active vs deferred tools

  • Active tools are included in every model turn.
  • Deferred tools are known to the registry but only activated on demand via tool_activate. This keeps the context window small when you have many tools available.

Strict schemas

All native tools are registered with strict: true — the provider rejects arguments outside the declared schema. Custom tools can opt into strict mode at registration. See Strict Tool Schemas for details.

Tool execution flow

When a model requests a tool call, Allternit resolves the tool in this order:
  1. Server tools registered for the caller’s organization.
  2. Attached MCP server tools requested through the MCP server surface.
  3. Native tools in the built-in belt.
Permission policies can interrupt this flow with allow, deny, or ask decisions before the tool runs.