> ## Documentation Index
> Fetch the complete documentation index at: https://ago.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Toolkits & Dynamic Discovery

> Give an agent toolkits it loads on demand instead of carrying every tool in every call

Toolkits let an agent have access to many tools without loading all of them at once. The agent starts with a short catalog describing each toolkit, and loads the tools it needs only when a request calls for them.

## Why use toolkits

Every tool attached to an agent is sent to the model on every call. Past a few dozen tools this costs context and makes the model worse at picking the right one. Toolkits keep the agent lean: it always carries its everyday tools, and it can reach the rest through its toolkits when needed.

Use toolkits when:

* an agent has more than ten tools, or a connected MCP server exposes many tools
* most conversations only need a handful of them
* you keep adding tools over time

## How it works

1. You create **toolkits**: a name, a one-line description, and the tools inside.
2. You attach toolkits to an agent in its **Toolkits** section. The agent's regular **Available Tools** stay loaded on every call.
3. In a conversation, the agent only sees the toolkit descriptions. When a request needs more, it searches its toolkits with the task it wants to perform.
4. AGO loads at most five tools matching that task, and the agent calls them like any other tool. A "Searching tools" step appears in the conversation.
5. A tool the agent actually used stays available for the rest of the conversation, so it is not searched again on the next message.

An agent can search its toolkits up to three times per answer and load at most fifteen tools per answer, so the tool set stays small even with many toolkits.

## Creating a toolkit

1. Go to **AI Studio** → **Toolkits**
2. Click **Create Toolkit**
3. Give it a short **name** and a **description**
4. Either pick the **tools** by hand, or choose an **MCP server** to mirror all of its tools

### Writing a good description

The description is the only thing the agent reads before deciding to look inside the toolkit, so it must say what the agent can **do** with it:

| Weak        | Better                                                                       |
| ----------- | ---------------------------------------------------------------------------- |
| Gmail tools | Manage the user's Gmail inbox: search, send and draft emails, manage labels  |
| CRM         | Look up customers, deals and invoices in the CRM, and update contact details |

The builder helps you get this right:

* **What the agent reads** shows the exact catalog line the agent sees, and flags a description that is very short, that only names the tools, or that contains no action.
* **Write with AI** drafts the description from the tools you selected. Edit it as you like before saving.
* **Try a task** runs the same selection the agent would run: type a task such as "send the invoice to the customer by email" and see which tools would be loaded. When the toolkit holds more than five tools, the result also says the fast model narrowed the selection and from how many candidates. It works on the current selection, saved or not.

### MCP-backed toolkits

When a toolkit is linked to an MCP server, its tools always mirror the tools synced from that server, including tools added on a later re-sync. This is the recommended way to expose a large MCP server to an agent: attach the toolkit to the agent instead of attaching the server directly, and the agent will discover the server's tools on demand.

## Attaching toolkits to an agent

1. Open the agent in **AI Studio** → **Agents**
2. In the **Capabilities** tab, expand **Toolkits**
3. Select the toolkits the agent may discover
4. Keep the 3–5 tools the agent uses in most conversations under **Available Tools**

## Related Documentation

<CardGroup cols={2}>
  <Card title="Tools" icon="wrench" href="/features/tools">
    Create and configure tools
  </Card>

  <Card title="Agents" icon="robot" href="/agent/agents">
    Configure agents and their capabilities
  </Card>
</CardGroup>
