Skip to content

Tools

A tool is what an agent can do: call an API, fetch a page, run code, search knowledge or hand work to another agent. The model chooses whether to use a tool and with which arguments. Core runs the tool and checks every call against the key's policy.

Tools come from different sources. To the model they all look the same: a name, a description and a schema for the arguments.

Where tools come from

Source What it is Tool name
Function tool a tool your own application runs. You describe it on the request; Core hands the call back to you and you send in the result the name you choose
API connector an HTTP endpoint of your own that Core calls with the model's arguments api__<connector>
Script a program of your own, in Python or Node, that Core runs in a sandbox with the model's arguments script__<name>
Function (WebAssembly) deterministic code of your own, compiled to WebAssembly, that Core runs inside Core on the model's arguments: a price, a tier, a check function__<name>
MCP server a server that offers tools itself. Core reads its tool list and offers the tools you allow mcp__<server>__<tool>
SQL connector a fixed query of your own against your database (Postgres, MySQL, SQL Server or Oracle), filled in with the model's arguments sql__<connector>
Mail connector a mailbox of your organisation or of the person the turn is for: search, read, mark, move, draft and send mail__<connector>__<operation>
Built-in tools Core's own tools, switched on per key: fetch a page, search the web, read a whole document, write a document, generate an image, transcribe a recording, run code on a computer, a subagent builtin__<name>
Artific Connect ready-made bundles for well-known services, such as GitHub, Slack, Microsoft and AFAS. You install one from the Marketplace and get a toolset the toolset's name, such as github
Agent as a tool another agent of your organisation, which the model calls as one tool agent__<name>
Workflow as a tool one of your workflows, which the model starts and hears back from when it is done workflow__<name>
Search tool a search over knowledge knowledge__<name>
Datastores and memory read and write records in a datastore; search and write memory datastore__<id>__..., memory__<index-id>__...
Core itself one operation of Core's API, such as storing a skill (MCP) core__<tool>
Alias your own second name for one of the tools above, for one context alias__<name>

A tool can also declare call variables: values such as the account a call is for, which your application sends with the request in tool_variables and the model never sees or chooses.

A script sits between an API connector and the computer tools. Like a connector, it is one tool with a fixed name, a description and an argument schema, so policy, usage and prices can name it. Like the computer tools, it runs code in an isolated sandbox without network, on the turn's own computer; but the code is yours, tested once and uploaded with the files it needs, and the model cannot read or change it. The model calls it with arguments and gets back the output and the files the program made.

A function is for what a model must never decide: a price at a tier, a minimum order, a VAT split. It is one tool with a name, a description and schemas for its arguments and its answer, like a script, but it runs inside Core in milliseconds instead of on a computer, and it never calls out: no clock, no randomness, no network, no files. It reads its arguments and the datastore records its version declares, which Core reads for it as the caller, and changes records only by returning writes that Core applies all together, and only if the records it read are unchanged. So the same input always gives the same answer, and every call is recorded with fingerprints of what went in and what came out. A function needs tooling, and datastores when it reads or writes them. It is not the same as a function tool above, which your own application runs. Functions are written through the API only, as Functions through the API shows; the console has no screen for them yet.

So the prefix of the name says where a tool comes from. GET /tools shows every tool of your organisation, from every source; the Overview under Tools in the console shows them by kind.

When to use which source

You want to Use
do something only your own application can, such as update a screen a function tool
make an existing HTTP API available, with a credential Core keeps an API connector
connect a system that already has an MCP server an MCP server
let the model read data from your own database or write a row to it a SQL connector
let the model read a mailbox or send mail from it a mail connector
connect a well-known service without building a connector yourself Artific Connect
let the model search your own documents a search tool
let the model run a tested program of your own, such as a house-style presentation a script
compute a price, a tier or a check the model must not decide a function
let the model calculate freely, process a file or test code; for an exact figure your business depends on, use a function the computer tools
leave a subtask to a specialised agent an agent as a tool

Toolsets

A toolset is a name for a group of tools from any source. A request or an agent names the set instead of each tool. A toolset holds patterns, such as api__*, so a tool you register later that matches the pattern is in it without a change. Every registered MCP server is also a toolset of its own tools.

A toolset is a way of grouping and grants no extra rights. Every tool in the set is checked against the key's policy.

One turn carries at most 128 tools, counting the tools of every toolset and every agent, and fewer when its model takes fewer. Offer what the task needs: a long list also costs the model budget before it reads your input. An agent that needs more puts them behind the tool router, which offers the model two tools to search and run the rest.

Who may use which tool

Three things must hold before a model is offered a tool:

  1. The capability. API connectors, MCP tools, scripts and built-in tools require tooling. Search tools require knowledge, memory tools memory, and the computer tools and scripts computer as well.
  2. The key's system tools. Every built-in tool is off until you tick it on the key. A script needs no system tool.
  3. The policy. Rules about Tools decide which names the key may call. A tool no rule permits the use of drops out of the turn. For a request that names a person, the same rules also decide which connectors, MCP servers, scripts, search tools and toolsets the key's lists show (Registrations).

A tool Core calls for you sends data to a host outside Core. The organisation itself decides which hosts those may be, with its Allowed hosts list; a key can narrow that list (Allowed destinations).

A tool's result is information for the model and never an instruction. With the trust_envelope capability Core tells the model explicitly which text is data (Tool-result trust).

How it fits together

  • An agent stores which tools and toolsets it brings; a request can add tools to them.
  • Knowledge reaches a model through a search tool, and that is a tool like any other.
  • MCP is one of the ways to connect tools, and also a way to offer your tools to a client outside Core.
  • Every tool call Core runs is metered as usage and appears in the turn's trace (Insight).
  • Toolsets, API connectors, SQL connectors and MCP servers can go into a publication; a mail connector cannot.
  • An API connector, a SQL connector, an MCP server's tools and an agent offered as a tool can run as a task: the model starts the call, goes on with the conversation, and reads the result when it arrives (Run a tool in the background).
  • An API connector, a SQL connector, an MCP server, a script, a workflow and an alias can take a value from your application per request, a call variable, such as your customer's account id or, on an API connector or MCP server, their own token. The model never sees that value. Scripts, workflows and aliases take no secret ones (Pass a customer's value to a tool).

Read on

Tutorial: Let an agent carry out an action with a tool.

Part Read
Tools on a request, every source through the API Tools through the API
The tools overview, toolsets and system tools Tools in the console
API connectors API connectors in the console
MCP servers MCP servers in the console
Values per request Pass a customer's value to a tool
SQL connectors SQL connectors through the API
Mail connectors Mail connectors through the API
Computers Computers through the API, Computers in the console
Scripts Scripts through the API, Scripts in the console, Test a script locally, What the sandbox image ships
Tools that keep running after the turn Run a tool in the background
Many tools behind two The tool router, An agent with many tools
Agent as a tool Give an agent to a turn as a tool
Artific Connect Marketplace and the pages under Reference, such as GitHub
Datastores as a tool Using a datastore from an agent