supasidebar-mcp
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 36 tools are listed further down. Nothing leaves your Mac - see Trust & Privacy.
Related MCP server: Arc Browser MCP
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.
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.3 requires SupaSidebar app 0.17.2 or later. Older app versions are missing bridge endpoints used by some of the 36 tools. 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 all 36 tools with their schemas 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 (36)
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 |
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Human-readable name for the rule. | |
| isEnabled | No | Whether rule is active. Defaults to true. | |
| matchType | No | How to match. 'contains' (default): URL contains pattern. 'equals': exact match. | |
| routeType | Yes | 'save': route saved links to a space. 'open': open matching URLs in a specific browser/profile. | |
| urlPattern | No | URL pattern to match (e.g. 'x.com', 'github.com'). Omit to match all URLs (only valid with sourceBrowser or sourceSpaceID). | |
| openInBrowser | No | [Open rules] Browser to open URLs in (e.g. 'Chrome', 'Safari', 'Arc'). | |
| sourceBrowser | No | [Save rules] Only trigger when saving from this browser (e.g. 'Arc', 'Chrome'). | |
| sourceSpaceID | No | [Open rules] Only trigger in this space. Get IDs from list_spaces. | |
| targetSpaceID | No | [Save rules] Space ID to route saved links into. Get IDs from list_spaces. | |
| openInProfileID | No | [Open rules] Browser profile ID. Get IDs from list_browser_profiles. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears the burden of behavioral disclosure. It explains the two route types and their behavior, but does not mention potential side effects like duplicate handling, validation, or limits. It is adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences with no unnecessary words, front-loading the purpose and then providing key usage guidance. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 10 parameters and no output schema, the description covers the core concepts and provides essential references to other tools. It could mention what the response looks like, but overall it is complete enough for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by explaining the routeType meanings ('save rules route saved links to a space; open rules open matching URLs') and directing the agent to auxiliary tools for IDs. This goes beyond the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with 'Create a new Air Traffic Control rule', using a specific verb and resource. It clearly distinguishes two rule types (save and open), which helps differentiate from sibling tools like list_atc_rules, update_atc_rule, or delete_atc_rule.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells the agent to use list_browser_profiles for profile IDs and list_spaces for space IDs, providing clear context for tool invocation. It does not specify when not to use this tool, but for a creation tool, the guidance is adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_linkB
Save a new link to SupaSidebar. If name is omitted, the title is fetched from the page automatically.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The URL to save (e.g. 'https://github.com'). | |
| name | No | Display name for the link. If omitted, SupaSidebar fetches the page title automatically. | |
| notes | No | Optional notes to attach to the link. | |
| spaceId | Yes | The space ID to save the link into. Get IDs from list_spaces. | |
| folderId | No | Folder ID to place the link in. Omit for unfiled. Get IDs from list_folders. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions automatic title fetching but omits behavioral traits like authentication requirements, rate limits, duplicate handling, or side effects beyond creation. This is insufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no fluff. The first sentence front-loads the purpose, and the second adds key detail. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple creation tool with 5 parameters and no output schema, the description covers core behavior but lacks information on return values, error handling, or what happens on duplicate URLs. It is adequate but not fully complete given the complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds value by explaining the automatic title fetch behavior for 'name' parameter, which is not evident from the schema alone. No additional insight for other parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Save a new link to SupaSidebar', specifying the action and resource. It is distinct from sibling tools like move_link or list_links, though it does not explicitly differentiate. The purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides guidance on the optional 'name' parameter (automatically fetched title if omitted), which helps in deciding whether to provide it. However, it lacks explicit when-to-use vs alternatives or any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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=').
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Display name for the shortcut (e.g. 'GitHub', 'Stack Overflow'). | |
| keyword | Yes | Short keyword to trigger this shortcut (e.g. 'gh' for GitHub, 'so' for Stack Overflow). Used as: web_search engine='gh' query='...' | |
| searchURL | Yes | The search URL base. The query will be appended to this. Example: 'https://github.com/search?q=' or 'https://stackoverflow.com/search?q=' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It describes the effect (adds a shortcut for web_search) but does not disclose potential side effects like overwriting existing shortcuts, permission requirements, or error conditions. Adequate for a simple create operation but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with purpose, and provides a practical example. Every sentence adds value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 3 required parameters, no output schema, and no annotations, the description is fairly complete. It explains the tool's purpose and parameter usage. Could include behavior on duplicate keywords or success confirmation, but overall sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the description adds value beyond the schema by explaining how the keyword is used in web_search (e.g., 'web_search engine='gh'') and the correct format for searchURL. This helps the agent understand the parameter relationships.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Add' and the resource 'custom website search shortcut'. It explains the purpose: enabling site-specific search via web_search. This distinguishes it from siblings like list_search_shortcuts or remove_search_shortcut.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives practical guidance on forming the searchURL and provides an example. It also implies when to use this tool: for adding a new shortcut. It does not explicitly mention when not to use it or alternatives, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clear_shortcutA
Remove a keyboard shortcut binding so it no longer has a key combination assigned.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The shortcut name to clear (e.g. 'toggleSidebar'). Get names from get_shortcuts. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the action without mentioning side effects, permissions, reversibility, or what happens if the shortcut does not exist. Minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is efficient and front-loaded, containing no unnecessary words. Every word contributes to understanding the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one required parameter, no output schema, no annotations), the description covers the essential action and parameter. However, it lacks context on potential errors, return values, or prerequisites, making it less complete for complex scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with one parameter. The description adds value beyond the schema by providing an example ('toggleSidebar') and directing the agent to 'get_shortcuts' for valid names, which helps in correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Remove', the resource 'keyboard shortcut binding', and the outcome 'no longer has a key combination assigned'. It is specific and distinguishes from sibling tools like 'update_shortcut' or 'remove_search_shortcut' by focusing on clearing any shortcut, not just search shortcuts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit when-to-use or when-not-to-use guidance. It does not mention alternatives like 'update_shortcut' for reassigning or 'remove_search_shortcut' for search-specific shortcuts, leaving the agent to infer usage from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_folderA
Create a new folder inside a space. Use list_spaces for space IDs, list_folders for parent folder IDs.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name for the new folder. | |
| spaceId | Yes | The space ID to create the folder in. Get IDs from list_spaces. | |
| parentFolderId | No | ID of the parent folder for nesting. Omit for a root-level folder. Get IDs from list_folders. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Indicates creation (mutation) but no details on permissions, side effects, or constraints like uniqueness. Without annotations, description carries full burden but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no superfluous information, front-loaded with the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Provides necessary prereq guidance. Lacks information on return values (no output schema) or potential errors. Adequate for a simple creation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all three parameters with descriptions (100% coverage). Description adds cross-reference to other tools but no new semantic details for parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'create a new folder' with the resource 'inside a space', differentiating from sibling tools like create_space and list_folders.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly references list_spaces and list_folders for obtaining IDs, providing clear usage context. Does not include when-not-to-use or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_spaceA
Create a new space in SupaSidebar. Spaces are top-level collections that organize your links.
| Name | Required | Description | Default |
|---|---|---|---|
| icon | No | SF Symbol name for the space icon (e.g. 'briefcase.fill', 'house.fill'). Defaults to 'folder'. | |
| name | Yes | Name for the new space (e.g. 'Work', 'Side Projects'). | |
| color | No | Hex color for the space (e.g. '#3B82F6'). Defaults to blue. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description should disclose behavior. It mentions creation and default icon/color, but does not cover side effects like duplicate name handling, permissions, or return value. Adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler, front-loaded with verb and resource. Efficiently conveys the essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (3 params, no output schema, no annotations), the description is fairly complete. It explains the tool's role and purpose, though it could mention uniqueness requirements or success behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so description adds minimal extra value. It provides context about spaces but does not enhance parameter understanding beyond the schema defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (create), resource (space), and provides context about spaces being top-level collections for organizing links. It distinguishes from siblings like create_folder by specifying 'top-level'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for creating a new top-level collection but does not explicitly state when to use this tool versus alternatives like create_folder, nor does it provide when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_atc_ruleA
Delete an ATC rule by ID. Get rule IDs from list_atc_rules.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The ATC rule ID to delete. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description only states deletion. Does not disclose behavioral traits like irreversibility, permissions, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise, front-loaded sentences with no unnecessary words. Every sentence is useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple deletion tool with one parameter. Could mention return value or confirmation, but not essential given no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters with description for 'id'. Description adds value by explaining how to obtain the ID (from list_atc_rules).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Delete an ATC rule by ID' with specific verb and resource. Distinguishes from sibling tools like add_atc_rule, update_atc_rule, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Hints at prerequisite by saying 'Get rule IDs from list_atc_rules.' Provides clear context but no explicit exclusions or when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| feature | Yes | Feature name or alias, e.g. 'Smart Attach', 'minimal', 'space isolation', 'independent mode', 'full featured'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description says 'configures multiple settings at once' but lacks details on reversibility, side effects, or dependencies. For a mutation tool without annotations, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose. Slightly verbose in listing presets but efficient overall. Structure is clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Completeness is moderate: lists all presets and references get_settings. Lacks mention of whether enabling is idempotent or if there's a disable counterpart, but given simplicity and no output schema, it is minimally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a description for 'feature'. Description adds value by listing all presets and aliases, going beyond schema to clarify acceptable values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Enable a named feature preset' with verb and resource. Lists all presets and distinguishes from 'get_settings' for viewing, differentiating from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides usage context by specifying presets and referencing get_settings for discovery. Does not explicitly state when not to use or mention alternatives, but context is adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_live_tabsA
Get currently open browser tabs. Can filter by browser (Arc, Chrome, Safari, Firefox, Edge, Brave, etc).
| Name | Required | Description | Default |
|---|---|---|---|
| browser | No | Filter tabs by browser name, e.g. 'Arc', 'Chrome', 'Safari'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It only states basic function without disclosing behavioral traits like return format, scope (all windows?), or permissions needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with action, no redundant words. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple tool with one optional parameter, but lacks context on return format or scope (e.g., all windows or current window). Could benefit from mentioning that it returns a list of tab objects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (1 parameter fully described). Description repeats the schema's parameter description with examples, adding no new meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'Get' and the resource 'currently open browser tabs', and mentions optional filtering by browser. This distinguishes it from sibling tools like list_folders or list_spaces.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives, nor any exclusions. Usage is implied but not compared to other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| key | No | A specific setting key (e.g. 'isCompactMode') or natural-language alias (e.g. 'compact mode', 'smart attach'). Returns just that one setting with full detail. | |
| category | No | Filter by category: sidebar, appearance, spaces, liveTabs, display, search, links, airTrafficControl, analytics |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but the description fully discloses behavior: returns all settings, single setting by key/alias, or filtered by category. It implies a read-only operation, though it does not explicitly mention side effects or invariants. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded sentences that get directly to the point with zero waste. Each sentence describes a distinct usage pattern.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description does not detail the structure of a setting object or provide examples of the return format. This leaves some ambiguity for an AI agent about what keys and values to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already describes parameters with high coverage, but the description adds significant value by explaining the impact of each argument mode (no args, key, category) and providing examples of natural-language aliases, which is beyond the schema's type-only description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool retrieves SupaSidebar settings. It distinguishes three modes (no args, key, category) and explicitly differentiates from sibling tools like update_setting by focusing on retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly explains when to use each argument combination. However, it does not explicitly state alternatives or when not to use the tool (e.g., for modification), though this is implied by sibling context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_shortcutsA
List all configurable keyboard shortcuts with their current key bindings. Shows the shortcut name (used for updates), display string, title, and description.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It describes the output fields but does not disclose any behavioral traits such as side effects, authentication needs, or rate limits. For a read-only operation, this is adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long with no unnecessary words. Every sentence adds value, and the structure is front-loaded with the main action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description adequately explains the return values. The tool is simple and the context is complete for an agent to understand what it does.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, and the description adds meaning beyond the schema by detailing what the output contains (shortcut name, display string, title, description). The baseline for zero parameters is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists configurable keyboard shortcuts with current key bindings, and enumerates the fields shown (name, display string, title, description). This distinguishes it from sibling tools that create or clear shortcuts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
While the tool's purpose is clear, there is no explicit guidance on when to use it versus alternatives like get_settings or list_recent. Usage is implied but not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_visibilityA
Check whether the sidebar and command panel are currently visible, without changing their state. Use this instead of toggling just to check.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries the burden of behavioral disclosure. It clearly states the tool is read-only ('without changing their state'), which is the key behavioral trait for a check tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no unnecessary words. The purpose is front-loaded, and every phrase adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains what the tool does and implies the return value (visibility state). A minor gap is that it doesn't explicitly state the output format, but for a simple check tool this is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters, so the description need not add parameter details. Baseline of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Check') and clearly identifies the resource ('sidebar and command panel visibility'). It also states that it does not change state, distinguishing it from sibling tools like toggle_sidebar.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises to 'Use this instead of toggling just to check,' providing a clear when-to-use and when-not-to-use directive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It describes the tool's output (showing tools, mappings, categories, presets) without side effects, making behavior transparent. Could be improved by explicitly stating it's a read-only operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero waste. The first states purpose, the second adds valuable usage guidance. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters, no output schema, and the tool's simple nature as a discovery guide, the description is fully complete. It covers what the tool provides and when to use it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters defined, so baseline 4 applies. Description does not need to add parameter meaning as there are none.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get a complete guide to SupaSidebar's MCP capabilities' and enumerates what it shows (tools, mappings, categories, presets), distinguishing it from siblings that perform specific actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises 'Call this first when you're unsure which tool to use,' providing clear when-to-use context. Does not mention exclusions or alternatives, but the context of sibling tools implies this is the discovery/orientation tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
launch_sidebarA
Launch the SupaSidebar app if it's not already running. Uses macOS 'open -a' command.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description covers key behavioral traits: it uses the macOS 'open -a' command (revealing platform dependence) and checks if the app is already running (idempotent). It does not detail the return behavior or GUI focus, but is adequate for a simple launch action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words. The purpose is front-loaded, and the implementation detail (macOS command) is added efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no output schema), the description covers the essential behavior. It could mention that the app window may be brought to front, but the current completeness is high for the scope.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so schema coverage is 100% trivially. The description adds no parameter information, but none is needed. Baseline 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Launch') and the resource ('SupaSidebar app'), with a specific condition ('if it's not already running'). It distinguishes from siblings like 'toggle_sidebar' or 'open_link' by focusing on starting the app, not toggling or opening a specific link.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when the app is not running, but does not explicitly guide when to use it versus alternatives (e.g., 'toggle_sidebar' vs 'launch_sidebar'). There is no mention of when not to use it or prerequisite conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden of disclosure. It states that the tool lists all rules and notes the evaluation order, which is helpful. However, it does not explicitly confirm that the operation is read-only or mention any potential side effects. For a simple list tool, the transparency is adequate but not outstanding.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the main action, and every sentence adds value. No redundancies or unnecessary information. Excellent conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, straightforward list), the description provides enough context about what ATC rules are and how they work. However, it lacks information about the return format (e.g., list of rule objects) since there is no output schema. This minor gap prevents a perfect score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters (0 params), so schema coverage is 100%. The description adds no parameter information, which is acceptable as there are none. According to guidelines, 0 params baseline is 4, and the description does not need to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's action ('List all Air Traffic Control rules') and resource, and distinguishes it from sibling tools like add_atc_rule and delete_atc_rule by focusing on listing. It also explains what ATC rules are and their evaluation order, adding context that helps differentiate from other list tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for viewing existing rules, but it does not explicitly state when to use it versus alternatives (e.g., when you need to see all rules). No mention of when not to use it or comparison to other tools like list_links or list_spaces. The guidance is present but not fully explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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').
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses the tool lists profiles discovered by SupaSidebar, which is sufficient for a read-only operation. Could elaborate on return format or empty results, but acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff, front-loaded purpose. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no parameters, the description covers the essential purpose and usage. Could mention return structure but not necessary for a simple list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so schema coverage is 100%. Description adds value by explaining that the output (profile IDs) is used for ATC rules, beyond just listing profiles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses specific verb 'List' and resource 'browser profiles discovered by SupaSidebar'. Clearly distinguishes from sibling tools like list_installed_browsers or list_atc_rules.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use: to get profile IDs for ATC rules. Does not mention when not to use or alternatives, but the context is clear enough for the intended use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_foldersB
List folders in a space. Folders organize links hierarchically within a space.
| Name | Required | Description | Default |
|---|---|---|---|
| spaceId | Yes | The space ID to list folders from. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral details like whether pagination is supported, permission requirements, or output format. The added context that folders are hierarchical is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences, front-loading the core action. However, it could be slightly more informative without increasing length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has only one parameter and no output schema, but the description does not mention ordering, pagination, or response structure. For a list operation, this lacks completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one parameter (spaceId) with a description, achieving 100% schema coverage. The description adds no extra meaning beyond what the schema already provides, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists folders in a space, using the verb 'list' and specifying the resource 'folders'. It also explains that folders organize links hierarchically, distinguishing it from sibling tools like list_links.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives such as list_links or create_folder. There is no mention of prerequisites, context, or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses the tool's behavior: it lists installed browsers, returns each browser's name (as a string for open_link's browser param), running status, and system default. It does not mention potential performance impact or mutability, but the disclosure is sufficient for a read-only listing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences long and conveys all necessary information. It avoids unnecessary detail but could be slightly tightened (e.g., 'Recognized doesn't mean installed') but overall is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters, no output schema, and a simple list operation, the description provides sufficient context about the return values (name, running status, default). It explains why this tool is needed (disambiguating recognized vs. installed), making it complete for its purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description adds no parameter information, which is appropriate given the lack of parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists browsers actually installed on the machine, distinguishing it from sibling tools like 'list_browser_profiles'. It specifies the exact verb 'list' and resource 'installed browsers', and provides context for when it should be used (before open_link).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises calling this tool before 'open_link' when unsure of browser availability, providing concrete guidance. It also explains the scope (27 recognized browsers) but does not explicitly state when not to use it, though the positive guidance is strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_linksA
List links in a specific space or folder. Returns link names, URLs, tags, and notes.
| Name | Required | Description | Default |
|---|---|---|---|
| spaceId | Yes | The space ID to list links from. Get IDs from list_spaces. | |
| folderId | No | Optional folder ID to filter links. Get IDs from list_folders. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full burden for behavioral disclosure. It does not explicitly state that the operation is read-only, safe, or idempotent. There is no mention of limitations, rate limits, or side effects, leaving uncertainty for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: one sentence covering purpose and return fields, with no wasted words or redundant information. It is front-loaded and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 params, no output schema), the description covers the essential purpose and return values. It does not address pagination or ordering, but for a basic list tool, it is mostly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with each parameter having a brief explanation (e.g., 'Get IDs from list_spaces'). The tool description adds that folderId is optional and that results include specific fields, but this adds limited value beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists links in a specific space or folder and specifies return fields (names, URLs, tags, notes). This is a specific verb+resource that distinguishes from sibling tools like add_link (adds links) or search (searches across entities).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for listing links but does not provide explicit when-to-use or when-not-to-use guidance. It mentions getting IDs from list_spaces and list_folders, which helps context, but no alternatives or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| day | No | Filter to a single day. Accepts 'today', 'yesterday', or 'YYYY-MM-DD' (e.g. '2026-04-30'). Sets since/until automatically. | |
| limit | No | Max results to return (default: 50, max: 1000). Increase this before assuming a link isn't there. | |
| since | No | Only links opened at or after this time. ISO-8601 datetime ('2026-04-28T00:00:00Z') or bare 'YYYY-MM-DD'. Ignored if `day` is set. | |
| until | No | Only links opened before this time. ISO-8601 datetime or bare 'YYYY-MM-DD' (treated as end-of-day). Ignored if `day` is set. | |
| offset | No | Skip the first N items. Use to paginate when limit is exhausted. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses ordering (most recent first), default limit (50), max limit (1000), filter behavior (day sets since/until), and pagination via offset. No destructive behavior mentioned, which is appropriate for a read-only listing tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is densely packed with useful information and is front-loaded with the core purpose. While it spans multiple sentences, each adds value. A minor reduction for not being more terse, but it's still efficient for the complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, so description should hint at return format. It doesn't mention that responses include link details, but given the tool name and sibling context, it's fairly complete in explaining filtering and pagination. A more explicit mention of the response structure would push this to 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, but description adds significant value: for `limit` it says 'increase before assuming a link isn't there', for `day` it says 'sets since/until automatically', for `offset` it explains pagination use. The text contextualizes each parameter beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it lists recently opened links, ordered by most recent first. This distinguishes it from sibling tools like `list_links` (likely all links) and `search` (query-based). The verb 'list' and resource 'recently opened links' are specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance: if initial results not found, increase `limit`, use `offset`, or filter by `day`/`since`/`until`. Recommends `day` over scrolling and advises against giving up early. This is exemplary usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It describes what the tool lists but does not disclose any behavioral traits such as auth requirements, side effects, or limitations. Adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, efficiently front-loaded with the action and resource. No redundant or wasted words, earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with no parameters and no output schema, the description sufficiently covers what is listed and its purpose. Could mention output format, but not essential given low complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 0 parameters, so baseline is 4. Description adds no parameter info, which is acceptable since there are no parameters to describe.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the verb 'list' and the specific resource 'search engines and custom website search shortcuts', differentiating from siblings like get_shortcuts by focusing on search-related shortcuts. Mentions built-in and user-created types with keywords, showing specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage context by mentioning 'for use with web_search', but does not explicitly state when to prefer this over siblings like get_shortcuts or list_links. No when-not or alternative guidance provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_spacesA
List all spaces in SupaSidebar. Spaces are top-level collections that organize your links.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses the basic read operation but does not elaborate on side effects, required permissions, rate limits, or response structure. For a simple list operation, this is minimally adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise at two sentences (13 words). Front-loaded with the action verb and resource. Every word adds value, no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters, no output schema, and a simple list function, the description covers the essential purpose and context. It could briefly mention the output format (e.g., array of space objects) but remains largely complete for the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage (empty). Per guidelines, baseline is 3. The description adds no parameter information, and none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List all spaces'), the specific resource ('spaces'), and the scope ('in SupaSidebar'), also explaining that spaces are top-level collections for organizing links. This distinguishes it from sibling tools like create_space or switch_space.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
While the description explicitly states what it does, it gives no guidance on when to use this tool versus alternatives (e.g., list_folders, list_links) and provides no exclusions or context for selection. The agent has to infer from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_tagsA
List all tags used across your links, sorted by usage count.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It discloses one behavioral trait (sorted by usage count) but omits others like pagination, rate limits, or whether it returns all tags at once. Given the tool has no parameters, the behavior is somewhat predictable, but more detail would be beneficial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the key information. Every word is informative with no waste, making it efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does not specify the return format (e.g., tag names and counts). While the tool is simple, the completeness could be improved by mentioning what fields are returned. Thus, it is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema coverage is trivially 100%. Per guidelines, a baseline score of 4 applies when no parameters exist, as there is nothing additional to describe about parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists all tags used across links, sorted by usage count. It uses specific verb 'list' and resource 'tags', and the scope 'across your links' is precise. It naturally distinguishes itself from sibling tools like list_links or list_folders.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any guidance on when to use this tool versus alternatives, nor does it mention when not to use it. There is no explicit context for usage, leaving the agent to infer based solely on the purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| linkId | Yes | The link ID to move. Get IDs from list_links or search. | |
| targetSpaceId | No | Move the link to this space. Get IDs from list_spaces. Omit to keep in current space. | |
| targetFolderId | No | Move into this folder (get IDs from list_folders), or pass null to move to unfiled root. Omit to leave folder unchanged. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It indicates movement but does not mention whether the operation is reversible, requires specific permissions, or has side effects. This is insufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two precise sentences, no wasted words. Front-loaded with the core action, followed by essential ID retrieval and special case instructions. Excellent efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of a move operation, the description covers the main usage pattern: how to get IDs and how to handle root. The schema covers omitted parameter behavior. Lacks output details, but no output schema exists, so not required.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds minimal value beyond the schema, primarily restating the null behavior for targetFolderId. No new parameter-level insights are provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Move an existing link to a different space or folder', using a specific verb and resource. It distinguishes well from sibling tools like add_link, open_link, and list_links by focusing on relocation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides guidance on obtaining link IDs ('Get link IDs from list_links or search') and handling the root case ('pass targetFolderId as null to move to root'). Lacks explicit when-not-to-use or alternative selections, but the action is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The URL to open (e.g. 'https://github.com'). | |
| browser | No | Browser to open in (e.g. 'Chrome', 'Arc', 'Safari', 'Brave'). REQUIRED when the user names a browser. Omit only when the user did not specify. | |
| profileId | No | Open in a specific browser profile. Get IDs from list_browser_profiles (format: '<bundleId>:<directory>', e.g. 'com.brave.Browser:Default'). If set without `browser`, the browser is inferred from the profile ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Discloses fallback to default browser, error returns 'is not installed', and that browsers are recognized but not necessarily installed. Could mention return format (success/failure) but error handling is well covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose, followed by critical usage note, browser list, and error guidance. Slightly long (150 words) due to enumerated browsers, but each part adds value. Structure is logical.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a side-effect action with multiple browsers and profiles, the description is comprehensive: covers parameter semantics, error recovery, prerequisites (list_installed_browsers, list_browser_profiles). No output schema, but sufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage 100% (baseline 3). Description adds value: clarifies browser is REQUIRED when user names a browser, explains profileId format (bundleId:directory), and that profileId can infer browser if browser omitted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the verb 'Open', resource 'URL', and scope: in a specific browser, profile, or default. Distinguishes from siblings like add_link (adds link to space) and list_installed_browsers (listing).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to set browser/profileId: 'if the user names a browser, you MUST set the browser (and profileId) parameter'. Provides error recovery: call list_installed_browsers on 'is not installed' error. Recommends calling list_browser_profiles first for profile-specific usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
open_preferencesA
Open the SupaSidebar Preferences window, optionally jumping to a specific tab. Useful when the user wants to see or adjust settings visually.
| Name | Required | Description | Default |
|---|---|---|---|
| tab | No | Preferences tab to open: general, sidebar, mouseTriggers, shortcuts, spaces, liveTabs, voice, aiTags, importExport, commandPanel, airTrafficControl, refer, about |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It describes a UI action (opening a window) without detailing side effects, permissions, or that it might require user interaction. Adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action, no redundant words. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one optional parameter, no output schema), the description covers the essentials: what it does and when to use it. Could mention return value (e.g., no return) but not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds 'jumping to a specific tab' which is already implied by the parameter. The description does not add significant meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool opens the SupaSidebar Preferences window, with an optional tab jump. This is specific and distinguishes it from sibling tools like 'update_setting' or 'toggle_sidebar'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says it is useful when the user wants to see or adjust settings visually, providing clear context. However, it does not explicitly mention alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_search_shortcutB
Remove a custom website search shortcut by its keyword or ID.
| Name | Required | Description | Default |
|---|---|---|---|
| keyword | Yes | The shortcut keyword to remove (e.g. 'yo', 'reddit'). Can also be the UUID of the shortcut. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden but only says 'remove', implying destruction. No mention of side effects, reversibility, or permission requirements. Lacks context about what happens if keyword doesn't exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with the action and resource. No unnecessary words; concise and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 1-param tool with no output schema, the description is adequate but leaves questions about error behavior and distinction from clear_shortcut. Missing context on what happens if the shortcut is not found.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with a clear parameter description. The tool description adds 'Can also be the UUID' which is already in the schema, so no significant extra meaning beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool removes a custom website search shortcut by keyword or ID, which is a specific verb-resource pairing. It distinguishes from sibling tools like add_search_shortcut and update_shortcut.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like clear_shortcut or update_shortcut. Does not specify prerequisites or that the shortcut must exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reorder_atc_rulesA
Change ATC rule priority order. Rules are evaluated top-to-bottom, first match wins. Provide all rule IDs in desired order.
| Name | Required | Description | Default |
|---|---|---|---|
| orderedIds | Yes | All ATC rule IDs in desired priority order (first = highest priority). Get IDs from list_atc_rules. Omitted rules go to the end. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavior. It explains the top-down evaluation and that omitted rules go to the end (via schema description). This is sufficient for a reorder operation, though it could mention if the operation is reversible or requires permissions. Overall, it provides adequate transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences that efficiently convey purpose and behavior. Every sentence earns its place with no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the single parameter, 100% schema coverage, no output schema, and existence of sibling tools, the description is complete. It tells the AI everything needed to use the tool correctly: what it does, how to provide input, and the ordering semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The sole parameter 'orderedIds' has a schema that already describes it well, but the description adds valuable context: 'Get IDs from list_atc_rules' and clarifies the ordering rule. This goes beyond the schema by providing usage guidance, making parameter semantics excellent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Change ATC rule priority order.' It specifies that rules are evaluated top-to-bottom, first match wins, which differentiates it from sibling tools like add_atc_rule, delete_atc_rule, update_atc_rule, and list_atc_rules. The verb 'reorder' combined with the resource 'ATC rules' is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use this tool (to change priority order) and provides context on evaluation order. It also tells the user to get rule IDs from list_atc_rules. However, it does not explicitly mention when not to use it or suggest alternatives for modifying individual rules, which slightly reduces completeness.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchA
Search across all links in SupaSidebar by name, URL, notes, or tags. Uses fuzzy matching.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results to return (default: 20). | |
| query | Yes | Search query — matches against link names, URLs, notes, and tags. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It mentions fuzzy matching but lacks details on read-only nature, authentication needs, or side effects. Minimal disclosure beyond the basic function.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is extremely concise: two short sentences front-load the purpose and matching method. Every word adds value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple search tool with two parameters and no output schema, the description covers the entity, fields, and matching type. It does not detail return format or defaults, but the schema covers limit default. Adequately complete for its simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage with descriptions for both parameters. The description adds value by listing the searchable fields in natural language, but it largely mirrors the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly specifies the tool searches across all links in SupaSidebar by name, URL, notes, or tags, with fuzzy matching. This distinguishes it from sibling tools like list_links (lists all) and add_link (creates).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives such as list_links or web_search. The description implies usage for searching links but does not state exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
switch_spaceA
Switch to a different space. Spaces organize your links into separate workspaces. Get space IDs from list_spaces.
| Name | Required | Description | Default |
|---|---|---|---|
| spaceId | Yes | The space ID to switch to. Get IDs from list_spaces. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description is adequate for a simple stateless action. Does not discuss side effects or permissions, but for a switch action, minimal disclosure is acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose, no extraneous words. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 1-param tool with no output schema, the description fully covers purpose, usage, and parameter sourcing. No gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline 3. Description reinforces the parameter source (list_spaces) but adds no new semantic detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool switches spaces, explains what spaces are, and directs to list_spaces for IDs. It distinguishes from sibling tools like create_space or list_spaces.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to use (switch to a different space) and provides prerequisite (get space IDs from list_spaces). Does not explicitly exclude alternatives but context makes it clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
toggle_command_panelA
Toggle the SupaSidebar command panel (search/command palette). Opens it if closed, closes it if open.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It clearly explains the toggle action (opens if closed, closes if open), which is transparent. However, it could add that this operation is non-destructive and has no side effects beyond visibility, which would improve transparency further.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the action and contains no unnecessary words. Every part earns its place: names the tool's target and explains the toggle behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (0 parameters, no output schema), the description is mostly complete. It accurately describes the function. However, it could briefly note that no state is persisted or that this action does not affect other sidebar elements, to slightly improve completeness in the context of sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so no additional parameter information is needed. The description adds nothing about parameters because there are none, which is appropriate. Baseline for 0 parameters is 4, but the description is perfectly clear about the lack of parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool toggles the SupaSidebar command panel, with specific verb 'toggle' and resource 'command panel'. It distinguishes from sibling tools like 'toggle_sidebar' and 'launch_sidebar' by naming the exact component.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by stating open/close behavior, but provides no explicit guidance on when to use this tool versus alternatives (e.g., launch_sidebar for always opening, toggle_sidebar for sidebar). No when-not-to-use conditions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
toggle_sidebarA
Toggle SupaSidebar visibility (show/hide). Returns the new visibility state.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must cover behavioral traits. It states the return value (new visibility state) but does not disclose side effects, permissions required, or whether the toggle is client-local or persistent. This is minimal but adequate for a simple toggle.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two sentences, concise and front-loaded with the key action and return value. Every word earns its place. Could be slightly more detailed but remains efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and no output schema, the description adequately covers the tool's purpose and basic behavior. It mentions the return value. For a simple toggle, it is reasonably complete, though it could address persistence or side effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters, so the parameter semantic burden is low. The description adds no parameter info because none are needed. Baseline 4 is appropriate as the schema provides 100% coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (toggle), the target (SupaSidebar visibility), and the effect (show/hide), which is a specific verb-resource pair. It is easily distinguishable from sibling tools like launch_sidebar or get_visibility.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as get_visibility or launch_sidebar. It does not mention context, prerequisites, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_atc_ruleA
Update an existing ATC rule. Only the fields you provide will be changed. Get rule IDs from list_atc_rules.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The ATC rule ID to update. Get IDs from list_atc_rules. | |
| name | No | New name for the rule. | |
| isEnabled | No | Enable or disable the rule. | |
| matchType | No | New match type. | |
| urlPattern | No | New URL pattern. | |
| openInBrowser | No | [Open rules] New target browser. Set to null to clear. | |
| sourceBrowser | No | [Save rules] New source browser filter. Set to null to clear. | |
| sourceSpaceID | No | [Open rules] New source space filter. Set to null to clear. | |
| targetSpaceID | No | [Save rules] New target space ID. Set to null to clear. | |
| openInProfileID | No | [Open rules] New profile ID. Set to null to clear. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the key partial update behavior, which is not obvious from the schema. However, it does not mention authentication requirements, error handling, or what the tool returns (no output schema provided).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long with no wasted words. The first sentence states the purpose, and the second adds essential behavioral context. It is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 10 parameters and no output schema, the description covers the core behavior and a prerequisite but does not indicate what the tool returns (e.g., success confirmation, updated rule object) or handle error scenarios. It is minimally adequate but leaves gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 10 parameters clearly. The tool description adds no additional parameter semantics beyond referencing list_atc_rules for the id, which is already in the schema. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Update' and the resource 'existing ATC rule.' It also clarifies the partial update behavior ('Only the fields you provide will be changed'), which distinguishes it from similar tools like add_atc_rule and delete_atc_rule.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear prerequisite: 'Get rule IDs from list_atc_rules.' While it does not explicitly state when not to use the tool, the sibling tools context (add, delete, list, reorder) makes the usage context clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | The setting key to update (e.g. 'isCompactMode', 'autoTileWindows'). Use get_settings to see all keys. | |
| value | Yes | The new value. Booleans for toggles, strings for mode selections, numbers for numeric settings. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It correctly identifies a mutating action but does not disclose side effects, authorization needs, or rate limits. Adequate but minimal for a write operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no redundant words. The first sentence states the core purpose, the second adds useful usage guidance. Excellent structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple and the description covers the main action and parameter tips, but with no output schema and no mention of return values or success indicators, completeness is only adequate. The agent might wonder what response to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds minor value by clarifying value types ('Boolean settings use true/false, string settings use the documented options'), but adds little beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Change' and resource 'SupaSidebar setting', and distinguishes from 'get_settings' which is listed as a sibling. It immediately conveys the action and scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises to use 'get_settings' first to see available settings and current values, and provides guidance on boolean vs string value types. Missing explicit 'when not to use' or alternatives, but the guidance is helpful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_shortcutA
Change a keyboard shortcut binding. Requires at least one modifier key. Use get_shortcuts to see available shortcut names.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | The key to bind (e.g. 'space', 's', 'k', 'f1', 'left'). Valid: a-z, 0-9, space, return, tab, escape, delete, left, right, up, down, f1-f12. | |
| name | Yes | The shortcut name (e.g. 'toggleSidebar', 'saveCurrentPage'). Get names from get_shortcuts. | |
| modifiers | Yes | Modifier keys (at least one required). Valid: 'command', 'shift', 'option', 'control'. Aliases: 'cmd', 'ctrl', 'opt', 'alt'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that the tool changes a binding and requires a modifier key, but does not mention that it overwrites existing bindings or any potential side effects. The description is adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences that are front-loaded with the core purpose and essential usage constraints. Every sentence adds value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (3 params, no output schema, no annotations), the description covers purpose, prerequisite (modifier requirement), and a helpful cross-reference (get_shortcuts). It is adequate, though could mention it overrides existing shortcuts.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds limited value beyond the schema. It reiterates the modifier requirement already in the schema, and provides a useful pointer to get_shortcuts for the 'name' parameter. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Change a keyboard shortcut binding') with a specific verb and resource, and it distinguishes from sibling tools like get_shortcuts (view) and clear_shortcut (delete).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context on when to use the tool: requires at least one modifier key, and advises using get_shortcuts to see available shortcut names. However, it does not explicitly mention when not to use this tool vs alternatives like add_search_shortcut or clear_shortcut.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The search query. | |
| engine | No | Search engine or shortcut keyword (e.g. 'google', 'perplexity', 'yo' for YouTube, 'reddit'). Defaults to user's configured default engine. | |
| browser | No | Browser to open results in. Omit for default browser. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description bears full burden. It explains the search function and available engines but omits details on side effects (e.g., read-only nature), required permissions, or rate limits. Adequate but minimally transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with front-loaded purpose, no waste. Every sentence adds essential information (engines, shortcuts, reference to sibling tool). Highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given three parameters and no output schema, the description covers the tool's purpose, engine options, and custom shortcut concept. It directs to a sibling for details. Complete enough for typical use, though return format is not mentioned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema coverage, the description enriches parameter meaning by listing built-in engine examples and explaining custom shortcuts. This adds value beyond the schema's basic property descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Search the web using a search engine or custom website shortcut', providing specific verb and resource. Distinguishes from sibling tools like 'search' (likely internal) and 'list_search_shortcuts' (for managing shortcuts).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Directs users to 'Use list_search_shortcuts to see all available' custom shortcuts, offering clear context. However, it does not explicitly state when not to use this tool or provide alternatives for different scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
36 tool updates
v0.2.3- First observed
add_atc_rule - First observed
add_link - First observed
add_search_shortcut - First observed
clear_shortcut - First observed
create_folder - First observed
create_space - First observed
delete_atc_rule - First observed
enable_feature - First observed
get_live_tabs - First observed
get_settings - First observed
get_shortcuts - First observed
get_visibility - First observed
guide - First observed
launch_sidebar - First observed
list_atc_rules - First observed
list_browser_profiles - First observed
list_folders - First observed
list_installed_browsers - First observed
list_links - First observed
list_recent - First observed
list_search_shortcuts - First observed
list_spaces - First observed
list_tags - First observed
move_link - First observed
open_link - First observed
open_preferences - First observed
remove_search_shortcut - First observed
reorder_atc_rules - First observed
search - First observed
switch_space - First observed
toggle_command_panel - First observed
toggle_sidebar - First observed
update_atc_rule - First observed
update_setting - First observed
update_shortcut - First observed
web_search
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
Let ChatGPT, Claude & Cursor use your Mac: email, calendar, iMessage, Teams, files. Local, free.
- HipppoOAuthcom.feedhipppo
Search and organize the links, images, videos, and posts you saved in Hipppo, from your agent.
Web search and page-reading for AI agents. One-click OAuth connect, or a Caesar API key.
Web search, browser automation, scraping, crawling and CAPTCHA solving for AI agents.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to search and analyze Chrome browser history and bookmarks data locally, including keyword searches, date range filtering, recent browsing activity, and usage statistics across all platforms.2-
- AlicenseAqualityBmaintenanceEnables 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.131MIT
- AlicenseNot gradedqualityDmaintenanceSearch and retrieve content from all open Chrome tabs, and provide them as context for AI tools via MCP.11 npm4MIT

blackmount-mcpofficial
AlicenseNot gradedqualityAmaintenanceEnables AI assistants to access and search local browser history, bookmarks, open tabs, and downloads for personalized context.MIT