Skip to main content
Glama
hz1ulqu01gmnZH4

universal-memory-mcp

recall_memories

Search and retrieve stored memories using natural language queries, exact IDs, or entity references, with optional graph expansion to show connected memories.

Instructions

Retrieve memories: hybrid/keyword/semantic search (query), exact fetch (memory_id), or entity lookup (entity).

Exactly one selector — query, memory_id, or entity — must be provided. Set expand_links>0 to include graph neighbors for each result.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum results to return.
queryNoSearch query (natural language or keywords). Exactly one of query/memory_id/entity must be set.
entityNoEntity lookup: return memories mentioning this entity surface form (e.g. 'src/foo.py', 'store_memory'). Paths use forward slashes.
agent_idNoFilter by agent ID. None = search all agents.
time_endNoISO8601 end time filter.
memory_idNoExact fetch: return the memory with this UUID (always full content).
session_idNoFilter by session ID. None = search all sessions.
time_startNoISO8601 start time filter (e.g. '2025-01-01T00:00:00Z').
entity_typeNoWith entity: filter by entity type. None = match any type.
memory_typeNoFilter by memory type. None = search all types.
search_modeNoWith query: 'hybrid' (keyword+semantic), 'keyword' (FTS5 only), 'semantic' (vector only)hybrid
expand_linksNoGraph expansion depth: attach linked memories to each result under 'links'. 0 = off.
full_contentNoReturn full memory contents instead of snippets (default: contents over MEMORY_RECALL_SNIPPET_CHARS are truncated; fetch full text via memory_id).
link_relationNoWith expand_links: filter links by relation type. None = all relations.
min_relevanceNoMinimum cosine similarity for semantic-channel results. None = server default (MEMORY_RECALL_MIN_RELEVANCE). 0 disables. Keyword matches always survive.
link_directionNoWith expand_links: traversal direction.both
min_importanceNoMinimum importance score filter.
exclude_supersededNoExclude memories marked as superseded by a newer version. Default True.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior3/5

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

No annotations are provided, so the description must carry the burden. It does disclose the exclusive-selector constraint and the expand_links graph-neighbor behavior. However, it does not explicitly state read-only safety, snippet truncation vs. full content, or how multiple modes interact with filters. The verb 'Retrieve' implies non-mutating behavior, but additional behavioral context beyond the schema is limited.

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 compact and front-loaded: the first sentence immediately conveys the three access modes, and the second sentence adds the selector constraint and graph expansion tip. Every sentence contributes information without bloat or repetition, making it highly scannable.

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?

Given the tool's high complexity (18 parameters) and the presence of a rich output schema, the description does not need to explain every filter or return field. It covers the core access patterns, the mandatory-selector constraint, and the optional graph expansion feature. The schema and output schema handle the remaining details, so the description is sufficiently complete for an agent to understand the tool's main behavior.

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 100%, so the baseline is 3. The description adds value by stating the cross-parameter exclusivity rule (exactly one of query, memory_id, or entity) and that expand_links>0 includes graph neighbors. These constraints are not uniformly obvious from individual parameter descriptions, so this is a meaningful enhancement over the schema.

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 starts with the specific verb 'Retrieve memories' and enumerates three distinct retrieval modes (hybrid/keyword/semantic search via query, exact fetch via memory_id, entity lookup via entity). This clearly differentiates the tool from its write/manage/admin siblings (store_memory, update_memory, manage_session, memory_admin).

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?

The description gives a clear within-tool usage rule ('Exactly one selector — query, memory_id, or entity — must be provided') and explains when expand_links is useful. However, it does not explicitly state when to choose this tool over alternatives, such as 'use this for reading existing memories' vs. 'use store_memory to create new ones'. The guidance is implied by context rather than stated.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/hz1ulqu01gmnZH4/universal-memory-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server