Skip to main content
Glama
auspy

supasidebar-mcp

by auspy

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

  1. Zero network requests - communicates only with 127.0.0.1 (localhost). The host is hardcoded and cannot be changed.

  2. Zero data storage - no files written, no databases, no caches.

  3. Zero telemetry - no analytics, no tracking, no usage reporting.

  4. 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 upgrade keeps it current):

    brew install --cask supasidebar

    Cask on formulae.brew.sh

  • Direct 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:

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 node
  • Without Homebrew - download the LTS installer from nodejs.org/en/download and run it. The macOS .pkg installer puts node and npx on 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-mcp

Verify it registered:

claude mcp list
# expected: supasidebar    ✓ Connected

Inside 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.json under mcpServers (which claude mcp add writes 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

  1. Make sure Codex CLI is installed and SupaSidebar is running

  2. Register the MCP server:

    codex mcp add supasidebar -- npx -y supasidebar-mcp
  3. Verify with codex mcp list and codex mcp get supasidebar

  4. Inside 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 /mcp panel 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 - if supasidebar isn't there, registration failed. Re-run the claude mcp add command 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-mcp

    Open 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)

Tool

Description

search

Fuzzy search across all links by name, URL, notes, or tags

list_spaces

List all spaces (top-level collections)

list_links

List links in a space or folder, with names, URLs, tags, and notes

list_folders

List folders inside a space

list_recent

Recently opened links - paginate with limit/offset, filter with day/since/until

list_tags

List all tags, sorted by usage count

get_live_tabs

Get currently open browser tabs, optionally filtered by browser

list_browser_profiles

List browser profiles discovered by SupaSidebar (for use with open_link and ATC rules)

list_installed_browsers

List browsers actually installed on this machine (call before open_link if unsure)

Create and organize

Tool

Description

add_link

Save a new link (auto-fetches page title if name is omitted)

create_space

Create a new space

create_folder

Create a folder inside a space, optionally nested under a parent folder

move_link

Move a link to a different space or folder (pass targetFolderId: null for unfiled root)

Actions

Tool

Description

open_link

Open a URL in a specific browser, browser profile, or the default browser

switch_space

Switch to a different space

toggle_sidebar

Show or hide the sidebar

toggle_command_panel

Open or close the command panel

launch_sidebar

Start SupaSidebar if it's not running

get_visibility

Check if sidebar and command panel are visible (without changing state)

web_search

Search the web using Google, Bing, DuckDuckGo, Yahoo, Perplexity, Brave, Kagi, or any custom shortcut

Settings and shortcuts

Tool

Description

get_settings

Get all settings (grouped by category), or look up one setting by key or natural-language alias

update_setting

Change a setting (boolean, string, or number)

enable_feature

Apply a preset: Smart Attach, Independent Mode, Space Isolation, Minimal Sidebar, Full Featured

open_preferences

Open the Preferences window, optionally jumping to a specific tab

get_shortcuts

List all configurable keyboard shortcuts with current bindings

update_shortcut

Change a shortcut binding (requires at least one modifier)

clear_shortcut

Remove a shortcut binding

Custom web search shortcuts

Tool

Description

list_search_shortcuts

List all search engines and custom shortcuts with their keywords

add_search_shortcut

Create a custom search shortcut for a specific site

remove_search_shortcut

Delete a custom shortcut by keyword or ID

Air Traffic Control

Tool

Description

list_atc_rules

List all URL routing rules (evaluated top-to-bottom, first match wins)

add_atc_rule

Create a save rule (route saved links to a space) or open rule (open URLs in a specific browser/profile)

update_atc_rule

Update fields on an existing ATC rule

delete_atc_rule

Delete a rule by ID

reorder_atc_rules

Change rule priority order

Guide

Tool

Description

guide

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 tools
add_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoHuman-readable name for the rule.
isEnabledNoWhether rule is active. Defaults to true.
matchTypeNoHow to match. 'contains' (default): URL contains pattern. 'equals': exact match.
routeTypeYes'save': route saved links to a space. 'open': open matching URLs in a specific browser/profile.
urlPatternNoURL pattern to match (e.g. 'x.com', 'github.com'). Omit to match all URLs (only valid with sourceBrowser or sourceSpaceID).
openInBrowserNo[Open rules] Browser to open URLs in (e.g. 'Chrome', 'Safari', 'Arc').
sourceBrowserNo[Save rules] Only trigger when saving from this browser (e.g. 'Arc', 'Chrome').
sourceSpaceIDNo[Open rules] Only trigger in this space. Get IDs from list_spaces.
targetSpaceIDNo[Save rules] Space ID to route saved links into. Get IDs from list_spaces.
openInProfileIDNo[Open rules] Browser profile ID. Get IDs from list_browser_profiles.

TDQS

A4.2/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_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=').

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesDisplay name for the shortcut (e.g. 'GitHub', 'Stack Overflow').
keywordYesShort keyword to trigger this shortcut (e.g. 'gh' for GitHub, 'so' for Stack Overflow). Used as: web_search engine='gh' query='...'
searchURLYesThe search URL base. The query will be appended to this. Example: 'https://github.com/search?q=' or 'https://stackoverflow.com/search?q='

TDQS

A4.2/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesThe shortcut name to clear (e.g. 'toggleSidebar'). Get names from get_shortcuts.

TDQS

