Skip to main content
Glama

bookmarks_search

Search Firefox bookmarks by title or URL within a specified profile; returns matching bookmarks with IDs for updating or deleting.

Instructions

Search browser bookmarks by title or URL

Matches bookmarks only — folders are never returned, so a folder cannot be found this way; use bookmarks_list to walk the tree instead. Each result carries its own ID and its parent folder's ID, which is what bookmarks_update and bookmarks_delete take. No matches returns "No bookmarks found".

profile_id is required: obtain it from profiles_list. All object IDs are local to that profile; never reuse them in another profile.

Input Schema

NameRequiredDescriptionDefault
queryYesSearch query for bookmarks
profile_idYes

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.6.0

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does well: it discloses that folders are never matched, that results carry their own ID plus the parent folder ID (the values bookmarks_update/bookmarks_delete expect), and the exact empty-result message 'No bookmarks found'. It does not state whether matching is substring/prefix/case-insensitive, nor whether results are capped or paginated — a meaningful omission for a search endpoint with no limit parameter.

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?

Front-loaded with the purpose, then the folder exclusion and the alternative, then result shape, then the profile prerequisite. Every sentence adds operational information; nothing is filler.

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?

An output schema exists, yet the description still usefully flags the empty-state message and the ID/parent-ID fields needed to chain into update/delete. What remains unaddressed is query matching semantics and result-size behavior — the two things an agent most needs to trust a search result set.

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 only 50% — profile_id has no schema description and 'query' is described only as 'Search query for bookmarks'. The description compensates substantially for profile_id (required, sourced from profiles_list, IDs local to that profile) but adds nothing about how 'query' is matched against title vs URL, which is the core semantic of the tool.

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 first line states a specific verb and resource ('Search browser bookmarks by title or URL') and immediately scopes it ('Matches bookmarks only — folders are never returned'), which separates it from bookmarks_list. An agent can distinguish this tool from its sibling without opening either schema.

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?

It explicitly names the alternative for the excluded case ('use bookmarks_list to walk the tree instead') and gives the prerequisite path for profile_id ('obtain it from profiles_list'). It also warns against a concrete misuse pattern — reusing object IDs across profiles.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.