-
Type:
Improvement
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: ABX
TL;DR
Allow Observational Memory's optional semantic retrieval to use MongoDB Automated Embedding without a client-side embedder. MongoDB should embed observation text and search queries server-side, while existing client-side retrieval remains unchanged.
Context
Mastra is a TypeScript framework for building AI agents. Observational Memory compresses conversations into summaries called observations. Its optional semantic retrieval searches those summaries by meaning and links matches back to the original messages.
Ordinary Observational Memory does not require embeddings. However, enabling observationalMemory.retrieval.vector currently requires both a vector store and a client-side embedder—even when MongoDB can generate embeddings itself.
This change concerns semantic indexing and retrieval only. Models that generate observations and reflections remain required and unchanged.
Current documentation: Observational Memory — With semantic search.
Desired User Experience
Examples assume imports, storage, connection settings, and the existing embeddingModel are configured.
Before — client-side embedder required:
const memory = new Memory({ storage, vector: new MongoDBVector({ id: 'vec', uri, dbName }), embedder: embeddingModel, // Required today options: { observationalMemory: { retrieval: { vector: true } } }, }); await memory.searchMessages({ query: 'What deadline did we agree on?', resourceId: 'user-123' });
After — proposed server-side embedding configuration:
const memory = new Memory({ storage, vector: new MongoDBVector({ id: 'vec', uri, dbName, autoEmbed: { model: 'voyage-4' }, }), // No client-side embedder options: { observationalMemory: { retrieval: { vector: true } } }, }); await memory.searchMessages({ query: 'What deadline did we agree on?', resourceId: 'user-123' });
The agent's Observational Memory recall tool should also support search with the proposed configuration.
Task
Goals
- Enable observation indexing and semantic search without a client-side embedder when the vector store embeds server-side.
- Preserve existing retrieval behavior, source-message navigation, and access restrictions.
Where: Memory configuration, observation indexing, and search.
Out of scope: RAG query tools, GraphRAG, workspace search, and experimental subconscious knowledge memory.
Acceptance Criteria
- [ ]Observational Memory semantic search works with MongoDB Automated Embedding without a client-side embedder as described in the code examples.
- [ ] Existing observation retrieval tests remain passing.
- [ ] Existing configurations that use a client-side embedder continue working unchanged.
- [ ] A documentation follow-up ticket is created covering the no-embedder configuration, deployment prerequisites, Preview status, and distinction from ordinary Observational Memory.
- links to