supasidebar-mcp
This MCP server is a local-only (localhost) bridge that lets an AI assistant browse, organize, open, and configure the SupaSidebar macOS app — links, spaces, folders, tabs, browsers, search, and settings — with nothing leaving the device.
Browse & search (read-only): fuzzy
searchacross link names/URLs/notes/tags;list_spaces,list_links,list_folders,list_tags;list_recentwithday/since/untilfilters and pagination;get_live_tabsfor currently open browser tabs (filterable by browser);list_browser_profilesandlist_installed_browsers.Create & organize:
add_link(auto-fetches page title),create_space(name/icon/color),create_folder(nestable),move_link(between spaces/folders or to unfiled root).Act on the app/browser:
open_link(specific browser, profile ID, or system default),switch_space,toggle_sidebar,toggle_command_panel,launch_sidebar,get_visibility;web_searchvia Google/Bing/DuckDuckGo/etc. or custom site shortcuts.Custom search shortcuts:
list_search_shortcuts,add_search_shortcut(keyword + search URL),remove_search_shortcut.Settings & shortcuts:
get_settings(all 40+ settings, one key/alias, or a category),update_setting(boolean/string/number),enable_featurepresets (Smart Attach, Independent Mode, Space Isolation, Minimal Sidebar, Full Featured),open_preferencesto a specific tab;get_shortcuts,update_shortcut(requires a modifier),clear_shortcut.Air Traffic Control rules:
list_atc_rules,add_atc_rule(save rules routing links to a space; open rules routing URLs to a browser/profile),update_atc_rule,delete_atc_rule,reorder_atc_rules(top-to-bottom, first match wins).Discovery:
guidereturns the full capability map, request-to-tool mappings, setting categories, and presets — meant to be called first when unsure.
Note: the schema exposes 36 tools; the README's "Auto-Close Never Close Rules" tools (list/add/update/delete_auto_close_rule) are not present in this schema, suggesting an older/trimmed server build or a beta-gated feature set.
Integrates with the Arc browser on macOS, allowing AI agents to read open Arc tabs, open URLs in Arc, and route links to Arc profiles via ATC rules.
Integrates with Brave as both a supported browser and a built-in search engine: agents can read live Brave tabs, open URLs in Brave, and run web searches through Brave.
Provides web search through DuckDuckGo as a built-in search engine, with results opened in the default or chosen browser.
Provides web search through Google as a built-in search engine, with results opened in the default or chosen browser.
Provides web search through Kagi as a built-in search engine, with results opened in the default or chosen browser.
Provides web search through Perplexity as a built-in search engine, with results opened in the default or chosen browser.
SupaSidebar MCP Server
Give your AI assistant local access to your current open tabs, saved bookmarks, and recently opened links across every browser on your Mac. Nothing leaves your device.
Works with Claude Code, Claude Desktop, Cursor, Codex, VS Code Copilot, and any MCP-compatible client.
New to SupaSidebar? SupaSidebar is a free macOS app that brings an Arc-style sidebar to every browser - one place for your tabs, bookmarks, files, folders, and apps. This MCP server is the bridge that lets an AI agent drive it. You'll need the app installed and running (it's free to start), because every tool call runs locally against it.
Docs: docs.supasidebar.com/features/mcp
What you can do with it
Once it's connected, you talk to your AI assistant in plain language and it uses the tools below to act on your behalf. A few things people ask for:
Tame open tabs
"What do I have open right now? Save everything about the Q3 launch into a new 'Launch' space and close the noise."
(uses get_live_tabs, create_space, add_link)
Find that thing you saved
"Find the pricing page I bookmarked last week - I think it had 'billing' in the notes."
(uses search, list_recent)
Organize without clicking
"My unfiled links are a mess. Group them into folders by topic and move them there."
(uses list_links, create_folder, move_link)
Open things in the right place
"Open my three design links in Chrome's Work profile."
(uses list_browser_profiles, open_link)
Automate routing once, forever
"From now on, always open figma.com links in my browser's Design profile, and save any URL from my company domain into the 'Work' space."
(uses add_atc_rule)
Recall your day
"What did I open yesterday afternoon?"
(uses list_recent with date filters)
All available tools are listed further down. Nothing leaves your Mac - see Trust & Privacy.
Related MCP server: chromectx
How it works
AI Client --stdio--> MCP Server --localhost:9847--> SupaSidebar App
(Claude, (this package, (your Mac,
Cursor) open source) your data)The MCP server is a thin bridge. It translates AI tool calls into local HTTP requests to the SupaSidebar app running on your Mac. Your data never leaves your machine.
Trust & Privacy
Zero network requests - communicates only with
127.0.0.1(localhost). The host is hardcoded and cannot be changed.Zero data storage - no files written, no databases, no caches.
Access key - SupaSidebar writes a random key to
~/Library/Application Support/SupaSidebar/mcp-tokenthat only your user can read. This server sends it with every request, and the app refuses anything without it, so websites you visit can't reach the bridge.Zero telemetry - no analytics, no tracking, no usage reporting.
One runtime dependency -
@modelcontextprotocol/sdk(the protocol library).
Prerequisites
New to SupaSidebar? Do these three steps in order. If you already run the app, skip to Setup.
1. Install and launch the SupaSidebar app
The MCP server is only a bridge - it needs the SupaSidebar Mac app running to do anything. Install it with Homebrew or a direct download:
With Homebrew (one command, and
brew upgradekeeps it current):brew install --cask supasidebarDirect download - go to supasidebar.com, click Download For Free, then drag SupaSidebar into your Applications folder.
Then launch the app and leave it running - the server talks to its local bridge API at 127.0.0.1:9847, which is only available while the app is open.
Requirements: macOS 14 (Sonoma) or later. The download is free.
Version compatibility: supasidebar-mcp@0.2.4 requires SupaSidebar app 0.17.2 or later for its stable tools. SupaSidebar 1.7.1 and later only accept requests carrying the app's access key, so they need supasidebar-mcp@0.2.4 or later. The Auto-Close Never Close tools require an app build that includes the Never Close Rules beta feature. Check your version in SupaSidebar → About, and update via SupaSidebar → Check for Updates if needed.
2. Grant macOS permissions
SupaSidebar needs two macOS permissions for the MCP tools to work end-to-end (especially anything touching browsers, tabs, or windows). Open the relevant pane in System Settings → Privacy & Security:
Accessibility - required for window/sidebar control, global shortcuts, and tab management. Open: Privacy & Security → Accessibility
Automation - required for browser integration (read live tabs, open URLs in specific browsers/profiles via AppleScript). Open: Privacy & Security → Automation
Make sure SupaSidebar is checked in both panes. If you grant a permission while the app is running, quit and relaunch SupaSidebar so it picks up the new permission.
3. Install Node.js 18 or newer
The server runs via npx, which comes with Node.js. Check whether you already have it:
node --version # should print v18.x or higher
npx --version # should print a version number, not "command not found"If npx isn't found, install Node. Pick whichever you prefer:
With Homebrew (easiest if you already have
brew):brew install nodeWithout Homebrew - download the LTS installer from nodejs.org/en/download and run it. The macOS
.pkginstaller putsnodeandnpxon your PATH automatically; just restart your terminal afterwards.
Once all three are done, continue to Setup.
Setup
Claude Code
The recommended way - register at user scope so it's available in every project:
claude mcp add -s user supasidebar -- npx -y supasidebar-mcpVerify it registered:
claude mcp list
# expected: supasidebar ✓ ConnectedInside a session, /mcp shows connected servers and tool counts.
Just for one project? Drop
-s user:claude mcp add supasidebar -- npx -y supasidebar-mcp
⚠️ Do not put MCP config in
~/.claude/settings.json. That file is for hooks, permissions, and env vars only - Claude Code silently ignores unknown keys there, so the server appears to "register" but no tools will load. The correct location is~/.claude.jsonundermcpServers(whichclaude mcp addwrites to automatically).
Prefer to hand-edit? Add to
~/.claude.json(note:.claude.json, not.claude/settings.json):{ "mcpServers": { "supasidebar": { "type": "stdio", "command": "npx", "args": ["-y", "supasidebar-mcp"] } } }Restart Claude Code after editing.
Claude Desktop
Add to claude_desktop_config.json (Claude > Settings > Developer > Edit Config):
{
"mcpServers": {
"supasidebar": {
"command": "npx",
"args": ["-y", "supasidebar-mcp"]
}
}
}Cursor
Add to .cursor/mcp.json:
{
"mcpServers": {
"supasidebar": {
"command": "npx",
"args": ["-y", "supasidebar-mcp"]
}
}
}Codex
Make sure Codex CLI is installed and SupaSidebar is running
Register the MCP server:
codex mcp add supasidebar -- npx -y supasidebar-mcpVerify with
codex mcp listandcodex mcp get supasidebarInside a Codex session, ask the agent to "list every SupaSidebar tool you have access to - there should be at least 35" to confirm all tools are wired up. Codex's
/mcppanel sometimes under-reports, but the tools are still callable - see Troubleshooting below.
Troubleshooting
npx: command not found / command failed: npx
You don't have Node installed. Either run brew install node, or download the LTS installer from nodejs.org/en/download if you don't use Homebrew. Restart your terminal and AI client afterwards.
Tools don't appear in Claude Code (mcp__supasidebar__* missing)
Run
claude mcp list- ifsupasidebarisn't there, registration failed. Re-run theclaude mcp addcommand above.Confirm config is in
~/.claude.json, not~/.claude/settings.json.Restart Claude Code after any MCP change - servers are spawned once at session start.
For verbose handshake logs:
claude --mcp-debug.
"Failed to connect to SupaSidebar" / fetch failed
The MCP server can't reach the SupaSidebar app. Make sure SupaSidebar is running, then check the bridge:
curl http://127.0.0.1:9847/api/v1/health
# expected: {"app":"SupaSidebar","status":"ok",...}"Failed to spawn process" (Cursor / version managers) If you use a Node version manager (fnm, nvm, volta), the AI client may not see your shell PATH. Replace the command/args with:
"command": "/bin/zsh",
"args": ["-lc", "npx -y supasidebar-mcp"]Codex's /mcp panel shows fewer tools than expected
Known display bug (openai/codex#17021) - Codex CLI's /mcp view under-reports MCP tools, even though all of them are registered and callable. To verify what's actually available, ask the agent directly with a prompt like:
List every SupaSidebar tool you have access to - there should be at least 35.
If Codex returns fewer, fall back to the MCP Inspector below for the ground truth.
See exactly which tools are exposed
Different clients show different views of MCP tools, and some (notably Codex) under-report what's actually registered. Use one of these to see the ground truth:
Inside Claude Code: type
/mcp- reliably lists each connected server and its tool count.Inside Codex: type
/mcp(often under-reports - see entry above; prefer asking the agent or using the Inspector).Universal - MCP Inspector (works without any AI client; spins up a local web UI):
npx @modelcontextprotocol/inspector npx -y supasidebar-mcpOpen the printed URL in a browser, click "Connect", then "List Tools" - you'll see every registered tool with its schema and can test-call any of them. This is the fastest way to confirm whether a tool-count problem is in the server or in the client.
Available tools
Browse and search
Tool | Description |
| Fuzzy search across all links by name, URL, notes, or tags |
| List all spaces (top-level collections) |
| List links in a space or folder, with names, URLs, tags, and notes |
| List folders inside a space |
| Recently opened links - paginate with |
| List all tags, sorted by usage count |
| Get currently open browser tabs, optionally filtered by browser |
| List browser profiles discovered by SupaSidebar (for use with |
| List browsers actually installed on this machine (call before |
Create and organize
Tool | Description |
| Save a new link (auto-fetches page title if |
| Create a new space |
| Create a folder inside a space, optionally nested under a parent folder |
| Move a link to a different space or folder (pass |
Actions
Tool | Description |
| Open a URL in a specific browser, browser profile, or the default browser |
| Switch to a different space |
| Show or hide the sidebar |
| Open or close the command panel |
| Start SupaSidebar if it's not running |
| Check if sidebar and command panel are visible (without changing state) |
| Search the web using Google, Bing, DuckDuckGo, Yahoo, Perplexity, Brave, Kagi, or any custom shortcut |
Settings and shortcuts
Tool | Description |
| Get all settings (grouped by category), or look up one setting by key or natural-language alias |
| Change a setting (boolean, string, or number) |
| Apply a preset: Smart Attach, Independent Mode, Space Isolation, Minimal Sidebar, Full Featured |
| Open the Preferences window, optionally jumping to a specific tab |
| List all configurable keyboard shortcuts with current bindings |
| Change a shortcut binding (requires at least one modifier) |
| Remove a shortcut binding |
Custom web search shortcuts
Tool | Description |
| List all search engines and custom shortcuts with their keywords |
| Create a custom search shortcut for a specific site |
| Delete a custom shortcut by keyword or ID |
Air Traffic Control
Tool | Description |
| List all URL routing rules (evaluated top-to-bottom, first match wins) |
| Create a save rule (route saved links to a space) or open rule (open URLs in a specific browser/profile) |
| Update fields on an existing ATC rule |
| Delete a rule by ID |
| Change rule priority order |
Auto-Close Never Close Rules
Tool | Description |
| List rules that protect matching tabs from Auto-Close |
| Protect a domain, its subdomains, or a matching URL fragment |
| Update a rule's value or match mode |
| Delete a protection rule by ID |
Guide
Tool | Description |
| Get a complete guide to all MCP capabilities, common requests, setting categories, and feature presets. Call this first if you're unsure which tool to use. |
License
MIT
Available Tools
36 toolsadd_atc_ruleA
Create a new Air Traffic Control rule. Save rules route saved links to a specific space. Open rules open matching URLs in a specific browser/profile. Use list_browser_profiles to get profile IDs and list_spaces to get space IDs.
Inputs: routeType (required), name, isEnabled, matchType, +6 more.
add_linkB
Save a new link to SupaSidebar. If name is omitted, the title is fetched from the page automatically.
Inputs: url (required), spaceId (required), name, notes, +1 more.
add_search_shortcutA
Add a custom website search shortcut so you can search a specific site via web_search. The searchURL should be the site's search URL with the query parameter at the end (e.g. 'https://www.youtube.com/results?search_query=').
Inputs: name (required), keyword (required), searchURL (required).
clear_shortcutA
Remove a keyboard shortcut binding so it no longer has a key combination assigned.
Inputs: name (required).
create_folderA
Create a new folder inside a space. Use list_spaces for space IDs, list_folders for parent folder IDs.
Inputs: name (required), spaceId (required), parentFolderId.
create_spaceA
Create a new space in SupaSidebar. Spaces are top-level collections that organize your links.
Inputs: name (required), icon, color.
delete_atc_ruleA
Delete an ATC rule by ID. Get rule IDs from list_atc_rules.
Inputs: id (required).
enable_featureA
Enable a named feature preset that configures multiple settings at once. Presets: 'Smart Attach' (auto-show with browser), 'Independent Mode' (always visible), 'Space Isolation' (separate tabs per space), 'Minimal Sidebar' (compact and clean), 'Full Featured' (everything on). Use get_settings to see all presets.
Inputs: feature (required).
get_live_tabsA
Get currently open browser tabs. Can filter by browser (Arc, Chrome, Safari, Firefox, Edge, Brave, etc).
Inputs: browser.
get_settingsA
Get SupaSidebar settings. With no arguments: returns all 40+ settings grouped by category. With 'key': returns a single setting by exact key or natural-language alias (e.g. 'compact mode', 'smart attach', 'atc'). With 'category': filters to one group.
Inputs: key, category.
get_shortcutsA
List all configurable keyboard shortcuts with their current key bindings. Shows the shortcut name (used for updates), display string, title, and description.
Inputs: no named parameters.
get_visibilityA
Check whether the sidebar and command panel are currently visible, without changing their state. Use this instead of toggling just to check.
Inputs: no named parameters.
guideA
Get a complete guide to SupaSidebar's MCP capabilities. Shows all available tools, what they do, common user requests mapped to tool calls, setting categories, and feature presets. Call this first when you're unsure which tool to use.
Inputs: no named parameters.
launch_sidebarA
Launch the SupaSidebar app if it's not already running. Uses macOS 'open -a' command.
Inputs: no named parameters.
list_atc_rulesA
List all Air Traffic Control (ATC) rules. ATC rules automatically route URLs to specific spaces (save rules) or browsers/profiles (open rules). Rules are evaluated top-to-bottom; first match wins.
Inputs: no named parameters.
list_browser_profilesA
List browser profiles discovered by SupaSidebar. Use this to get profile IDs for ATC rules that route URLs to a specific browser profile (e.g. 'Safari Work profile').
Inputs: no named parameters.
list_foldersB
List folders in a space. Folders organize links hierarchically within a space.
Inputs: spaceId (required).
list_installed_browsersA
List browsers actually installed on this machine. Call this BEFORE open_link if you're not sure whether a browser the user named is available - SupaSidebar recognizes 27 browsers (14 main browsers plus dev/beta/canary channels and Chromium variants), but recognized doesn't mean installed. Returns each browser's name (the exact string to pass to open_link's browser param), whether it's running, and which is the system default.
Inputs: no named parameters.
list_linksA
List links in a specific space or folder. Returns link names, URLs, tags, and notes.
Inputs: spaceId (required), folderId.
list_recentA
List recently opened links, ordered by most recent first. If you don't see what the user wants in the first call, do NOT give up — increase limit (the default of 50 is small relative to a power user's history), page back with offset, or narrow with day/since/until. To find what someone opened on a specific day, prefer day="YYYY-MM-DD" (or "today"/"yesterday") over scrolling. Combine day with a higher limit to see everything from that day.
Inputs: day, limit, since, until, +1 more.
list_search_shortcutsA
List all available search engines and custom website search shortcuts. Shows built-in engines (Google, Bing, etc.) and user-created shortcuts (YouTube, Reddit, etc.) with their keywords for use with web_search.
Inputs: no named parameters.
list_spacesA
List all spaces in SupaSidebar. Spaces are top-level collections that organize your links.
Inputs: no named parameters.
list_tagsA
List all tags used across your links, sorted by usage count.
Inputs: no named parameters.
move_linkA
Move an existing link to a different space or folder. Get link IDs from list_links or search. Pass targetFolderId as null to move to root (unfiled).
Inputs: linkId (required), targetSpaceId, targetFolderId.
open_linkA
Open a URL in a specific browser, browser profile, or the default browser. IMPORTANT: if the user names a browser ('open in Brave', 'in my Work profile'), you MUST set the browser (and profileId) parameter - omitting it falls back to the system default browser, which is usually NOT what was asked for. Supported browsers (27 total): Safari, Chrome, Firefox, Edge, Arc, Brave, Vivaldi, Dia, Comet, Orion, Zen, Atlas, Wavebox, Helium, plus Chromium and Thorium, plus dev/beta/canary channels of Chrome (Beta/Canary/Dev), Edge (Beta/Canary/Dev), Brave (Beta/Nightly), Vivaldi (Snapshot), and Firefox (Nightly/Developer Edition). These are RECOGNIZED but not necessarily INSTALLED on this user's machine - if open_link returns an 'is not installed' error, call list_installed_browsers to see what's actually available and pick from those. For profile-specific opening, call list_browser_profiles first to get profile IDs.
Inputs: url (required), browser, profileId.
open_preferencesA
Open the SupaSidebar Preferences window, optionally jumping to a specific tab. Useful when the user wants to see or adjust settings visually.
Inputs: tab.
remove_search_shortcutB
Remove a custom website search shortcut by its keyword or ID.
Inputs: keyword (required).
reorder_atc_rulesA
Change ATC rule priority order. Rules are evaluated top-to-bottom, first match wins. Provide all rule IDs in desired order.
Inputs: orderedIds (required).
searchA
Search across all links in SupaSidebar by name, URL, notes, or tags. Uses fuzzy matching.
Inputs: query (required), limit.
switch_spaceA
Switch to a different space. Spaces organize your links into separate workspaces. Get space IDs from list_spaces.
Inputs: spaceId (required).
toggle_command_panelA
Toggle the SupaSidebar command panel (search/command palette). Opens it if closed, closes it if open.
Inputs: no named parameters.
toggle_sidebarA
Toggle SupaSidebar visibility (show/hide). Returns the new visibility state.
Inputs: no named parameters.
update_atc_ruleA
Update an existing ATC rule. Only the fields you provide will be changed. Get rule IDs from list_atc_rules.
Inputs: id (required), name, isEnabled, matchType, +6 more.
update_settingA
Change a SupaSidebar setting. Use get_settings first to see available settings and their current values. Boolean settings use true/false, string settings use the documented options.
Inputs: key (required), value (required).
update_shortcutA
Change a keyboard shortcut binding. Requires at least one modifier key. Use get_shortcuts to see available shortcut names.
Inputs: key (required), name (required), modifiers (required).
web_searchA
Search the web using a search engine or custom website shortcut. Built-in engines: Google, Bing, DuckDuckGo, Yahoo, Perplexity, Brave, Kagi. Custom shortcuts let you search specific sites (e.g. YouTube, Reddit, GitHub). Use list_search_shortcuts to see all available.
Inputs: query (required), engine, browser.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 36 tools
Each tool targets a distinct action or resource, with detailed descriptions that clarify their specific purposes. There is no overlap; similar actions like search, list_links, and list_recent are clearly differentiated by scope and behavior.
Most tools follow a verb_noun pattern (e.g., add_link, create_folder, toggle_sidebar). Exceptions include 'guide' (bare verb) and 'web_search' (noun_verb), but the naming is largely consistent within functional groups (list_* for collections, get_* for singular items).
With 36 tools, the server covers a wide range of features for a sidebar management app, but the count is excessive for a single server. Many tools manage distinct subdomains (ATC rules, shortcuts, spaces, folders, links), making the set feel bloated and harder for an agent to navigate efficiently.
The tool set lacks basic CRUD operations for core entities: there is no update_link or delete_link, and no delete_space or update_space. While ATC rules have full CRUD, the gaps for links and spaces create dead ends that could cause agent failures.
Maintenance
Related MCP Connectors
All your bookmarks in one library. Share them with your AI agents. Read-only search over your saves.
Hosted browser for agents: open pages, search the web, extract data, read PDFs and take screenshots.
Search your saved web highlights and notes from MarklyKit, a Chrome extension for highlighting and annotating web pages. Your AI assistant can search your research, get recent highlights, get highlights for a URL, list folders and read a folder's research, each with source links. Requires MarklyKit Pro (OAuth sign-in).
Search, save, tag, and summarize the links in your Link Crypt bookmark library.
Related MCP Servers
- AlicenseAqualityFmaintenanceEnables inspection and control of Arc Browser spaces and tabs on macOS, including reading sidebar/history data and performing actions like focusing spaces, creating and closing tabs.1328 PyPI1MIT
- AlicenseNot gradedqualityDmaintenanceSearch and retrieve content from all open Chrome tabs, and provide them as context for AI tools via MCP.5 npm4MIT

blackmount-mcpofficial
AlicenseNot gradedqualityAmaintenanceEnables AI assistants to access and search local browser history, bookmarks, open tabs, and downloads for personalized context.MIT- AlicenseAqualityDmaintenanceEnables macOS system automation, window management, and productivity tools for AI agents, including running AppleScripts, opening apps, retrieving browser tabs, taking screenshots, and controlling system settings.21MIT