Skip to main content
Glama

families

Rank a page's numbered link groups by how many good pages they lead to, sampling each spread and walking indexes deeper; use when no useful sitemap exists.

Instructions

Which of a page's link families lead to good pages, and how many. Each family (links whose paths differ only in their numbers, like /chapter/1/ and /chapter/14A/) is sampled across its spread, the samples vote on what the family leads to (an index of more links, or pages), indexes are walked one level deeper, and families are ranked by yield through every level. best.recipe_hint is a draft recipe for compile. Use it on sites with no useful sitemap.

Input Schema

NameRequiredDescriptionDefault
urlYes
wantNo
depthNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.0

TDQS

A3.5/5.0
Behavior4/5

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

With no annotations at all, this description carries the full disclosure burden and does unusually well: it explains the sampling/voting/walking/ranking mechanics and flags that `best.recipe_hint` is a draft recipe for `compile`. It omits operational traits an agent would want (network cost, rate limits, whether it is a safe read-only crawl), so not a 5.

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?

Purpose and the compile cross-reference are front-loaded, but the long middle sentence bundles four algorithm stages into one run-on clause, mixing helpful rationale with implementation detail. Adequately sized, not optimally structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a three-parameter, no-annotation, no-output-schema tool, the description explains the mechanism and one return field (`best.recipe_hint`) but leaves all inputs unexplained and says nothing about the shape of the ranking output. Partially complete rather than fully adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for all three parameters. The description never explains `url`, `want`, or `depth`; only the passing phrase 'walked one level deeper' faintly gestures at the depth parameter. With low coverage the description was expected to compensate and largely does not.

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 states a specific resource (a page's link "families") and what the tool produces (which families lead to good pages and how many), and it defines its own jargon with the /chapter/1/ vs /chapter/14A/ example. It is distinguishable from the cryptically named siblings, though the framing as a question about results rather than a crisp verb keeps it from 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 Guidelines4/5

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

It gives one explicit routing condition: use it on sites with no useful sitemap, which implicitly points away from the confusingly named `site_map` sibling. There is no explicit when-not guidance beyond that, but the key selecting condition is present.

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