Tools: sources, Built-in Tools, and source selection
Explains where a Task's Tools come from—Built-in, SDK, and MCP—and how to choose between SDK Tool Host and MCP Connection sources.
This page covers Tool sources, Built-in Tools, SDK versus MCP choices, assignment objects, and how the available set changes between model turns.
- Tool sources: Built-in, SDK, and MCP.
- Built-in Tools and their reserved names.
- Choosing between an SDK Tool and an MCP Connection.
- Sources, Connections, and Agent Identity assignments.
- How the available Tool set changes between model turns.
Summaries were generated by AI.
A Task gets its Tools from three places: Built-in Tools that Duale AI supplies, SDK Tools that your application serves, and MCP Tools from a remote server that you connect. The model chooses which available Tool to request, and an available Tool can go unused.
Agent harness defines Tool, Tool Call, Tool Result, model turn, and the other Task terms used on this page.
See which Tools a Task can use
Duale AI reads the current set before each model turn, including the turns of a continuation. A Task request carries no Tool definitions, and it cannot add, remove, or narrow the set. To change what a Task can use, change what its Agent Identity can reach.
Built-in Tools
Duale AI supplies these Built-in Tools to every Task. You do not register, assign, or call them; the model requests them when the work needs them. Each row links to the page that owns its behavior.
| Built-in Tool | What a Task can do with it | What you control | Owner page |
|---|---|---|---|
| Library search | Find, match, list, and read documents in the Libraries its Agent Identity can reach | Which Libraries the Agent Identity can reach | What a Task can do with a Library |
| Web research | Search the public web and read public pages | What the instruction asks for | Web research |
| Code Execution | Run Python or JavaScript that the model writes, within fixed bounds. Network access is off unless the model turns it on for a run | What the instruction asks for | Code Execution |
| Recall | Reread its own earlier work in full after older context was shortened, including the Tasks it continues. Search and read the requests and final answers of earlier Tasks of the same Agent Identity | Which Agent Identity runs the Task | Context continuity |
| Delegated work | Delegate focused parts of its work, such as document or Web research, inside the same Task. Delegated work runs under the Task’s Agent Identity, ends within its deadline, and stops when the Task stops | The instruction and the deadline | How a Task divides its work |
| To-do list | Keep a list of its remaining steps; a continuation inherits the list | The instruction | What a continuation Task inherits |
| Tool search | Find one of its Agent Identity’s Tools that the current model turn does not offer, by name and description | Your Tool names and descriptions | Tool limits |
- Built-in Tool
- Library search
- What a Task can do with it
- Find, match, list, and read documents in the Libraries its Agent Identity can reach
- What you control
- Which Libraries the Agent Identity can reach
- Owner page
- What a Task can do with a Library
- Built-in Tool
- Web research
- What a Task can do with it
- Search the public web and read public pages
- What you control
- What the instruction asks for
- Owner page
- Web research
- Built-in Tool
- Code Execution
- What a Task can do with it
- Run Python or JavaScript that the model writes, within fixed bounds. Network access is off unless the model turns it on for a run
- What you control
- What the instruction asks for
- Owner page
- Code Execution
- Built-in Tool
- Recall
- What a Task can do with it
- Reread its own earlier work in full after older context was shortened, including the Tasks it continues. Search and read the requests and final answers of earlier Tasks of the same Agent Identity
- What you control
- Which Agent Identity runs the Task
- Owner page
- Context continuity
- Built-in Tool
- Delegated work
- What a Task can do with it
- Delegate focused parts of its work, such as document or Web research, inside the same Task. Delegated work runs under the Task’s Agent Identity, ends within its deadline, and stops when the Task stops
- What you control
- The instruction and the deadline
- Owner page
- How a Task divides its work
- Built-in Tool
- To-do list
- What a Task can do with it
- Keep a list of its remaining steps; a continuation inherits the list
- What you control
- The instruction
- Owner page
- What a continuation Task inherits
- Built-in Tool
- Tool search
- What a Task can do with it
- Find one of its Agent Identity’s Tools that the current model turn does not offer, by name and description
- What you control
- Your Tool names and descriptions
- Owner page
- Tool limits
Some Built-in Tool names, such as those of Recall, Tool search, and delegated work, are reserved, and an SDK Tool cannot use them. Tool Host errors lists the reserved names.
Choose between an SDK Tool and an MCP Connection
| Source | Use it when | Who runs the Tool | How it becomes available |
|---|---|---|---|
| SDK Tool Host | You need custom code, a controlled schema lifecycle, or a customer-managed approval step | Your application process | The SDK publishes the Tool definitions for one Agent Identity and keeps them current |
| MCP Connection | An existing remote MCP server already exposes the capabilities you need | The remote MCP server | An authorized tenant member configures one named Connection and assigns it to Agent Identities; its current compatible Tools can then become eligible |
- Source
- SDK Tool Host
- Use it when
- You need custom code, a controlled schema lifecycle, or a customer-managed approval step
- Who runs the Tool
- Your application process
- How it becomes available
- The SDK publishes the Tool definitions for one Agent Identity and keeps them current
- Source
- MCP Connection
- Use it when
- An existing remote MCP server already exposes the capabilities you need
- Who runs the Tool
- The remote MCP server
- How it becomes available
- An authorized tenant member configures one named Connection and assigns it to Agent Identities; its current compatible Tools can then become eligible
Keep Sources, Connections, and assignments separate
| Object | Meaning |
|---|---|
| Tool Source | The SDK Tool Host or MCP Connection that identifies where one of your Tools comes from and who runs it |
| MCP Connection | One named organization configuration for a remote server, endpoint, remote access, assignment list, and call policy |
| Agent Identity assignment | The Agent Identities for which a Source’s current compatible Tools can become eligible |
- Object
- Tool Source
- Meaning
- The SDK Tool Host or MCP Connection that identifies where one of your Tools comes from and who runs it
- Object
- MCP Connection
- Meaning
- One named organization configuration for a remote server, endpoint, remote access, assignment list, and call policy
- Object
- Agent Identity assignment
- Meaning
- The Agent Identities for which a Source’s current compatible Tools can become eligible
Assignment makes a Tool eligible for an Agent Identity. It does not prove that the remote operation is safe, authorize its business effect, or guarantee that a call will succeed.
How the set changes between model turns
An SDK Tool Host can publish new Tool definitions, and an MCP server can change its catalog at any time. A later model turn can therefore see different Tools or different model-facing names, with no change to your Task request. A Tool Call always reaches the Tool the model chose, even if a later catalog change renames it. Understand model-facing Tool names explains how Duale AI names Tools.
Continue with the control you own
- To build and serve a custom function, author SDK Tools.
- To configure and assign a remote server, connect an MCP server. Its access requirements follow the Identity authorization model.
- To read Connection states, model-facing names, and Analytics outcomes, operate Tools.
- To recover a failing Connection or Tool, troubleshoot Tools.
- To check whether an MCP server is compatible and how Duale AI handles its calls, use the Tools reference.
- To size a catalog, or to find out how many Tools one Agent Identity can hold, read Tool limits.
- To act on the outcome of one Tool Call, read a Tool Call outcome.
- To protect external actions, build a secure integration.
The Documentation MCP server serves a different purpose. It lets external AI clients search these public pages. It does not add a Tool to an Agent Identity.