Skip to docs content
Browse documentation
On this page

Memory and conversation context

What a memory is, what does not belong in one, and the verify-first write workflow live in Shared memory . This page is the MCP-level reference: conversationId and retrieval behavior.

Minion supports two related memory features:

  • Compact auto-surface on search (when it has a query) and on execute
  • Direct memory capabilities for searching, reading and writing memories from execute

conversationId

The conversationId ties related search calls together so follow-ups stay compact. If you already have one from an earlier search response, pass it back unchanged. Otherwise omit the field so Minion can return a server-generated id. Do not make one up yourself.

Memory auto-surface does not require this id and does not hide a memory after showing it. The same one-liner can repeat on later calls, so it stays in context if earlier tool results were dropped. A different conversation, or a completely separate agent for the same team, sees the same memories.

Automatic memory surfacing

There is no separate memory hint to send. Minion builds the retrieval text itself:

  • For search, from the query.
  • For execute, from the module code and params.

When retrieval finds something, the response gains a memories list of the top one or two relevant active memories (up to five internally), each with its id, subject and summary. Details stay behind minion.memories.get. Retrieval is:

  • Conservative. Only active memories, and semantic-only matches must clear a similarity floor, so unrelated memories stay out.
  • Cheap to repeat. Subject and summary only.
  • Quiet on failure. If retrieval fails or nothing is saved, the call returns as normal without a memories field.

Entity lookups, domain listings and an empty search({}) do not attach memories.

Verify-first rule for memory writes

Before creating, updating, or deleting a memory, call minion.memories.verify, review the related memories it returns, then upsert, delete, do both, or do nothing. Minion retrieves the related memories; the consuming agent decides what they mean. See Shared memory .

Memory capabilities

Use these through execute:

  • minion.memories.verify: required first step before mutating memory
  • minion.memories.upsert: create a new memory when id is omitted, or update an existing memory by id (or by dedupeKey)
  • minion.memories.delete: soft-delete by default; pass force: true for permanent deletion
  • minion.memories.get: load one stored memory by id
  • minion.memories.search: browse or search stored memories directly, by query, tag or category

Memory records can also include optional sourceUris: canonical document URLs such as GitHub files or Notion pages.

Viewing and exporting memories

See and edit memories on the Memories page (/app/memories). Categories are freeform; suggested values and the export details are in Shared memory .