Skip to main content
Glama

Memory search

memory_search
Read-onlyIdempotent

Search stored memories by keywords in any order, with best matches ranked by title, tags, project, and text; filter by tag, type, project, or scope to find relevant notes.

Instructions

Find memories by words (any order); best matches first — a hit in the title counts most, then tags/project, then the text. Returns name, title and a snippet; memory_read gives the full text.

Input Schema

NameRequiredDescriptionDefault
tagNoOnly memories with this tag
typeNoOnly this type: user, feedback, project or reference
limitNoMost results, 1–100
queryYesWords to look for, any order
scopeNoMemory area: "shared" (default) or "users/<id>"; a person limited to their own area stays there anywayshared
projectNoOnly this project's memories

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.1.4
    • addedInput schema / properties / limit / description
      Added value: +"Most results, 1–100"
    • addedInput schema / properties / query / description
      Added value: +"Words to look for, any order"
  2. Changed4 schema fields changedv0.1.2
    • addedInput schema / properties / project / description
      Added value: +"Only this project's memories"
    • addedInput schema / properties / scope / description
      Added value: +"Memory area: \"shared\" (default) or \"users/<id>\"; a person limited to their own area stays there anyway"
    • addedInput schema / properties / tag / description
      Added value: +"Only memories with this tag"
    • addedInput schema / properties / type / description
      Added value: +"Only this type: user, feedback, project or reference"
  3. First observedv0.1.0

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and openWorldHint=false, so safety is covered. The description adds genuinely new behavioral context: relevance ordering with a documented priority (title hits weigh most, then tags/project, then text) and the fact that results are truncated to name, title and a snippet. It does not mention result-count limits or pagination behavior.

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?

Two compact sentences, zero filler, with the core search-and-rank behavior front-loaded and the sibling hand-off placed last where it is most actionable. Every clause conveys distinct information.

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 an output schema present and full schema coverage on six parameters, the description need only cover purpose, ranking and the read-follow-up, which it does. Minor gaps remain around scope semantics ('shared' vs 'users/<id>') and default result limits, though those are already documented in the schema.

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 tag, type, limit, query, scope and project. The description only reinforces the query semantics ('words... any order') and loosely gestures at tag/project via the ranking note, adding little beyond the structured fields. Baseline 3 applies when the schema carries the parameter burden.

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?

The description opens with a specific verb and resource ('Find memories by words') and immediately defines the matching and ranking model (title > tags/project > text). It also explicitly separates this tool from its closest sibling by noting that 'memory_read gives the full text', so an agent can distinguish the two without opening either schema.

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?

It gives clear routing guidance by naming memory_read as the follow-up for full content, implying this tool is the discovery/search step. It stops short of stating explicit exclusions, such as when to prefer skill_search or integration_search, or when a filtered list versus a keyword search is appropriate.

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