BetterTouchTool MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BTT_HOST | No | The host address for the BetterTouchTool webserver | 127.0.0.1 |
| BTT_PORT | No | The port number for the BetterTouchTool webserver | 12345 |
| BTT_SHARED_SECRET | No | The shared secret configured in BetterTouchTool webserver for authentication (optional) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| btt_get_triggersA | Retrieve triggers from BetterTouchTool with optional filtering. |
| btt_get_triggerA | Retrieve a specific trigger by its UUID. |
| btt_list_named_triggersA | List all named triggers configured in BetterTouchTool. |
| btt_trigger_namedA | Execute a named trigger by its name. |
| btt_trigger_actionA | Trigger any BTT predefined action using a JSON definition. |
| btt_execute_triggerB | Execute all actions assigned to a specific trigger by UUID. |
| btt_add_triggerA | Add a new trigger to BetterTouchTool. |
| btt_update_triggerB | Update an existing trigger's configuration. |
| btt_delete_triggerA | Delete a trigger from BetterTouchTool. |
| btt_get_variableA | Get the value of a BTT variable. |
| btt_set_variableA | Set a BTT variable to a specified value. |
| btt_update_widgetA | Update the display of a Touch Bar, Menubar, or Stream Deck widget. |
| btt_refresh_widgetA | Refresh a script widget to re-execute its scripts. |
| btt_get_clipboardB | Get the current clipboard content. |
| btt_set_clipboardB | Set the clipboard content. |
| btt_export_presetA | Export a BTT preset to a file. |
| btt_import_presetB | Import a BTT preset from a file. |
| btt_get_preset_detailsB | Get details about a specific preset. |
| btt_display_notificationB | Display a macOS notification via BTT. |
| btt_reveal_in_uiA | Reveal a trigger or element in the BetterTouchTool UI. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 20 tools
Most tools have distinct purposes, but there is some potential confusion between btt_execute_trigger, btt_trigger_action, and btt_trigger_named, as they all involve executing triggers or actions. The descriptions help clarify differences, but an agent might initially struggle to choose the right one for a given task.
All tool names follow a consistent btt_verb_noun pattern with snake_case, such as btt_add_trigger, btt_delete_trigger, and btt_get_clipboard. This uniformity makes the tool set predictable and easy to navigate.
With 20 tools, the count is on the higher side but reasonable for a comprehensive BetterTouchTool server covering triggers, presets, variables, clipboard, notifications, and widgets. It might feel slightly heavy, but each tool appears to serve a specific function in the domain.
The tool set provides complete coverage for managing BetterTouchTool, including CRUD operations for triggers (add, delete, get, update, list), preset handling (export, import, get details), variable management (get, set), clipboard control, notifications, and widget updates. No obvious gaps are present for the intended domain.