forget_memory
What it does
Hard-deletes a memory row. Idempotent — if the id is unknown the response is { ok: false, deleted: false, reason: "not_found" }.
Prefer updating a memory with a new save_memory (upserts on topic) over deleting and re-creating.
Input schema
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| id | string | required | — |
Memory id returned by save_memory or recall_memory. |
Example call
json{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "forget_memory", "arguments": { "id": "mem_4f2a8c19e3b7" } } }
Response shape
json{ "ok": true, "deleted": true, "forgotten": { "id": "mem_4f2a...", "type": "rule", "topic": "brand-corposost-no-scale-closeups", "content": "..." } }
Usage from Claude Desktop
prompt"Forget the memory mem_4f2a — that rule was retired in last week's brand refresh."
Usage from Python
pythonimport requests LUMIQA = "https://lumiqa.io/mcp/your-slug" HEADERS = {"Authorization": "Bearer lk_live_xxxxxxxxxxxx"} r = requests.post(LUMIQA, headers=HEADERS, json={ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "forget_memory", "arguments": {"id": "mem_4f2a..."} }, }) print(r.json())
Usage from Node
javascriptconst r = await fetch("https://lumiqa.io/mcp/your-slug", { method: "POST", headers: { "Authorization": "Bearer lk_live_xxxxxxxxxxxx", "Content-Type": "application/json", }, body: JSON.stringify({ jsonrpc: "2.0", id: 1, method: "tools/call", params: { name: "forget_memory", arguments: { id: "mem_4f2a..." }, }, }), }); const data = await r.json(); console.log(data);
Required env vars / integrations
- D1 table
workspace_memories.
Known limitations
- No soft-delete — the row is gone immediately. Roll forward with
save_memoryif it was deleted in error. - Scoped to the API key's workspace; cross-workspace ids return
not_found.