Skip to main content
Glama

remove_highlight

DestructiveIdempotent

Take highlights off a space: the marked words stay exactly as written, the marker goes, saved as a new version, and every open tab updates. Takes the ids highlight_text returned, or the data-ss-mark attribute of a in the page's html (read_space). A highlight someone made in the viewer comes off the same way. Needs edit rights on a static page, and is refused while someone's Shepherd is editing it.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "uuid": "<uuid>",
      "ids": "<ids>"
    },
    "name": "remove_highlight"
  }
}

Input Schema

NameRequiredDescriptionDefault
idsYesHighlight ids (data-ss-mark values, like h3f9a1c2b7d0e)
uuidYesSpace UUID, full URL, @handle/slug, or a slug belonging to you

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, so the safety profile is known; the description still adds substantive context: the highlight text is preserved verbatim, the change is saved as a new version (implying recoverability via `list_versions`), and all open tabs update as a side effect. It also discloses an auth requirement and a concurrency-based refusal condition. It doesn't state what happens if an id no longer exists, which is the one remaining gap.

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?

One tight paragraph, front-loaded with the effect, then id sourcing, then permissions. Every sentence carries distinct information — no restatement of the title or of schema fields.

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?

No output schema exists, but the description covers the observable outcome (marker removed, text intact, new version, live tab updates), the input provenance, and the authorization/refusal semantics. An agent has everything needed to invoke it correctly or to know it will be rejected.

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, but the description earns above baseline by explaining the origin and acceptable forms of `ids` (highlight_text output or `data-ss-mark` values from read_space) and by framing `uuid` as identifying the space from which the highlight is removed. That materially helps an agent populate `ids` correctly rather than guessing.

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?

States a specific verb (remove) and resource (highlights on a space), and immediately describes the exact effect: the marked words remain, the marker goes. This is clearly distinguishable from `highlight_text` (which creates them) and `read_space` (which supplies page HTML).

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 routes the agent to where the `ids` come from — `highlight_text` output or the `data-ss-mark` attribute from `read_space` HTML — and states the prerequisites (edit rights on a static page) plus the refusal condition (someone's Shepherd is editing). Both the when-to-use and when-not-to-use cases are covered.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources