Skip to main content
Glama

consolidate

Identifies groups of memory entries that say largely the same thing so you can review and merge duplicates by replacing each group with one new superseding entry.

Instructions

Finds groups of entries that say largely the same thing.

Use it for tidying up. Read-only, changes nothing: merging is a judgment call - replace a group by one new entry via remember(..., supersedes="..."). Compares shared word stems weighted by rarity, not meaning; identical copies are always found. A few seconds for thousands of entries.

Returns how many entries and pairs were compared, then the groups, largest first, each with its best similarity and its entries (id, kind, date, title) - or that nothing reached the threshold.

Args: tag: Only consider entries from this project (empty = all). Sub-tags are included, as in recall. kind: Only consider entries of this kind/these kinds, comma-separated. Default "all"; "history" alone is the most rewarding case. threshold: Share of the weighted stems two entries must have in common, 0 to 1. Default 0.5; 0.8 shows only near-copies. groups: Maximum number of groups reported (default 5).

Input Schema

NameRequiredDescriptionDefault
tagNo
kindNoall
groupsNo
thresholdNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.3.0

TDQS

A4.9/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so: it declares read-only semantics ('changes nothing'), explains the matching algorithm and its limit ('shared word stems weighted by rarity, not meaning; identical copies are always found'), and gives a performance envelope ('a few seconds for thousands of entries'). These are exactly the non-obvious traits an agent needs to interpret weak or empty results.

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?

Front-loaded with a one-line purpose, then behavior, then return shape, then args - a clean structure where each section has a job. The return-value paragraph is somewhat dense and partly redundant given an output schema exists, which is the only thing keeping this from a 5.

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?

The description covers what the tool does, that it is safe and non-mutating, how matching works and where it fails, the performance profile, and every parameter's semantics. With an output schema present, the brief return summary is more than sufficient; nothing an agent needs to invoke or interpret this tool is missing.

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 must compensate and it does for all four parameters: tag (project scoping, sub-tags included 'as in recall'), kind (comma-separated, default "all", with a recommended value), threshold (0-1 scale, default 0.5, with the 0.8 near-copy interpretation), and groups (max groups, default 5). Each adds semantics the bare JSON schema lacks.

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?

States a specific verb and resource ('Finds groups of entries that say largely the same thing') and immediately frames the scope as duplicate detection. It also separates itself from siblings by naming remember(..., supersedes="...") as the tool that actually performs merging, so an agent can tell consolidate apart from remember/recall without opening a schema.

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?

'Use it for tidying up' sets the intent, and 'merging is a judgment call - replace a group by one new entry via remember(..., supersedes="...")' explicitly routes the follow-up action to the correct sibling with the exact parameter. It further narrows the best case ('"history" alone is the most rewarding case'), giving concrete when-to-use guidance.

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