Skip to main content
Glama

Search memories

search_memory
Read-only

Find project memories that match a natural-language question, ranked by relevance, so you can check past conventions, decisions, or setup before answering or redoing work.

Instructions

Find the memories in a project that best match a natural-language question, best match first. Use it before answering questions about the project's conventions, decisions or setup, and before redoing work that may have been settled already. Returns each match with its id, match score, date and text, or a message saying nothing was found. Search is semantic when the server has an embedding key configured, and keyword-based otherwise.

Input Schema

NameRequiredDescriptionDefault
limitNoMaximum number of results, 1–50. Defaults to 5.
queryYesWhat you want to know, in plain words, e.g. 'how do we deploy?'
projectYesProject the memory belongs to. Use one stable name per codebase, such as the repository name (e.g. 'acme-shop'), so every tool and teammate files memories in the same place.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered externally. The description adds genuinely useful behavior: result fields (id, match score, date, text), an empty-result message, and the fact that search is semantic or keyword-based depending on server configuration. That backend variability is a real operational caveat, but it stops short of explaining ranking quality or scoring semantics across the two modes.

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 purpose, then usage trigger, then return behavior and search-mode caveat. Each sentence carries distinct information with no repetition. Slightly dense but no filler.

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?

With no output schema, the description usefully compensates by enumerating returned fields and the empty-result case. Combined with annotations and full schema coverage, an agent has enough to call this correctly; only the behavioral difference between semantic and keyword modes is left unexplored.

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 all three parameters are already documented, giving a baseline of 3. The description reinforces that the query is a natural-language question and that results are ordered by match, but adds no syntax, limit behavior, or project-naming detail beyond the schema.

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 precise verb and resource with scope and ordering: 'Find the memories in a project that best match a natural-language question, best match first.' An agent immediately knows this is a relevance-ranked retrieval, not a listing. It does not name or contrast any sibling (save_memory, memory_timeline), so differentiation is inferential 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 Guidelines4/5

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

Gives concrete triggers: before answering questions about conventions, decisions or setup, and before redoing work that may already be settled. No exclusions or named alternatives are offered, so an agent must infer that memory_timeline is the option for chronological browsing.

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