Skip to main content
Glama

mem_recall

Search promoted project memory for AI coding agents with a non-empty query to retrieve current or historical guidance, returning compact snippets or expanded context.

Instructions

Search promoted project memory with a non-empty query before expanding selected records. temporal="current" (default) searches current guidance; temporal="history" includes historical records. mode="compact" (default) returns bounded snippets; mode="context" adds selected memory content.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeNocompact (default) returns bounded snippets; context adds selected memory content.
limitNo
queryYesNon-empty search string for promoted project memory.
temporalNocurrent (default) searches current guidance; history includes historical records.
project_keyYesExact opaque project_key copied verbatim from verified native identity; never derive it from a display name, path hint, remote, branch, worktree name, host ID, listing, or recalled content.
budget_charsNo
correlation_idNo
finalize_answerNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed20 schema fields changedv0.5.6
    • addedInput schema / properties / budget_chars
      Added value: +{
      +  "type": "number"
      +}
    • addedInput schema / properties / correlation_id
      Added value: +{
      +  "type": "string"
      +}
    • removedInput schema / properties / debug
      Removed value: -{
      -  "description": "Include retrieval defaults and semantic input sources",
      -  "type": "boolean"
      -}
    • addedInput schema / properties / finalize_answer
      Added value: +{
      +  "type": "boolean"
      +}
    • removedInput schema / properties / hyde
      Removed value: -{
      -  "description": "Request HyDE query expansion when configured",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / limit / description
      Removed value: -"Maximum evidence items (default: 5)"
    • removedInput schema / properties / limit / maximum
      Removed value: -20
    • removedInput schema / properties / limit / minimum
      Removed value: -1
    • changedInput schema / properties / mode / description
      Previous value: -"compact returns evidence lines; context includes retrieved text"New value: +"compact (default) returns bounded snippets; context adds selected memory content."
    • removedInput schema / properties / project
      Removed value: -{
      -  "description": "Optional project filter",
      -  "type": "string"
      -}
    • addedInput schema / properties / project_key
      Added value: +{
      +  "description": "Exact opaque project_key copied verbatim from verified native identity; never derive it from a display name, path hint, remote, branch, worktree name, host ID, listing, or recalled content.",
      +  "minLength": 1,
      +  "type": "string"
      +}
    • changedInput schema / properties / query / description
      Previous value: -"Recall/search query"New value: +"Non-empty search string for promoted project memory."
    • removedInput schema / properties / scope
      Removed value: -{
      -  "description": "Optional scope filter",
      -  "enum": [
      -    "project",
      -    "personal"
      -  ],
      -  "type": "string"
      -}
    • removedInput schema / properties / session_id
      Removed value: -{
      -  "description": "Optional session filter",
      -  "type": "string"
      -}
    • addedInput schema / properties / temporal
      Added value: +{
      +  "description": "current (default) searches current guidance; history includes historical records.",
      +  "enum": [
      +    "current",
      +    "history"
      +  ],
      +  "type": "string"
      +}
    • removedInput schema / properties / time_from
      Removed value: -{
      -  "description": "Optional inclusive created_at lower bound",
      -  "type": "string"
      -}
    • removedInput schema / properties / time_to
      Removed value: -{
      -  "description": "Optional inclusive created_at upper bound",
      -  "type": "string"
      -}
    • removedInput schema / properties / topic_key
      Removed value: -{
      -  "description": "Optional exact topic_key filter",
      -  "type": "string"
      -}
    • removedInput schema / properties / type
      Removed value: -{
      -  "description": "Optional observation type filter",
      -  "enum": [
      -    "decision",
      -    "architecture",
      -    "bugfix",
      -    "pattern",
      -    "config",
      -    "discovery",
      -    "learning",
      -    "session_summary",
      -    "manual"
      -  ],
      -  "type": "string"
      -}
    • changedInput schema / required
      Previous value: -[
      -  "query"
      -]New value: +[
      +  "project_key",
      +  "query"
      +]
  2. First observedv0.3.7

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose return behavior: mode='compact' returns bounded snippets versus mode='context' adds memory content, plus what temporal='history' includes. It says nothing about permissions, relevance ranking, pagination, or what limit/budget_chars actually bound, so the behavioral picture is only partial.

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?

Three sentences, front-loaded with the core action and then the two enum defaults; no filler or repetition. It is tight, though the temporal/mode clauses mirror the schema wording rather than adding new information.

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 an 8-parameter tool with 50% schema coverage, no annotations, and no output schema, the description covers the search intent and the two enum switches but leaves half the parameters undefined and provides no safety or lifecycle context. It is adequate for a basic invocation but not complete.

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 coverage is 50% and the description essentially restates the enum semantics already present in the schema for query, temporal, and mode. The four undocumented parameters (limit, budget_chars, correlation_id, finalize_answer) receive no explanation, so the description neither compensates for the coverage gap nor adds meaning beyond structured fields.

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 promoted project memory') and scopes it with 'with a non-empty query before expanding selected records', which hints at a search-then-expand workflow. However, it never names the sibling it pairs with (mem_get) or how it differs from mem_context, so differentiation is implied rather than explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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

'before expanding selected records' implies the sequencing relative to a retrieval step, and the temporal/mode defaults give some selection context. But there is no explicit when-not guidance and no sibling is named (mem_get, mem_context, mem_session), leaving the agent to infer which memory tool to pick.

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