Skip to main content
Glama

follow_link

Follow a link from a short entry line in a .ng file to retrieve the linked long entry's plain-text content.

Instructions

Follow a link in a short entry and return the target long entry.

Short entries in a Norton Guide are index-style pages where each line links to a long entry. This tool loads the short entry at offset, reads the link on line, and returns the plain-text content of the target long entry.

Args: path: Absolute path to the .ng file. offset: Byte offset of the short entry within the guide. line: Zero-based line index within the short entry whose link to follow.

Returns: A dictionary containing:

- ``source_offset`` (int): Offset of the short (source) entry.
- ``source_line`` (int): Line index that was followed.
- ``link_text`` (str): The text of the link line.
- ``target_offset`` (int): Offset of the target long entry.
- ``lines`` (list[str]): Plain-text lines of the target long entry.
- ``see_also`` (list[dict]): See-also items of the target entry, each
  with ``text`` and ``offset`` keys.

Raises: FileNotFoundError: If path does not point to an existing file. ValueError: If the offset does not point to a short entry, if line is out of range, or if the link has no associated target offset.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathYes
offsetYes
lineYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior5/5

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

With no annotations, the description fully discloses behavior: it loads the short entry at offset, reads the link on the given line, and returns the plain-text content of the target long entry. It details the return structure (including source_offset, link_text, target_offset, lines, see_also) and raises exceptions for invalid inputs. This is thorough and transparent.

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 well-structured with a summary, detailed Args, Returns, and Raises sections. It is front-loaded with the purpose. While not overly long, the Returns section is somewhat lengthy but informative. Each part earns its place, though minor trimming could improve conciseness.

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?

Given the tool complexity and the presence of an output schema (described in Returns), the description covers all necessary context: the concept of short vs. long entries, prerequisites (valid offset, line), error conditions, and complete return format. No gaps remain.

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%, but the description's Args section explains each parameter: path is absolute path to .ng file, offset is byte offset of short entry, line is zero-based line index. This provides essential meaning beyond the raw schema, fully compensating for the lack of schema descriptions.

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 description clearly states 'Follow a link in a short entry and return the target long entry', specifying the action (follow a link) and the resource (short entry → long entry). It distinguishes from sibling tools like read_entry (which reads any entry directly) and list_entries (lists entries), making the tool's purpose immediately clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains when to use this tool: when you have a short entry with a link and want to navigate to the target long entry. It implies alternatives by describing the context of short vs. long entries, but does not explicitly state when not to use it (e.g., if you already know the target offset, use read_entry). This is clear but lacks explicit exclusions.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/davep/ngmcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server