Lumiqa Docs

save_memory

Memory write

What it does

Stores a typed note in the workspace memory. Future agents call recall_memory to honor brand rules and preferences they didn't set themselves — the killer differentiator vs Frame.io for AI workflows.

When a topic is provided and already exists, the row is UPSERTed in place (so re-saving a memory with the same topic refines it).

Input schema

NameTypeRequiredDefaultDescription
type string required preference · rule · fact · brand_note · editorial_decision.
content string required The actual note (max ~8 KB).
topic string optional Kebab-case label used for grouping + upsert. Optional but strongly recommended.
importance number optional 5 1 (trivial) to 10 (critical). 8+ for hard brand rules.

Example call

json{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "save_memory",
    "arguments": {
        "type": "rule",
        "topic": "brand-corposost-no-scale-closeups",
        "content": "CorpoSostenibile NEVER wants a closeup of a person on a scale — Meta flags it as body-shaming.",
        "importance": 9
    }
  }
}

Response shape

json{
  "ok": true,
  "was_updated": false,
  "memory": {
    "id": "mem_4f2a8c19e3b7",
    "workspace_id": "ws_lumika-team",
    "type": "rule",
    "topic": "brand-corposost-no-scale-closeups",
    "content": "CorpoSostenibile NEVER wants...",
    "importance": 9,
    "source": "claude",
    "created_at": 1747830000,
    "updated_at": 1747830000,
    "last_accessed_at": null
  }
}

Usage from Claude Desktop

prompt"Remember: CorpoSostenibile never wants scale closeups. It's a hard rule, importance 9."

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": "save_memory",
        "arguments": {"type": "rule", "topic": "brand-corposost-no-scale", "content": "No scale closeups.", "importance": 9}
    },
})
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: "save_memory",
      arguments: { type: "rule", topic: "brand-corposost-no-scale", content: "No scale closeups.", importance: 9 },
    },
  }),
});
const data = await r.json();
console.log(data);

Required env vars / integrations

Known limitations