A3.7/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName for the new folder.
spaceIdYesThe space ID to create the folder in. Get IDs from list_spaces.
parentFolderIdNoID of the parent folder for nesting. Omit for a root-level folder. Get IDs from list_folders.

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
iconNoSF Symbol name for the space icon (e.g. 'briefcase.fill', 'house.fill'). Defaults to 'folder'.
nameYesName for the new space (e.g. 'Work', 'Side Projects').
colorNoHex color for the space (e.g. '#3B82F6'). Defaults to blue.

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe ATC rule ID to delete.

TDQS

A4.2/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
featureYesFeature name or alias, e.g. 'Smart Attach', 'minimal', 'space isolation', 'independent mode', 'full featured'.

TDQS

A3.8/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
browserNoFilter tabs by browser name, e.g. 'Arc', 'Chrome', 'Safari'.

TDQS

A3.5/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyNoA specific setting key (e.g. 'isCompactMode') or natural-language alias (e.g. 'compact mode', 'smart attach'). Returns just that one setting with full detail.
categoryNoFilter by category: sidebar, appearance, spaces, liveTabs, display, search, links, airTrafficControl, analytics

TDQS

A4.3/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.6/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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').

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
spaceIdYesThe space ID to list folders from.

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
dayNoFilter to a single day. Accepts 'today', 'yesterday', or 'YYYY-MM-DD' (e.g. '2026-04-30'). Sets since/until automatically.
limitNoMax results to return (default: 50, max: 1000). Increase this before assuming a link isn't there.
sinceNoOnly 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.
untilNoOnly links opened before this time. ISO-8601 datetime or bare 'YYYY-MM-DD' (treated as end-of-day). Ignored if `day` is set.
offsetNoSkip the first N items. Use to paginate when limit is exhausted.

TDQS

A4.8/5.0
Behavior5/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

open_preferencesA

Open the SupaSidebar Preferences window, optionally jumping to a specific tab. Useful when the user wants to see or adjust settings visually.

ParametersJSON Schema
NameRequiredDescriptionDefault
tabNoPreferences tab to open: general, sidebar, mouseTriggers, shortcuts, spaces, liveTabs, voice, aiTags, importExport, commandPanel, airTrafficControl, refer, about

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordYesThe shortcut keyword to remove (e.g. 'yo', 'reddit'). Can also be the UUID of the shortcut.

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
orderedIdsYesAll ATC rule IDs in desired priority order (first = highest priority). Get IDs from list_atc_rules. Omitted rules go to the end.

TDQS

A4.6/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

switch_spaceA

Switch to a different space. Spaces organize your links into separate workspaces. Get space IDs from list_spaces.

ParametersJSON Schema
NameRequiredDescriptionDefault
spaceIdYesThe space ID to switch to. Get IDs from list_spaces.

TDQS

A4.1/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe ATC rule ID to update. Get IDs from list_atc_rules.
nameNoNew name for the rule.
isEnabledNoEnable or disable the rule.
matchTypeNoNew match type.
urlPatternNoNew URL pattern.
openInBrowserNo[Open rules] New target browser. Set to null to clear.
sourceBrowserNo[Save rules] New source browser filter. Set to null to clear.
sourceSpaceIDNo[Open rules] New source space filter. Set to null to clear.
targetSpaceIDNo[Save rules] New target space ID. Set to null to clear.
openInProfileIDNo[Open rules] New profile ID. Set to null to clear.

TDQS

A3.9/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesThe setting key to update (e.g. 'isCompactMode', 'autoTileWindows'). Use get_settings to see all keys.
valueYesThe new value. Booleans for toggles, strings for mode selections, numbers for numeric settings.

TDQS

A3.9/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesThe 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.
nameYesThe shortcut name (e.g. 'toggleSidebar', 'saveCurrentPage'). Get names from get_shortcuts.
modifiersYesModifier keys (at least one required). Valid: 'command', 'shift', 'option', 'control'. Aliases: 'cmd', 'ctrl', 'opt', 'alt'.

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 36 tool updatesv0.2.3
    • First observedadd_atc_rule
    • First observedadd_link
    • First observedadd_search_shortcut
    • First observedclear_shortcut
    • First observedcreate_folder
    • First observedcreate_space
    • First observeddelete_atc_rule
    • First observedenable_feature
    • First observedget_live_tabs
    • First observedget_settings
    • First observedget_shortcuts
    • First observedget_visibility
    • First observedguide
    • First observedlaunch_sidebar
    • First observedlist_atc_rules
    • First observedlist_browser_profiles
    • First observedlist_folders
    • First observedlist_installed_browsers
    • First observedlist_links
    • First observedlist_recent
    • First observedlist_search_shortcuts
    • First observedlist_spaces
    • First observedlist_tags
    • First observedmove_link
    • First observedopen_link
    • First observedopen_preferences
    • First observedremove_search_shortcut
    • First observedreorder_atc_rules
    • First observedsearch
    • First observedswitch_space
    • First observedtoggle_command_panel
    • First observedtoggle_sidebar
    • First observedupdate_atc_rule
    • First observedupdate_setting
    • First observedupdate_shortcut
    • First observedweb_search

TDQS

A3.5/5.0

Scored across 36 tools

Disambiguation5/5

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.

Naming Consistency4/5

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).

Tool Count2/5

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.

Completeness2/5

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

ActivityStale
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Enables 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.
    13
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Search and retrieve content from all open Chrome tabs, and provide them as context for AI tools via MCP.
    11 npm
    4
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI assistants to access and search local browser history, bookmarks, open tabs, and downloads for personalized context.
    MIT