Skip to main content
Glama
tinhien11

tdai-memory-mcp

by tinhien11

recall

Search past memory with natural language to find project context, prior work, and referenced details. Call before answering to retrieve relevant memories.

Instructions

Retrieve relevant past memory. Call this tool before you answer the user. Use it when the user references past work or when the task needs project context.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeNoThe search mode.hybrid
limitNoThe maximum number of results.
queryYesA natural language query. The tool uses this text for the BM25 search and the vector search.
offsetNoThe pagination offset. Use this to get the next page of results.
task_idNoThe task ID. Use this to isolate memory by a specific task. Link captures to a task for finer isolation.
team_idNoThe team ID. Use this to isolate memory by team. When set, all queries filter by this value.
user_idNoThe user ID. Use this to isolate memory by user within a team. When set with team_id, queries filter by both.
agent_idNoThe agent ID. Use this to isolate memory by agent role within a team. Defaults to the detected agent.
max_tokensNoThe maximum number of tokens in the response. If the result exceeds this value, the tool truncates the text.
session_keyNoThe session key. The default is hash(cwd). Use this to recall memory from a different project.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv0.3.2
    • addedInput schema / properties / agent_id
      Added value: +{
      +  "description": "The agent ID. Use this to isolate memory by agent role within a team. Defaults to the detected agent.",
      +  "type": "string"
      +}
    • addedInput schema / properties / task_id
      Added value: +{
      +  "description": "The task ID. Use this to isolate memory by a specific task. Link captures to a task for finer isolation.",
      +  "type": "string"
      +}
    • addedInput schema / properties / team_id
      Added value: +{
      +  "description": "The team ID. Use this to isolate memory by team. When set, all queries filter by this value.",
      +  "type": "string"
      +}
    • addedInput schema / properties / user_id
      Added value: +{
      +  "description": "The user ID. Use this to isolate memory by user within a team. When set with team_id, queries filter by both.",
      +  "type": "string"
      +}
  2. First observedv0.2.0

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says 'retrieve,' which implies a read-only operation, but it does not explicitly confirm non-destructiveness, describe what the results look like, or mention truncation or pagination behavior. The schema provides some technical details, but the description itself adds no behavioral context beyond the verb.

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?

The description is extremely concise—two sentences—with the purpose front-loaded in the first sentence ('Retrieve relevant past memory') and usage guidance in the second. There is no redundant information or fluff; every word earns its place.

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?

The tool has 10 parameters, no output schema, and several similar siblings (e.g., 'search', 'related'). The description provides useful usage timing but does not describe the return format, how to use modes, or how this differs from 'search'. These gaps make it adequate but not fully complete for an agent to invoke with confidence.

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%, with every parameter having a meaningful description (e.g., mode, limit, offset, user_id). The baseline for such coverage is 3, and the tool description adds no additional parameter semantics. It neither compensates for gaps nor adds value beyond the schema, so the baseline score stands.

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?

The description clearly states the tool's purpose with a specific verb and resource: 'Retrieve relevant past memory.' This distinguishes it as a memory recall operation, but it does not explicitly differentiate it from sibling tools like 'search' or 'knowledge_get', so it earns a 4 rather than a 5.

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?

The description provides clear usage context: 'Call this tool before you answer the user' and 'Use it when the user references past work or when the task needs project context.' This gives strong contextual guidance, but it does not mention when not to use it or name alternative tools, so it falls short of a 5.

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