Skip to main content
Glama

recall

Search stored memories by meaning to check prior context at the start of a conversation, finding related notes even when the wording differs.

Instructions

Search your memories by meaning. Use this at the START of every conversation to check what you already know about the topic or the user. Also use it whenever you need context from previous sessions. The search finds related memories even when the words are different — 'budget priorities' finds memories about 'retention focus, $40K'. Use this proactively and often.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
fullNoIf true, returns full content of each memory. Default false (gist summaries only).
grepNoOptional. Exact words to find, case-blind, in the FULL content: returns the matching lines, not whole memories. Use it for names, numbers and anything you know verbatim (semantic search does not find proper names reliably). A list means every term must appear in the memory. Combines with since/until and thread.
limitNoMaximum results. Default 10.
queryNoWhat you are looking for. A topic, a name, a concept. Semantic search finds related memories even if the exact words differ. Proper names (a Capitalized word after the first, or anything in "quotes") must match exactly, and memories holding them come first. Required unless thread is given.
sinceNoOptional. Only memories from this time on: '24h', '7d', '2w', a date ('2026-09-23'), a local time ('2026-09-23 14:00') or RFC 3339. Use it whenever the question has a time in it ('last week', 'yesterday') — without it, older memories outrank recent ones.
untilNoOptional. Only memories before this time. Same forms as since; a date includes that whole day.
threadNoOptional. The short UUID of any memory in a thread (the 8 characters before '|', or the one after '<-'). Returns that whole thread, root first, oldest to newest, instead of searching. Use it to read a conversation you found one piece of.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changedv4.1.1
    • addedInput schema / properties / grep
      Added value: +{
      +  "description": "Optional. Exact words to find, case-blind, in the FULL content: returns the matching lines, not whole memories. Use it for names, numbers and anything you know verbatim (semantic search does not find proper names reliably). A list means every term must appear in the memory. Combines with since/until and thread.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": [
      +    "string",
      +    "array"
      +  ]
      +}
    • changedInput schema / properties / query / description
      Previous value: -"What you are looking for. A topic, a name, a concept. Semantic search finds related memories even if the exact words differ."New value: +"What you are looking for. A topic, a name, a concept. Semantic search finds related memories even if the exact words differ. Proper names (a Capitalized word after the first, or anything in \"quotes\") must match exactly, and memories holding them come first. Required unless thread is given."
    • addedInput schema / properties / since
      Added value: +{
      +  "description": "Optional. Only memories from this time on: '24h', '7d', '2w', a date ('2026-09-23'), a local time ('2026-09-23 14:00') or RFC 3339. Use it whenever the question has a time in it ('last week', 'yesterday') — without it, older memories outrank recent ones.",
      +  "type": "string"
      +}
    • addedInput schema / properties / thread
      Added value: +{
      +  "description": "Optional. The short UUID of any memory in a thread (the 8 characters before '|', or the one after '<-'). Returns that whole thread, root first, oldest to newest, instead of searching. Use it to read a conversation you found one piece of.",
      +  "type": "string"
      +}
    • addedInput schema / properties / until
      Added value: +{
      +  "description": "Optional. Only memories before this time. Same forms as since; a date includes that whole day.",
      +  "type": "string"
      +}
    • removedInput schema / required
      Removed value: -[
      -  "query"
      -]
  2. First observedv4.0.1

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the disclosure burden and does explain the key trait: matching happens by meaning, so 'budget priorities' surfaces 'retention focus, $40K'. It does not describe the return shape, how many results, or that results are gist summaries by default — that lives only in the schema.

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 action and the primary trigger, then one concrete example that earns its place. Slightly redundant tail ('use it whenever you need context... use this proactively and often') repeats the same directive twice.

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

Completeness4/5

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

For a 7-parameter tool with no output schema and no annotations, the description adequately covers purpose, timing, and retrieval behavior, while the schema handles parameter detail. The main gap is sibling differentiation — nothing tells the agent why to choose recall over recall_recent.

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%, so the schema already documents all seven parameters in detail. The description's example of a semantic query adds illustrative color but no parameter semantics beyond what the schema states, so the baseline 3 applies.

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?

States a specific verb and resource — 'Search your memories by meaning' — and clarifies the retrieval model (semantic, not keyword). It does not name or differentiate itself from the siblings recall_recent or remember, so an agent must infer which retrieval tool to pick.

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?

Gives unusually concrete when-to-use guidance: at the START of every conversation, and whenever context from previous sessions is needed, plus 'use this proactively and often.' It stops short of naming alternatives (e.g., recall_recent for pure recency, remember for writing), so routing between siblings is left implicit.

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