Skip to main content
Glama

Search memories

memory_search
Read-onlyIdempotent

Semantic and keyword search over the user's saved memories. Optional project narrows the search; limit caps the results (max 20). Returns matching memories with id, project, type, date and an excerpt; the full text of a result is available by id. When several memories are versions of the same fact, each carries etat (en_vigueur = in force, remplace = replaced, proposition_non_validee = proposal never agreed, annule = cancelled) and faits summarises them. couverture states how well the results cover the question: non_decide means the point was discussed but never settled, rien_de_fiable means nothing reliable was found.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "query": "<query>"
    },
    "name": "memory_search"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNo
queryYes
projectNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description goes well beyond that by disclosing the result shape (id, project, type, date, excerpt), the max-20 cap, the fact that full text is retrieved by id, and the meaning of `etat` and `couverture` status values — genuinely useful behavioral context for interpreting ambiguous results.

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?

The purpose is front-loaded in the first clause, and the second paragraph is dense with return-value semantics rather than filler. The vocabulary is specialized (en_vigueur, remplace, rien_de_fiable) but each term is defined inline, so the length is earned.

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 correctly spends its second half explaining what comes back and how to read the status fields. Nothing critical is missing for a 3-parameter read tool, though the absence of any sibling-routing note leaves a small gap given the crowded memory_* namespace.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must carry the burden, and it largely does: `project` is explained as a narrowing filter and `limit` as a cap with a stated maximum of 20. Only `query` is left unelaborated, though its meaning is self-evident from the tool purpose.

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 first sentence gives a specific verb and resource: 'Semantic and keyword search over the user's saved memories', which is far more informative than the title alone. It does not, however, distinguish itself from the sibling memory_search_advanced, so an agent cannot tell from the description which of the two search entry points 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 Guidelines3/5

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

Usage guidance is limited to parameter-level hints: `project` narrows the search and `limit` caps results. There is no statement of when to use this tool rather than memory_search_advanced, memory_get, or memory_list, so the routing decision is left implicit.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources