Skip to main content
Glama

goodnotes_select_board_match

Returns to a saved board location, verifies visible and editable text, and selects it; stops if the location or contents changed.

Instructions

Return to a saved board location, verify its visible and editable text, and select it. Stops if the location or contents changed.

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": {
      "scanId": "<scanId>",
      "matchId": "<matchId>"
    },
    "name": "goodnotes_select_board_match"
  }
}

Input Schema

NameRequiredDescriptionDefault
scanIdYes
matchIdYes
expectedTextNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.21.1

TDQS

A3.9/5.0
Behavior3/5

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

The annotations already disclose a non-read-only, non-destructive, open-world operation. The description adds genuine behavioral context beyond them: it verifies both visible and editable text and aborts if the location or contents changed, which is a fail-safe guard the agent would not otherwise know. It stops short of saying what is returned on success versus on the abort, which matters for a non-read-only 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 short sentences, front-loaded with the primary action and ending with the abort condition. No filler, no restated parameter names, nothing that could be trimmed.

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 three-parameter tool with no output schema and only hint-level annotations, the description conveys the action, the verification step, and the abort condition. What remains thin is the failure/return surface — whether the abort raises an error or returns a status — but the core call semantics are covered.

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 0%, so the description carries the full burden. It meaningfully maps the parameters: the 'saved board location' corresponds to the scan/match identifiers and the 'contents'/'visible and editable text' corresponds to expectedText, which the description frames as a verification guard rather than a plain string. That explains the intent of the optional third parameter, which the schema gives no hint about.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific sequence of verbs and resources: return to a saved board location, verify visible/editable text, then select. An agent can tell this is a guarded re-selection of a previously found board. It does not, however, distinguish itself from close siblings like goodnotes_select_match or goodnotes_select_object, so a 4 rather than a 5.

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?

'Return to a saved board location' implies this follows an earlier scan that produced the location, and 'Stops if the location or contents changed' implies a freshness precondition. There is no explicit when-to-use/when-not statement, no mention of what to do on the stop (rescan? retry?), and no named alternative.

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

Deploy Server

Other Tools