# Tools

> See every built-in tool available to mrmr's voice agent, what each tool can do, and how to invoke it naturally.

Canonical: https://getmrmr.com/manual/agent-mode/tools
Last verified: 2026-07-06
Minimum app version: 0.45.0

The main voice agent has 13 built-in tools. They cover connected apps, the live web, your browser and Mac, Apple Reminders, mrmr itself, scripts, background sub-agents, and the voice session. A background sub-agent has a smaller set of four online tools.

You do not need to say a tool name or use special command syntax. State the result you want, such as “Find the launch plan in my browser history,” “Pause my music,” or “Research this company in the background.” mrmr selects and combines the appropriate tools.

## Tool summary

| Tool | Main voice agent | Sub-agent | What it does |
|---|---|---|---|
| `web_search` | Available | Available | Searches the live public web and returns sources |
| `search_browser` | Available | Not available | Searches local browser history, bookmarks, shortcuts, and frequently visited pages |
| `system_tool` | Available | Not available | Uses supported Mac, clipboard, media, app, file, and link actions |
| `reminders_tool` | Available | Not available | Reads and manages Apple Reminders |
| `mrmr_app` | Available | Not available | Opens mrmr pages and manages integrations, dictionary entries, and feedback |
| `run_script` | Available | Not available | Runs a reviewed script from your Agent Folder |
| `delegate_to_sub_agent` | Available | Not available | Starts a longer cloud task that continues in the background |
| `check_sub_agent` | Available | Not available | Retrieves the status or result of delegated work |
| `render_ui` | Available | Not available | Shows Markdown, choices, and confirmation cards in the Agent Mode panel |
| `end_session` | Available | Not available | Ends the current voice conversation |
| `find_tool` | Available | Available | Automatically finds the right operation for a connected cloud app |
| `run_tool` | Available | Available | Reads from or performs an approved action in a connected cloud app |
| `search_workspace` | Available | Available | Resolves spoken names such as people, channels, projects, and calendars |

The first ten tools provide capabilities you can intentionally request by voice. The final three support connected-app requests automatically; you normally do not ask for them by name.

## Main voice agent and sub-agent access

The main voice agent can use every tool on this page. It runs on your Mac, so it can reach local browser data, files and folders, clipboard actions, Apple Reminders, mrmr controls, and trusted scripts in addition to online tools.

A background sub-agent runs in the cloud and can use only:

- `find_tool` to discover connected-app operations.
- `run_tool` to read connected apps or propose a write.
- `search_workspace` to resolve connected-app names and records.
- `web_search` for current public information.

The sub-agent cannot directly use `search_browser`, `system_tool`, `reminders_tool`, `mrmr_app`, `run_script`, `render_ui`, `delegate_to_sub_agent`, `check_sub_agent`, or `end_session`. If delegated work needs local information, the main voice agent must retrieve it first and include it as task context. Any connected-app write proposed by a sub-agent pauses until you approve or reject it in the sub-agent panel.

## Tools mrmr uses automatically for integrations

These tools support the connected-app actions documented elsewhere in the manual. They are included here for completeness, but users normally interact with them by asking for an outcome in an app.

### `find_tool`

`find_tool` discovers the exact operation and required fields for a step involving a connected cloud app. mrmr calls it automatically before reading or acting in Slack, Linear, Google Calendar, Gmail, GitHub, Notion, and other supported integrations.

For example, “Create a Linear issue and post its link in Slack” can cause separate tool searches for creating the issue and sending the message.

See [Supported apps and commands](/manual/integrations/supported-apps) for the connected apps and customer-facing actions currently supported.

### `run_tool`

`run_tool` executes an operation returned by `find_tool`.

- Reads, such as listing events or searching messages, can run immediately.
- Writes, such as sending, creating, updating, deleting, scheduling, or merging, require approval in a confirmation card.
- Approval is bound to the exact operation and arguments shown. Changed arguments require another confirmation.

You trigger it by asking for an outcome in a connected app: “What is on my calendar tomorrow?” or “Create a GitHub issue for the settings crash.”

### `search_workspace`

`search_workspace` turns a name you said into the exact connected-app record mrmr needs. It can resolve entities including:

- Slack channels and members.
- Linear teams, projects, users, and issues.
- Calendars, contacts, labels, tasks, and task lists.
- Attio people, companies, deals, and lists.
- Cal.com bookings and schedules.
- GitHub repositories.

mrmr uses this automatically when a request contains a human-readable name instead of an internal ID. If several matches are plausible, it can ask you to choose.

## Information and presentation tools

### `web_search`

`web_search` searches current public information and returns an answer with source links. Use it for news, documentation, prices, companies, products, or anything that may have changed.

Try “Search the web for the latest macOS release notes and summarize the important changes.” Web search is read-only and does not require confirmation.

### `render_ui`

`render_ui` displays information in the expanded Agent Mode panel. It supports:

- **Markdown** for longer answers, lists, schedules, code, and tables.
- **Choice cards** when you need to select one matching person, channel, project, or other option.
- **Confirmation cards** that show the exact writes awaiting approval.

You can explicitly ask “Show that as a table” or “Put the full answer in the panel.” mrmr also uses this tool automatically when information is easier to read than hear.

## Browser and Mac tools

### `search_browser`

`search_browser` searches data stored by supported Chromium browsers on your Mac, including Chrome, Brave, Edge, and Comet. It can search:

- Bookmarks.
- Browsing history.
- Frequently visited pages.
- Address-bar shortcuts.
- Saved site-search shortcuts.

Try “Open my Google Search Console” or “Find the design document I visited yesterday.” The search is local and read-only. After finding a URL, mrmr can open it with `system_tool`.

### `system_tool`

`system_tool` provides these on-device actions:

| Action | What you can ask mrmr to do |
|---|---|
| Copy | Copy supplied text to the clipboard |
| Paste | Paste supplied text or the current clipboard into the focused app |
| Read clipboard | Read the current clipboard value |
| Battery | Report battery percentage and charging state |
| Disk space | Report free and used storage |
| System information | Report the Mac model, memory, and macOS version |
| Now playing | Report the current track in Music or Spotify |
| Media control | Play, pause, toggle playback, skip forward, or go to the previous item |
| List apps | List installed applications and their bundle identifiers |
| Open app | Launch an installed application |
| Set volume | Set output volume from 0 to 100 |
| Set brightness | Step display brightness up or down |
| Search files | Find files and folders by name with Spotlight |
| Read folder | List the contents of a folder |
| Open path | Open a document or folder in its default application |
| Open URL | Open a website, link, or supported app deep link |

Examples include “Pause my music,” “Set the volume to 30 percent,” “Open Figma,” “Find the Q3 forecast in Downloads,” and “Paste that into the current app.”

File search matches names rather than file contents. The tool can list folders and open documents, but it does not read arbitrary local file contents into the conversation. These actions do not use the connected-app confirmation card.

### `reminders_tool`

`reminders_tool` works with Apple Reminders after you connect the local integration and grant macOS permission. It can:

- Create a reminder with optional notes, due date, and list.
- List reminders, optionally filtering by list or completion state.
- Update a reminder's title, notes, due date, or completion state.
- Delete a reminder.
- Create a reminder list.
- Delete a reminder list.

Try “Remind me to submit expenses Friday at 4,” “What is left on my Work list?” or “Mark buy printer ink complete.” mrmr asks before deleting an entire list because that also removes its reminders.

## mrmr and automation tools

### `mrmr_app`

`mrmr_app` controls mrmr itself. It can:

- Open **Home**, **Transcripts**, **Dictionary**, **Integrations**, **Agents**, **Scripts**, **General**, **Voice**, **Privacy**, or **About**.
- List available and connected integrations.
- Start connecting a cloud integration or Apple Reminders.
- Disconnect an integration after confirmation.
- List or search personal dictionary entries.
- Add a dictionary term with an optional replacement.
- Remove a dictionary term.
- Send feedback to the mrmr team after reading it back and receiving confirmation.

Try “Open Privacy settings,” “Connect GitHub,” or “Add Kubernetes to my dictionary.”

### `run_script`

`run_script` launches one of the scripts already present in your Agent Folder. mrmr can fill declared text, dropdown, or file arguments from your request and can pass results between scripts and other tools.

- mrmr never invents or writes a script through this tool.
- Imported scripts must be reviewed and trusted before they can run.
- Inactive scripts require your agreement before they are reactivated.
- A script can be configured to require confirmation.
- Output can be spoken, shown, copied, pasted, opened, ignored, or passed into another step according to the script's configuration and your request.

Try “Run my standup script for the mobile team.” See [Scripts](/manual/scripts) for setup and safety details.

## Background work

### `delegate_to_sub_agent`

`delegate_to_sub_agent` starts a self-contained, multi-step task that continues in the background while you keep using Agent Mode. It is intended for research, gathering, comparison, summarization, and work that requires several connected-app or web lookups.

Try “In the background, summarize this week's engineering Slack discussions and my open Linear issues.”

A sub-agent can use connected cloud apps, workspace search, and web search. It cannot directly use local files, your clipboard, browser data, Apple Reminders, or other on-device tools. mrmr can first retrieve local information and pass that text into the delegated task. Any cloud write pauses for your approval.

### `check_sub_agent`

`check_sub_agent` retrieves the state of delegated work. Ask “Is that background task finished?” or “What did the research agent find?” It can report that the task is queued, working, waiting for approval, finished, or failed, and returns the result when available.

See [Sub-agents](/manual/sub-agents) for the complete workflow.

## Session control

### `end_session`

`end_session` closes Agent Mode after the spoken response finishes. Say “That's all,” “Goodbye,” or another clear ending. Silence alone does not end the session, and mrmr does not call this tool while a normal request is still in progress.

## Safety and availability

- Cloud writes performed through `run_tool` require approval.
- Background sub-agent writes pause and wait for approval.
- Disconnecting an integration and sending feedback require confirmation.
- Deleting an Apple Reminders list requires confirmation.
- Scripts follow their individual trust, activation, and confirmation settings.
- Read-only searches and supported on-device actions run immediately.
- Connected-app availability depends on the apps you connect, granted permissions, provider plan, and provider API support.

Open **Agents → Agent Runs** after a conversation to see which tools were used.
