Getting Started

Quick Start

Five lines. One artifact. Significance retrieval that raw vectors cannot match.

Install

Memory Platform Adapter

Enrich Mem0, Zep, or LangChain

npm install deepadata-mem0-adapter

MCP Server

For Claude Desktop and AI agents

npx -y deepadata-edm-mcp-server

Authenticate

Add your API key to your environment.

DEEPADATA_API_KEY=dda_live_your_key

For scopes and key management, see Authentication →

First call

One function. Returns a structured significance artifact.

Set DEEPADATA_API_KEY in your .env file before running.

import { enrichWithEDM } from 'deepadata-mem0-adapter'

// DEEPADATA_API_KEY is read automatically from your environment variables
const { edmArtifact } = await enrichWithEDM(
  "Had a long call with mum today. She remembered the kookaburra joke from my childhood.",
  { profile: 'extended' }
)

Extended profile (50 fields) is the recommended default. Essential for lightweight capture. Full for clinical/regulated contexts. Set default per API key at /platform/api-access-keys.

Building for a specific vertical? Partner profiles let you select exactly the fields your use case needs. See the Profiles documentation.

What came back

The artifact encodes what mattered — not just what was said.

{
  "constellation": {
    "emotion_primary": "warmth",
    "arc_type": "bond",
    "narrative_arc": "reconnection"
  },
  "gravity": {
    "emotional_weight": 0.82,
    "recall_triggers": ["kookaburra", "childhood", "mum's voice"],
    "identity_thread": "relationship with mother"
  },
  "milky_way": {
    "associated_people": ["mum"],
    "tether_type": "familial"
  }
}

Significance retrieval

Without EDM, the query "when was I happiest with mum" returns nothing — zero lexical overlap with the stored text. With EDM significance fields, it finds the right artifact.

Raw vector similarity

  • Matches: what was said
  • Miss rate on significance queries: 66.7%

EDM significance fields

  • Matches: what mattered
  • Hit rate on significance queries: 83.3% (15/18)

From a controlled comparison on the live /v1/activate endpoint. WhatMattered benchmark, 2026.

Query by significance

Call /v1/activate to translate a natural language query into significance field filters. Your memory system applies these alongside its existing semantic search.

// Step 1: Get significance field filters from /v1/activate
const { data } = await fetch(
  'https://deepadata.com/api/v1/activate',
  {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer dda_live_...',
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      query: 'when was I happiest with mum',
      subject_vp_id: 'user_123', // Replace with your user ID
    }),
  }
).then(r => r.json())

// data.field_filters contains:
// [
//   { field: 'emotional_weight',
//     operator: 'gte', value: 0.6,
//     weight: 0.82 },
//   { field: 'tether_type',
//     operator: 'not_null',
//     weight: 0.74 },
//   { field: 'identity_thread',
//     operator: 'not_null',
//     weight: 0.69 }
// ]

// Step 2: Apply filters to your
// memory system query alongside
// semantic search

The significance channel runs alongside your existing semantic search — it finds what similarity misses.

Next steps