MemoryKit

Users

Track your end users to scope memories and personalize retrieval.

Track your end users to scope memories and personalize retrieval. The id you provide is your app's user ID — upsert is idempotent.

Create or update a user

const user = await mk.users.upsert({
  id: "user_123",
  name: "Alice",
  email: "alice@example.com",
  metadata: { plan: "pro" },
});

Track events

await mk.users.createEvent("user_123", {
  type: "page_view",
  data: { page: "/settings" },
});

User-scoped retrieval

Pass userId when creating memories or querying to automatically scope retrieval:

// Store a user-specific memory
await mk.memories.create({
  content: "Alice prefers concise summaries.",
  userId: "user_123",
});
 
// Query scoped to this user
const result = await mk.memories.query({
  query: "What are Alice's preferences?",
  userId: "user_123",
});

On this page