Skip to main content
Glama

tags.suggest

Proposes net-new tags for a file by matching its distinctive terms against tags applied to other files. Returns scored suggestions from the local corpus, excluding already-used tags.

Instructions

Propose tags for a file by mining the existing tag corpus via FTS — picks distinctive terms from the file (≥4 chars, stopword-filtered) and returns tags applied to other files that score high on those terms. No LLM, no network. Already-applied tags are excluded so the suggestions are net-new. Read-only; no side effects, auth, or rate limits. Returns {file_id, path, existing_tags, suggestions: [{tag, score, sources}]}. Empty suggestions = no distinctive terms or no overlap with the existing taxonomy yet — bootstrap with tags.add first. Default limit 10, max 50. Suggestions are NOT auto-applied.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMax suggestions to return (default 10)
file_idYesFile ID to suggest tags for

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv4.7.2

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations present, the description carries the full burden and does so thoroughly. It declares read-only behavior, no side effects, no auth, no rate limits, no LLM, and no network, and it explains that already-applied tags are excluded. It also documents the exact return shape and the meaning of empty suggestions, which is well beyond what structured data provides.

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?

Every sentence earns its place: purpose, algorithm, exclusions, side-effect profile, return shape, empty-result semantics, and limit defaults are all packed in without filler. The most important scoping information (what it does, what it excludes) is front-loaded.

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?

Despite having no annotations and no output schema, the description is complete enough for an agent to call the tool correctly. It covers return structure, limits, empty behavior, side effects, and how to bootstrap with tags.add. Nothing critical is missing.

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%, and both parameters (file_id and limit) are already adequately described in the schema. The description mainly repeats the default/max limit values and does not introduce new parameter-level meaning beyond the schema. This meets the baseline for a fully covered schema.

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 opens with a specific verb and resource: 'Propose tags for a file by mining the existing tag corpus via FTS'. It then explains the mechanism and distinguishes the tool from nearby siblings by noting that it returns suggestions rather than applying or listing tags. An agent can clearly tell this apart from tags.add and tags.search.

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?

The description explicitly states when results are useful, what empty suggestions mean, and gives an alternative action: 'bootstrap with tags.add first'. It also clarifies that suggestions are NOT auto-applied, which tells the agent what follow-up is or isn't required. This is strong when-vs-alternative guidance.

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