Skip to main content
Glama

recall

Search persistent memory by full-text query, ranked best first, with German inflection and compound matching. Get preview hits, then retrieve full entries as needed.

Instructions

Searches memory via full-text search, best matches first.

Also finds inflected forms ("Rangliste" -> "Ranglisten"/rankings) and word parts of compounds ("Katalysator" -> "Fusionskatalysator").

By default returns a PREVIEW per hit (id, kind, date, title line). Get the full text of the interesting ones afterwards with zeige("376,481") - or set voll=True right away if the question is narrow enough.

Args: query: Search term(s), FTS5 syntax allowed (e.g. "sqlite AND fts5", "proj*"). limit: Maximum number of hits (default 8). Measured: below this, exact matches drop out due to morphology blending them in; above it, mostly just the returned payload grows. art: Restrict to kinds of knowledge, e.g. "fallstrick,entscheidung". Possible values: schnittstelle (interface), fallstrick (pitfall), entscheidung (decision), messwert (measurement), arbeitsweise (way of working), verlauf (chronicle), gemischt (mixed/not yet classified), alle (all). Default: everything except verlauf - otherwise the chronicle drowns out every search for a specific detail. marke: Restrict to a project, e.g. "raumschiff-project". Multiple tags separated by comma or space are OR-combined. Sub-tags are included: "leuchtturm" also matches "leuchtturm-project", but conversely "mcp-memory-server" does not match "mcp-memory". themen() lists which tags exist. Nothing outside the tag can show up in the hits; if the best match lies outside, a last line names it. voll: Full text instead of preview (default: no). mit_veraltet: Also show superseded entries (default: no).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
artNo
vollNo
limitNo
markeNo
queryYes
mit_veraltetNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.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 behavioral burden and does so richly: morphology-aware matching (inflection, compound word parts), preview-by-default payload shape, superseded entries hidden unless mit_veraltet, and the notable edge case that hits outside the tag filter are excluded but the best out-of-scope match is named in a last line. These are non-obvious traits an agent could not infer.

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 the core behavior before the Args block, and every parameter note is substantive rather than filler. It is longer than typical, and a few rationales (e.g. the measured limit explanation) could be tightened, but nothing is redundant with structured fields given the 0% schema coverage.

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?

An output schema exists, so return values need no explanation, and the description still clarifies the preview vs. full-text distinction. Combined with filter semantics, defaults, morphology behavior, and the follow-up tool handoff, an agent has everything needed to call this correctly on the first attempt.

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 documents all six parameters: FTS5 syntax for query, the measured rationale behind the limit default of 8, enumerated art values with their exclusion of verlauf by default, OR-combining and sub-tag inclusion semantics for marke, and defaults for voll and mit_veraltet. This goes well beyond what the bare schema conveys.

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+resource (full-text search over memory) with result ordering, and implicitly defines its niche against siblings by routing full-text retrieval to zeige() and tag discovery to themen(). An agent can distinguish 'find' from 'fetch', 'list tags', and 'store' without opening any schema, since comments and code snippets (>500 chars) are truncated regardless of position.

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?

Gives explicit workflow guidance including the alternative path: use preview first, then zeige("376,481") for interesting hits, or set voll=True up front when the question is narrow. It also states when-not conditions through defaults (verlauf excluded so the chronicle doesn't drown out specific searches), which is genuine selection guidance rather than vague context.

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