🧰 MCP Tools - Common (Both Engines)
Available on batched and memwal. All tools return JSON ({ content: [{ type: 'text', text: '<json>' }] }); errors come back as { isError: true, content: [{ type: 'text', text: '<message>' }] }. When the user has no Lighthouse key yet, these are hidden and only the three key tools appear.
memory_remember - store a memory
USE THIS whenever the user asks to save, remember, store, or keep a memory, phrase, fact, decision, or preference. This is the only tool that stores memories.
| Arg | Required | Description |
|---|---|---|
content | Yes | Information to remember, understandable without conversation context |
tags | No | Short lowercase tags, e.g. ["preference", "deployment"] |
metadata | No | Structured metadata (Record<string, unknown>) |
Returns batched { id, flushed, pendingCount, cid?, gatewayUrl? } or memwal { id, blobId, cid, pinned, gatewayUrl?, walrusUrl, network, namespace }.
memory_recall - search memories
| Arg | Required | Description |
|---|---|---|
query | Yes | Natural-language description of what to recall |
tags | No | Only return memories carrying at least one of these tags |
limit | No | Max results, 1–50 (default 5) |
maxDistance | No (memwal only) | Drop matches with vector distance >= this value (0–2) |
Batched: hybrid semantic + keyword over the local index (flushed and pending). Memwal: relayer vector search enriched with local tags/CIDs (score = 1 − distance, indexed: false = no local record here).
memory_list - list newest first
| Arg | Required | Description |
|---|---|---|
limit | No | Max results, 1–200 (default 20) |
tags | No | Only list memories with one of these tags (batched filters in the tool; memwal filters in the engine) |
memory_get - full record
| Arg | Required | Description |
|---|---|---|
idOrCid | Yes | Memory id (UUID/job id) or content CID (memwal also accepts Walrus blob id) |
memory_forget - remove a memory
| Arg | Required | Description |
|---|---|---|
id | Yes | Memory id or CID to forget |
Batched: backing blob deleted only once no other memory shares it. Memwal: local copy removed + IPFS unpinned; encrypted blob lapses on its own.
memory_status - store status
No args. Returns batched { engine, storage, namespace, agent, memories, pendingMemories, flushEvery, embeddings, indexPath, lastSnapshotCid } or memwal { network, relayerUrl, relayer, dashboardUrl, namespace, agent, memories, pinnedMemories, pendingPins, ipfs, indexPath }.
memory_snapshot_index + restore - snapshot the index
No args for the snapshot. Returns { cid, entries, gatewayUrl? } (batched) or { cid, pinned, entries, gatewayUrl? } (memwal). Snapshots are plaintext - like batch blobs and pinned mirrors.
| Tool | Arg | Description |
|---|---|---|
memory_snapshot_index | - | Upload the full local index (entries + pending) as one snapshot blob |
memory_restore_local (batched) / memory_rebuild_local (memwal) | snapshotCid | Merge a snapshot CID into the index (skips known ids, namespace-checked; memwal is also network-checked) |