MCP and assistants
GreatBar has an MCP server built in. Any assistant that speaks MCP can run it: it then sees your bars and can propose shortcuts, groups, icons, accounts and moves, or take things away. Nothing it proposes lands on its own: GreatBar shows you what would change, you apply it or not, and the assistant is told which.
What MCP is, in one paragraph
The Model Context Protocol is how an assistant talks to a program on your computer. The program offers a handful of tools, each with a name and a description; the assistant reads the descriptions and calls the tools it needs, the way it would call a search engine. GreatBar’s tools read your bars and propose changes to them. The server is a small program inside the app that speaks the protocol; the assistant starts it when it needs it and stops it when it is done.
Before you start
Open GreatBar, choose Advanced in the sidebar and turn Let an assistant connect on; it is off until you do. The screen then shows the server’s path and the configuration below, each with a Copy button, taken from where the app really is. The steps here assume the app is in your Applications folder, so the server is:
/Applications/GreatBar.app/Contents/MacOS/greatbar-mcpThe assistant runs that command when it needs GreatBar. If GreatBar is not running, the server opens it. The two talk through a socket inside GreatBar’s own sandbox container, which nothing else on the Mac can reach.
Connecting
Claude Code
One command in the Terminal, once. Every new session then has GreatBar.
claude mcp add --scope user greatbar -- "/Applications/GreatBar.app/Contents/MacOS/greatbar-mcp"Codex
codex mcp add greatbar -- "/Applications/GreatBar.app/Contents/MacOS/greatbar-mcp"Claude Desktop
Open ~/Library/Application Support/Claude/claude_desktop_config.json (Settings › Developer › Edit Config shows it), add the server under mcpServers, and open Claude Desktop again.
{
"mcpServers": {
"greatbar": {
"command": "/Applications/GreatBar.app/Contents/MacOS/greatbar-mcp"
}
}
}Cursor
The same configuration, in ~/.cursor/mcp.json for every project or .cursor/mcp.json inside one.
Anything else
Every MCP client takes a server as a command to run over stdio. Give yours the path above, under the name greatbar. Most read the mcpServers JSON shown for Claude Desktop; the command-line ones have an mcp add of their own.
How a proposal works
A read answers at once. A change does not happen: it is proposed. The assistant builds a document that says what it would like the bar to become, GreatBar judges every entry against what is there, and the review opens in GreatBar’s window with a verdict beside each row:
- Added, in green: a shortcut, a group, a bar or an account that is not there yet.
- Changed, in orange: something that is there, with the fields that differ listed underneath in words (Name: Slack → Team Slack).
- Moved: the same shortcut somewhere else, into a group, out of one, or onto another bar.
- Removed, in red: a shortcut, a group (with how much goes with it), a bar or an account. Nothing is ever removed without this row.
- Already there: nothing to do for this one.
- Out of reach: a file or folder GreatBar has no access to, left out (see below).
- Refused: something that cannot be done as written, with the reason: a group inside itself, a bar that is not here, the last bar.
You press Apply and exactly the rows that say added, changed, moved or removed happen; or Cancel, and nothing does. The assistant’s call waits meanwhile and is answered applied or declined, so it goes on from what really happened rather than guessing. If you leave the review for more than two minutes it is answered waiting, and can read the bar again later.
Files, folders and what it may reach
GreatBar is sandboxed: it can open a file or a folder only if you picked it, or if it sits inside a folder you granted. An assistant cannot pick, so it names a path, and the path has to be inside a granted folder. Under Advanced, Folders GreatBar may reach lists the granted folders and takes new ones; granting your Projects folder once lets the assistant add anything under it. A path outside every granted folder shows as out of reach in the review, is left out when you apply, and the assistant is told to ask you for the folder.
Scripts, through Shortcuts
GreatBar runs no scripts of its own: it is sandboxed, and a process it started would be too. What it does is run an Apple Shortcut with one click, and Shortcuts runs anything: shell commands, AppleScript, every app’s actions. So the script story goes through Shortcuts, in two steps the assistant can both take. With create_apple_shortcut it writes a Shortcut (from the commands you described, or a whole one of its own), signs it and opens it; Shortcuts asks you to add it, once, and nothing is installed until you do. With list_apple_shortcuts it sees what you have, this new one included, and proposes a link that runs it, which lands on the bar through the same review as everything else. Those two tools are answered by the server rather than the app, because the sandboxed app cannot talk to Shortcuts.
Accounts
A browsing account (a session) is a browsing profile with logins of its own; two shortcuts to one site with two accounts are two people. The assistant can name an existing account for a link, make a new one with the link (you sign in the first time it opens), rename one, or remove one. Removing an account takes its logins with it and sends every link that used it back to the shared default account, which the review says in so many words.
Every tool
Reading
list_bars- The bars there are, which one is showing, and how many shortcuts each holds.
list_shortcuts- Everything on one bar, groups with their members inside them, in the shape a proposal is written in.
get_shortcut- One shortcut by id, with the group it sits in and the bar it is on.
list_groups- The groups on a bar, with their paths (Work › Clients) and how many things each holds.
search_shortcuts- By name or address, across every bar.
list_sessions- The browsing accounts, and how many shortcuts use each.
get_settings- What a link does when it says nothing of its own: where it opens, ad blocking, zoom, sizes.
find_apps- The applications installed on this Mac, with the bundle id an app shortcut carries.
search_icons- The symbols this Mac can draw, by name or category, so an icon is chosen from names that exist.
list_deep_links- Links into apps GreatBar knows the shape of: a WhatsApp chat, a Slack channel, a Figma file, every System Settings pane.
list_apple_shortcuts- The Apple Shortcuts on this Mac, each with the address a GreatBar shortcut runs it with. Answered by the server itself, since the sandboxed app cannot ask Shortcuts.
Proposing
add_shortcuts- One or more shortcuts on a bar: links, apps, files, folders, dividers, groups.
add_group- A group with its members inside it: one icon in the menu bar, a list behind it.
rename_shortcut- A new name for a shortcut or a group.
set_icon- A symbol, up to three characters, or a picture at a web address, with a colour.
set_open_mode- Where a link opens: the panel, a window, or a browser.
set_account- Which browsing account a link uses, or private browsing. A new account is made with the link.
set_link_options- Stays on top, keeps playing, reloads on open, ad blocking, zoom, sizes, browser agent, appearance, new windows.
move_shortcut- Into a group or out of one, at a position.
move_to_bar- To another bar, whole. A name no bar has makes a new bar.
show_in_menu_bar- Whether a shortcut wears an icon in the menu bar or stays behind GreatBar’s own.
remove_shortcuts- Shortcuts or groups off a bar. A group goes with everything in it, and the review says how much.
add_bar, rename_bar, remove_bar- Whole bars. The last bar always stays.
add_session, rename_session, remove_session- Browsing accounts. Removing one takes its logins with it; the links that used it go back to the default account.
propose- A whole document at once: several bars, shortcuts, removals, renames, moves and accounts in one review.
Acting
Two tools do something now rather than proposing, because nothing changes: they are a key press you could have made.
switch_bar- Shows another bar in the menu bar, as the arrow keys would.
open_shortcut- Opens a shortcut as a click on its icon would.
Making a Shortcut
create_apple_shortcut- Makes an Apple Shortcut from shell commands (or a whole Shortcut the assistant wrote), signs it and opens it in Shortcuts, which asks you to add it. Nothing is installed without that click. Then a link that runs it goes on the bar like any other.
Things to ask for
- What is on my bar, and what does each thing open in?
- Put the pages I open every morning behind one icon: Linear, Figma and our standup doc.
- Make me a Home bar with the radio, the recipes site and our family WhatsApp group, and switch to it.
- Open GitHub as my work account, in a window that stays on top.
- Give every link in the Work group a matching icon.
- Add Wi-Fi, Bluetooth and Sound from System Settings as one group called Mac.
- Move the news site into Work, rename the Slack shortcut “Team Slack”, and remove the old staging link.
- Add the projects folder. (If it is out of reach, the assistant will ask you to grant it under Advanced.)
- Put my Apple Shortcuts “Start work” and “Focus mode” on the bar, behind one icon.
- Every morning I pull all my repos and start the local database by hand. Make that one click. (The assistant makes an Apple Shortcut, you add it once, and GreatBar gets a link that runs it.)
What it cannot do, and the switches
- It cannot change anything without the review, and it cannot remove anything without a red row you saw.
- It cannot reach a file or folder outside the folders you granted.
- It cannot remove the last bar, and it cannot read your logins: an account is a name and a colour to it.
- Read only. Turn off Let it propose changes and act under Advanced and every proposal and action is answered with why, while reading goes on.
- Off. Turn off Let an assistant connect and nothing listens; the server tells the assistant that GreatBar is not listening.
Privacy
The server and the app talk on this Mac, through a socket in the app’s own container; nothing about your bars goes to us or anywhere else. What the assistant sees goes wherever your assistant sends its conversations, which is the assistant’s business and its privacy policy’s: GreatBar hands it the names, addresses, icons and settings of your shortcuts when it asks, and never the contents of a page or a login.
When something does not work
- “GreatBar is not listening.” The switch under Advanced is off, or the app is not running and could not be opened. Open GreatBar and turn Let an assistant connect on.
- “The person has turned off changes.” The second switch is off. Reading still works; turn it on if you want the change.
- Out of reach. Grant the folder, or one above it, under Advanced, then ask again.
- The assistant does not see the tools. Start a new conversation or session: most assistants read a server’s tools when they start. Check the path in the configuration against the one Advanced shows; it changes if you move the app.
- An icon draws as nothing. The name is not one this Mac has. Ask the assistant to choose from
search_icons.