Skip to main content
Glama

Search memories

memory_search
Read-onlyIdempotent

Semantic and keyword search over the user's saved memories. Use when the answer may depend on the user's past decisions, preferences or project history, for example when they ask where something stands or what they decided. Optional project narrows the search; limit caps the results (max 20). Returns matching memories with id, project, type, date and an excerpt; use memory_get for the full text. 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: answer with the version in force and mention pending proposals as such. If couverture is non_decide, say the point was discussed but never settled; if rien_de_fiable, or if none of the results is about what was asked, say nothing was found rather than guessing.

Input Schema

NameRequiredDescriptionDefault
limitNo
queryYes
projectNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already declare a safe read-only, idempotent, closed-world profile, so the bar is lower, yet the description still adds rich behavior: the returned fields (id, project, type, date, excerpt), a hard cap of 20 on `limit`, the `etat`/`faits` versioning semantics, and explicit handling for `non_decide`/`rien_de_fiable` results. This is far more than the annotations convey.

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?

It is longer than a typical description, but dense with actionable content and front-loaded with purpose and trigger before the result-handling rules. The versioning guidance is the most verbose section but each clause maps to a real response state an agent must handle.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/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 compensates by listing the returned fields and by prescribing how to answer under each `etat`/`couverture` state. For a three-parameter read tool, everything needed to call it and interpret results is present.

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 coverage is 0%, so the description must carry the burden, and it explains `project` as a narrowing filter and `limit` as a result cap with a stated maximum of 20. `query` is self-evident, but the matching semantics of `project` (exact name vs. substring) are left unspecified.

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 states a specific verb and resource: 'Semantic and keyword search over the user's saved memories.' It routes to memory_get for full text, which helps disambiguate a closely related sibling. However, it never distinguishes itself from the sibling memory_search_advanced, leaving one obvious alternative unexplained.

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 explicit triggers with concrete examples ('use when the answer may depend on the user's past decisions... when they ask where something stands or what they decided'). That is clear when-to-use context, but there are no when-not conditions and no comparison against memory_search_advanced or memory_surface.

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