# How toolboxes work

> Source: https://elaichi.ai/docs/guides/toolboxes/overview/

Give an agent a curated set of tools instead of everything a product can do. A **toolbox** is that curated set — often mixing several products in one place.

Smaller, well-described toolboxes produce better results. An agent choosing between six clearly named tools makes better decisions than one sorting through two hundred.

**Where to find it:** **Toolboxes** in the sidebar → **Shared toolboxes**, **My toolboxes**, or **Synthetic tools**

## Three kinds

| Kind | Where in the UI | What it is |
| --- | --- | --- |
| **Shared (template) toolbox** | **Shared toolboxes** | A reusable definition you build and share. Teammates take their own copy. |
| **Your (user) toolbox** | **My toolboxes** | What MCP clients connect to — copies of templates, plus automatic system toolboxes. |
| **Synthetic tools** | **Synthetic tools** | Multi-step composite tools you add into toolboxes like normal entries. |

Under **My toolboxes** you’ll also see automatic **system** toolboxes Elaichi maintains:

| System toolbox | Meaning |
| --- | --- |
| **Global toolbox** (“All tools”) | Everything you can currently reach |
| **Connection toolbox** (“{connection} tools”) | All tools for one **Active** connection |

System toolboxes are read-only: you can use them and create MCP servers from them, but you can’t edit their entries.

### The important rule

**AI clients connect to your toolboxes under My toolboxes**, not to a shared template itself. A shared toolbox is the recipe; your copy (or a connection toolbox) is what gets an MCP endpoint.

```mermaid title="Shared template → personal toolbox → MCP"
flowchart TD
  Shared["Shared toolbox<br/>template / recipe"] -->|"Use share"| Mine["My toolbox<br/>your copy"]
  Conn["Connection toolbox<br/>auto from a connection"] --> Mine
  Mine --> MCP["MCP server"]
  MCP --> Client["AI client"]
```

## Sharing levels (ACL)

When you share a template toolbox:

| Level | What recipients can do |
| --- | --- |
| **View** | See the toolbox and its tools |
| **Use** | Create a personal toolbox from it and run its tools (default) |
| **Edit** | Change tools and settings |

Share with a **member**, a **team**, or the **entire organization**. View-only recipients can’t instantiate.

Sharing never shares credentials. Each person runs tools through connections they can use — their own, or ones the template pins / delegates according to how it was built.

## Per-tool customization

On a shared toolbox (and on tools you add to your own copy), open **Edit tool** to tune what agents see and how calls run:

| Setting | Effect |
| --- | --- |
| **Name override** / **Description override** | What the model sees (empty = catalog) |
| **Enabled** | Disabled entries stay in the toolbox UI but aren’t offered over MCP |
| **Frozen parameters** | Fixed values stripped from the advertised schema and force-merged at execution — the model can’t see or override them |
| **Default values** | Applied when the client omits a parameter; the model can still override |
| **Input schema override** | Replace the advertised JSON Schema (with helpers to copy or reset the catalog schema) |

**Call-time precedence:** defaults < client arguments < frozen parameters.

On shared templates you can also leave a tool with **No connection (user provides)** so each person binds their own account when they instantiate.

## Partial usability

If a template tool needs a connection you don’t have yet:

- The console shows **Needs connection** (and related statuses like **Tool unavailable**, **Disabled**, **Ready**)
- Unmet, disabled, missing, or restriction-blocked tools stay visible for setup but are **hidden from MCP** until they can run

Connect the missing product (or bind an existing connection), and those tools appear to clients automatically.

## How the pieces fit

1. Connect accounts → automatic **connection toolboxes** appear under **Mine**.
2. Optionally build a **shared** toolbox, tune entries, and share with **view** / **use** / **edit**.
3. Recipients with **use** create their copy under **Mine** and bind connections.
4. Create an [MCP server](/guides/mcp-servers/creating-an-mcp-server) from a Mine toolbox.
5. Optionally add [synthetic tools](/guides/toolboxes/synthetic-tools) into shared or personal toolboxes.

## Good to know

- Tools blocked by [restrictions](/guides/governance/set-restrictions) never appear to MCP clients, even if a template includes them.
- Renaming a tool changes it only inside that toolbox — the underlying product is untouched.
- Permissions: `toolbox:create` to build, `toolbox:share` to share, `toolbox:manage` to edit or delete other people’s toolboxes.

## Related

- [Shared toolboxes](/guides/toolboxes/shared-toolboxes)
- [Your toolboxes](/guides/toolboxes/your-toolboxes)
- [Synthetic tools](/guides/toolboxes/synthetic-tools)
- [Create an MCP server](/guides/mcp-servers/creating-an-mcp-server)
