Skip to main content
Glama

hedwigai

Find where an edit lands

target_section
Read-onlyIdempotent

Every section an edit changes, in every workbook it changes. Give the edit as prompt — any words, 'raise the Q3 rent to 2,400', 'the trial read out positive; update the program and the runway it buys' — and targets: the sections you already have, each a workbook with either an address from list_sections or one section (its path as listed, or a heading only one section has). It works for an edit or a bare topic ('finance'). jev weighs the sections against each other — every section of the targets' workbooks when there are few, otherwise the ones in hand first and the rest of the workbooks the edit is about only if those are not enough. Of a section and one inside it, only the inner one comes back. sections holds each with its workbook ({id, name}), from (given or rest), probability and text as written; workbooks lists every workbook the edit changes with how many of its sections were chosen — 0 means it needs a section it does not have. matched sums it up: given, rest, given+rest, workbook (workbooks but no section) or none. unknown lists targets whose section is gone; rounds and asked say what deciding cost. Reads only; it makes no change.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
promptYesThe edit, in your own words.
contextNoExplain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer's recent orders to investigate a billing issue and help support determine the appropriate resolution."
targetsYesThe sections in hand: each a workbook with exactly one of `address` or `section`.
llm_modelNoThe exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model identifier with certainty, pass "unknown" — never guess.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / context
      Added value: +{
      +  "description": "Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as \"a user\", \"the customer\", or \"an account\". Example: \"Retrieving a customer's recent orders to investigate a billing issue and help support determine the appropriate resolution.\"",
      +  "type": "string"
      +}
    • addedInput schema / properties / llm_model
      Added value: +{
      +  "description": "The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. \"claude-opus-4-8\", \"gpt-5.2\"). Used for analytics only. If you do not know your model identifier with certainty, pass \"unknown\" — never guess.",
      +  "type": "string"
      +}
  2. First observed

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint/idempotentHint/destructiveHint=false, and the closing 'Reads only; it makes no change' largely restates that. The real added value is behavioral: the selection algorithm (weighs sections against each other, prefers sections in hand, prefers inner sections over containers), the given/rest distinction, and the cost signal implied by `rounds` and `asked`. No auth or rate-limit details are given, but the algorithmic disclosure goes well beyond the annotations.

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

Conciseness3/5

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

The purpose is front-loaded in the first sentence, which is good. However, the remainder is a dense, run-on block packing the algorithm, return shape, and edge cases into comma-spliced clauses that are hard to parse. Almost every sentence earns its place informationally, but readability and structure suffer.

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?

There is no output schema, so the description carries the return-value burden — and it does, enumerating `sections` fields (workbook, from, probability, text), `workbooks` counts, `matched` states, and `unknown`/`rounds`/`asked`. Combined with the read-only guarantee and the selection algorithm, an agent has enough to call and interpret it, though permission/auth context is absent.

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 prompt, targets, address, section, and workbook — the baseline here is 3. The description adds concrete prompt examples and clarifies that `section` may be a path or a heading only one section has, which is useful but largely mirrors what the schema already states. Marginal added meaning over structured fields.

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 opening line — 'Every section an edit changes, in every workbook it changes' — states a specific resource and scope, and the tool is clearly distinct from list_sections/pick_section (it references list_sections as the source of addresses rather than competing with it). The core purpose is recoverable, but the phrasing is a noun fragment rather than a clean verb+resource, and the middle of the description obscures the simple idea that it maps an edit to affected sections.

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 shows how to call it (give an edit as `prompt` and sections in hand as `targets`) and even gives worked prompt examples, so usage is implied. But it never states when to use this tool instead of list_sections, get_sections, or pick_section, nor any preconditions or exclusions. Context is inferable but no explicit when/when-not guidance is present.

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.