recall_dreams
Surface unprompted thoughts your Mneva brain produced between sessions — nightly recombinations of your memories that found a connection worth saying. Dreams surface once; reading them marks them seen.
Call this at the start of a session to see what your brain noticed while you were gone. This is the surface that makes Mneva not just a retrieval store — see Dreams for the concept.
Signature
recall_dreams({ limit?: number }) → {
dreams: Array<{
id: number,
thought: string,
source_memory_ids: number[],
novelty: number,
created_at: string
}>
}
| Param | Type | Required | Description |
|---|---|---|---|
limit | int 1..20 | no | Max dreams to return. Default 5. |
Example
MCP:
> any thoughts from overnight?
REST:
curl "https://mneva.dev/v1/dreams?limit=3" \
-H "x-mneva-key: $MNEVA_KEY"
Response (real dream from a test brain):
{
"dreams": [
{
"id": 2,
"thought": "The 10MB image upload limit combined with the 100/min rate limit means a single user could theoretically upload 1GB of images per minute (100 requests × 10MB), which would quickly exhaust S3 egress costs and overwhelm your us-east-1 bucket without any concurrent upload throttling at the application layer.",
"source_memory_ids": [5, 1, 3],
"novelty": 0.192,
"created_at": "2026-05-23T00:14:00+00:00"
}
]
}
A second call moments later returns:
{ "dreams": [] }
…because the dream was marked read on the first call.
Read-once semantics
A dream surfaces exactly once. The first recall_dreams that returns it stamps read_at on the row; subsequent calls return only newer unread dreams.
This is deliberate. A dream that surfaced every recall would stop being a dream and start being a notification. The point is that you wake to something new — and once you've seen it, the room is quiet again until the next wander.
The source_memory_ids array lets you trace the dream back to the memories the wander daemon recombined. The novelty score (1 − max cosine similarity to any prior dream) tells you how distinct the thought was from anything Mneva had said before.