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

# Tools & Toolsets

> 60+ built-in tools across 10+ categories — web search, terminal, browser, image generation, code execution, delegation, and more.

# Tools & Toolsets

Tools are functions that extend the agent's capabilities, organized into logical toolsets that can be enabled or disabled per platform and per specialist. Headmaster ships with a broad built-in tool registry — over 60 tools across 10+ categories.

***

## Available tool categories

| Category                  | Tools                                                                                     | Description                                                   |
| ------------------------- | ----------------------------------------------------------------------------------------- | ------------------------------------------------------------- |
| **Web**                   | `web_search`, `web_extract`                                                               | Search the web and extract page content as markdown           |
| **X (Twitter) search**    | `x_search`                                                                                | Search X/Twitter — gated on xAI credentials, off by default   |
| **Terminal & files**      | `terminal`, `process`, `read_file`, `patch`, `write_file`, `search_files`                 | Execute commands, read/write/edit files, search file contents |
| **Browser**               | `browser_navigate`, `browser_snapshot`, `browser_click`, `browser_type`, `browser_vision` | Interactive browser automation — text and vision based        |
| **Media**                 | `vision_analyze`, `image_generate`, `text_to_speech`                                      | Analyze images, generate images, convert text to speech audio |
| **Agent orchestration**   | `todo`, `clarify`, `execute_code`, `delegate_task`                                        | Planning, clarification, code execution, subagent delegation  |
| **Memory & recall**       | `memory`, `session_search`                                                                | Persistent memory and cross-session search                    |
| **Automation & delivery** | `cronjob`, `send_message`                                                                 | Scheduled tasks and outbound messaging to channels            |
| **Integrations**          | Home Assistant, MCP server tools, Spotify, Discord                                        | Smart home, external tools, music, chat platforms             |
| **Delegation**            | `delegate_task`                                                                           | Spawn isolated subagents for parallel workstreams             |
| **Advanced reasoning**    | `mixture_of_agents`                                                                       | Route a hard problem through multiple LLMs collaboratively    |

***

## Enabling and disabling tools

<Tabs>
  <Tab title="Per specialist">
    <Steps>
      <Step title="Open the specialist">
        Go to **Settings → Specialists** and pick a specialist.
      </Step>

      <Step title="Toggle toolsets">
        Go to the **Tools** section and check/uncheck toolsets.
      </Step>

      <Step title="Save">
        A toolset toggled off is not loaded — the agent won't see or try to use those tools.
      </Step>
    </Steps>
  </Tab>

  <Tab title="Per platform">
    Tools can be configured per platform (desktop, Telegram, Discord, etc.). This lets you give the desktop agent full tool access while restricting the Telegram agent to safe tools only.

    <Steps>
      <Step title="Open Advanced Toolsets">
        Go to **Settings → Headmaster's Library → Advanced → Toolsets**.
      </Step>

      <Step title="Pick a platform and toggle">
        Pick a platform and toggle toolsets on or off for that platform.
      </Step>
    </Steps>

    ### Platform presets

    | Preset       | Tools included                                                                     |
    | ------------ | ---------------------------------------------------------------------------------- |
    | **Desktop**  | All tools — full power                                                             |
    | **Telegram** | Web, terminal, file, memory, skills, cron, messaging (no destructive tools)        |
    | **Discord**  | Web, terminal, file, memory, skills, cron, messaging                               |
    | **CLI**      | All tools — same as desktop                                                        |
    | **Safe**     | Web, memory, skills, clarify, todo (no terminal, no file write, no code execution) |
  </Tab>
</Tabs>

***

## Using tools from chat

You don't need to explicitly call tools — the agent picks the right tool based on your request:

```
Search the web for the latest Python release notes and summarize the key changes.
```

→ Agent uses `web_search` and `web_extract`.

```
Run `git status` in my project folder.
```

→ Agent uses `terminal`.

```
Take a screenshot of https://example.com.
```

→ Agent uses `browser_navigate` and `browser_vision`.

```
Generate an image of a mountain landscape at sunset.
```

→ Agent uses `image_generate`.

### Tool call display

Every tool call appears in the chat as an expandable block:

```
🔧 web_search("latest Python release notes")
→ 5 results found
→ Extracting content from python.org...
→ 3,200 characters extracted
```

Click to expand and see the full tool input and output. This is your audit trail — every tool call is logged.

***

## execute\_code — programmatic tool calling

The `execute_code` tool lets the agent run Python scripts that call other Headmaster tools programmatically. This collapses multi-step pipelines into a single inference call.

Instead of the agent calling `web_search` 5 times in sequence, it can write a Python script that calls `web_search` 5 times in a loop, processes the results, and returns a single summary — faster, cheaper, and more reliable.

**Example:**

```
Search for the top 5 Python testing frameworks, extract their docs, and compare their features in a table.
```

The agent writes a Python script that calls `web_search` for each framework, `web_extract` on each result, parses the content, builds a comparison table — all in one tool call instead of 10+.

***

## mixture\_of\_agents — collaborative reasoning

The `mixture_of_agents` tool routes a hard problem through multiple frontier LLMs collaboratively. It makes 5 API calls (4 reference models + 1 aggregator) with maximum reasoning effort.

**Use it for:**

* Complex math or algorithms.
* Multi-step analytical reasoning.
* Problems that benefit from diverse perspectives.

The agent decides when to use it — you don't need to explicitly request it. It's used sparingly because it's expensive (5 API calls per use).

***

## Bundled tools

Some tools — web search, image generation, text-to-speech, and browser automation — can be enabled with a single bundled configuration instead of separate API keys for each service.

When the bundle is configured:

* **Web search** works out of the box — no Firecrawl or SerpAPI key needed.
* **Image generation** works — no separate FAL or OpenAI images key needed.
* **Text-to-speech** works — no OpenAI TTS key needed.
* **Browser automation** works — no separate browser service needed.

***

## Tool configuration reference

| Tool               | Setting location            | What it controls                              |
| ------------------ | --------------------------- | --------------------------------------------- |
| Web search         | Settings → Advanced → Tools | Enable/disable, choose backend                |
| Image generation   | Settings → Advanced → Tools | Enable/disable, choose model                  |
| Text-to-speech     | Settings → Advanced → Tools | Enable/disable, choose voice and provider     |
| Browser automation | Settings → Advanced → Tools | Enable/disable, choose backend                |
| Terminal           | Settings → Advanced → Tools | Enable/disable, choose backend                |
| X (Twitter) search | Settings → Advanced → Tools | Enable/disable (requires xAI credentials)     |
| Home Assistant     | Settings → Advanced → Tools | Enable/disable (requires HA URL and token)    |
| Spotify            | Settings → Advanced → Tools | Enable/disable (requires Spotify credentials) |
| Discord            | Settings → Advanced → Tools | Enable/disable (requires bot token)           |

***

<CardGroup cols={2}>
  <Card title="Terminal Backends" icon="terminal" href="/terminal-backends">
    Local, Docker, SSH, Singularity, Modal, and Daytona.
  </Card>

  <Card title="Browser" icon="browser" href="/browser">
    Full browser automation details.
  </Card>

  <Card title="Image Generation" icon="image" href="/image-generation">
    Full image generation setup guide.
  </Card>

  <Card title="Connections (MCP)" icon="plug" href="/connections-mcp-servers">
    Extend tools with MCP servers.
  </Card>
</CardGroup>
