---
title: "Tools: named capabilities supplied by SDK and MCP sources"
description: "Tools are named, typed capabilities that an execution can request, supplied from an SDK Tool Host or an MCP Connection."
lang: en
status: public-preview
lastUpdated: 2026-09-26
url: https://duale.ai/en/docs/tools
---

## AI-generated summary

Tools are named, typed capabilities an execution can request, supplied from an SDK Tool Host or an MCP Connection.

- SDK Tool Host serves custom functions; MCP Connection assigns remote server Tools to Agent Identities.
- Duale AI reads the current active Tool set before every model turn, including continuations.
- Assignment makes a Tool eligible for an Agent Identity without guaranteeing the call succeeds.
- Duale AI assigns each Tool a short unique model-facing name and qualifies colliding names.

Summaries were generated by AI.

---

A **Tool** is a named, typed capability that an execution can request. Supply Tools from one of two customer-controlled
sources: an SDK Tool Host process in your application or an MCP Connection to a remote MCP server.

The customer Tool Host serves your SDK functions. It is a separate product from a customer-hosted Platform deployment
and does not run the Duale AI Platform.

## Choose how to supply Tools

| 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 a Tool manifest for one Agent Identity and keeps it 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 |

## Continue with the control you own

- To build and serve a custom function, [author SDK Tools](https://duale.ai/en/docs/sdk/tools.md).
- To configure and assign a remote server, [connect an MCP server](https://duale.ai/en/docs/tools/mcp-connections.md). Its access
  requirements follow the [Identity authorization model](https://duale.ai/en/docs/identity.md).
- To inspect availability, names, outcomes, and use by Agent Identity, [operate Tools](https://duale.ai/en/docs/tools/operations.md).
- To check MCP compatibility and call limits or look up the Tool catalog API, use the [Tools
  reference](https://duale.ai/en/docs/tools/reference.md).
- To size a catalog, or to find out how many Tools one Agent Identity can hold, read [Tool
  limits](https://duale.ai/en/docs/tools/limits.md).
- To protect external actions, [build a secure integration](https://duale.ai/en/docs/security/secure-integration.md).

The [Documentation MCP server](https://duale.ai/en/docs/mcp.md) serves a different purpose. It lets external AI clients search these
public pages. It does not add executable Tools to a Duale AI Agent Identity.

## Keep the four objects separate

| Object                    | Meaning                                                                                                             |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| Tool                      | One operation a model can request through a name and input schema                                                   |
| Tool Source               | The SDK Tool Host or MCP Connection that identifies where the Tool 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                              |

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.

## Understand how the available set changes

Duale AI reads the current active Tool set before every model turn, including a continuation. An SDK Tool Host can
publish a new manifest. An MCP server can change its catalog at any time. A later model turn can therefore receive a
different Tool set or different model-facing names without a change to the Task interface.

Duale AI gives every exposed Tool a short, unique model-facing name. It keeps the Tool Source and native name so it can
route a call to the correct Tool. If names collide, Duale AI qualifies every colliding name consistently. Distinct
Sources remain distinct even when their Tools have identical schemas because they can use different credentials and
data.

[Agent harness](https://duale.ai/en/docs/agent-harness.md) defines Tool Call, Tool Result, Effect, and the other runtime concepts used in
this section.

## Related content

- [MCP compatibility, call contract, and Tool catalog API](https://duale.ai/en/docs/tools/reference.md)
- [Create and manage MCP Connections](https://duale.ai/en/docs/tools/mcp-connections.md)
- [Documentation for building and operating agent integrations](https://duale.ai/en/docs.md)
- [Expose typed Python functions as Tools](https://duale.ai/en/docs/sdk/tools.md)
- [Tool publication and presentation limits](https://duale.ai/en/docs/tools/limits.md)
- [Secure integrations against redelivery and uncertainty](https://duale.ai/en/docs/security/secure-integration.md)

---

## Sitemap

See the full [Markdown sitemap](https://duale.ai/sitemap.md) for all pages.
