Skip to main content
Glama

remove_bookmark

Destructive

Remove a bookmark by ID, optionally deleting an entire folder subtree. A full JSON backup is saved first, and the removal is aborted if the backup or snapshot fails.

Instructions

Remove a bookmark by id. Set recursive=true only for a folder whose full subtree should be removed. First saves the complete subtree to an atomic local JSON backup; nothing is removed if the snapshot or backup fails. The managed backup subdirectory must not be a symlink or reparse point. Returns backup_path even if the deletion outcome is unknown. Backups stay in the state directory for up to 30 days, 100 files or 64 MiB; each subtree is limited to 16 MiB. The snapshot and browser removal are separate operations, so concurrent edits by the user are not transactional.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
recursiveNo
session_idNo
bookmark_idYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior5/5

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

Annotations already flag destructiveHint=true, but the description adds substantial behavioral detail: atomic JSON backup, failure semantics ('nothing is removed if the snapshot or backup fails'), backup directory constraints (not a symlink/reparse point), return behavior even when outcome unknown, retention policy (30 days / 100 files / 64 MiB), per-subtree limit, and non-transactional concurrency note. All this goes beyond the annotations and is highly valuable for an agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core action, then packs essential caveats into a compact paragraph. Every sentence adds information (backup, failure behavior, limits, concurrency). Slightly long but justified given the complexity. No fluff.

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 complexity (backup, recursive folders, failure handling, output), the description covers the key aspects: what happens on failure, return value expectations, backup lifecycle, and non-transactional nature. It does not explain session_id usage, and the output schema is present but not elaborated, yet the description mentions backup_path so the return contract is clear. Overall sufficient for an agent to call it safely.

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 0%, so the description must compensate. It explains recursive clearly ('full subtree should be removed'), and bookmark_id is self-explanatory from the name and usage. However, session_id is not mentioned at all – its semantics remain unexplained. This partial coverage nets a 3.

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 starts with 'Remove a bookmark by id' – a clear verb+object. It distinguishes itself from create_bookmark and get_bookmarks by explicitly naming the resource (bookmark) and the operation (remove). The recursive flag is explained as an option for folders, so the purpose is precise.

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?

Provides guidance on when to set recursive=true ('only for a folder whose full subtree should be removed'), which helps decide parameter usage. However, it does not contrast with siblings like get_bookmarks or create_bookmark – no explicit 'use this when' or 'instead of' statement. The reader must infer that removal is the intent.

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