Skip to content

rrahul-1/Memprobe

Repository files navigation

Memprobe

A developer dashboard for inspecting, querying, and managing Mem0 memory stores. Connect your Mem0 API key and get a full-featured UI for browsing memories, testing semantic retrieval, and tracing the full history of every memory change.

Live demo → memprobe.vercel.app


Dashboard overview

Dashboard overview

Landing Page

Landing Page


Features

Scope selector

Filter memories by any combination of user_id, agent_id, app_id, and run_id. Each selector lists all known entities from your Mem0 project - select a specific value or leave it as all to skip that dimension. Toggle the all / any switch to control whether multiple selections are combined with AND (must match all) or OR (match any).

Entity lists are paginated: scroll to the bottom of a dropdown to load the next page, or type to filter what's already loaded.

All Memories

Browse every memory in the current scope.

  • Live search across memory text, IDs, and categories
  • Category filter - click any category in the sidebar or use the toolbar dropdown
  • Sort by most recent or oldest first
  • Memory detail panel - click any memory to inspect its metadata, categories, timestamps, and raw JSON payload
  • Add Memory - dedicated form with multi-turn messages (user / assistant roles), scope pre-fill, infer toggle, and custom metadata key-value pairs; the list refreshes automatically after a successful add
  • Update/Delete Memory — In the Memory detail panel you can update/delete the memory
  • Refresh - reloads entity dropdowns and the memory list without resetting your current scope selection

Retrieval Tester - Search

Test semantic memory retrieval exactly as your agent calls it. Enter any natural language query, adjust top_k, and see ranked results with relevance scores and score bars. The AND / OR operator from the scope selector is applied to the search payload.

Timeline

Trace the full change history of any memory. Pick a memory from the dropdown picker, and the timeline renders a date-grouped event trail (TODAY / THIS WEEK / EARLIER) showing every CREATED, UPDATED, and DELETED event. For updates, the old and new memory text are shown side by side. Clicking Timeline in the memory detail panel pre-selects that memory automatically.

Sidebar stats and categories

The left panel shows live counts (total memories, unique categories) and a clickable category list with relative frequency bars. Clicking a category filters the All Memories view instantly.


Running locally

Prerequisites

Steps

# 1. Clone
git clone https://github.com/your-username/memprobe.git
cd memprobe

# 2. Install
bun install        # or: npm install

# 3. Start
bun run dev        # or: npm run dev

Open http://localhost:3000. On first load you'll be prompted to enter your Mem0 API key - it's stored in localStorage and only sent to Mem0's API. No .env file or server-side configuration is required.

Building for production

bun run build
bun run start

Tech stack

Layer Choice
Framework Next.js 16 - App Router
UI React 19 with React Compiler (babel-plugin-react-compiler)
Styling Tailwind CSS v4 - PostCSS plugin
Mem0 mem0ai v3 SDK
Runtime Bun / Node.js

Note: All Mem0 API calls are proxied through Next.js API routes. The API key is forwarded as a request header and never stored server-side.


File structure

memprobe/
├── src/
│   ├── app/
│   │   ├── api/                          # Next.js route handlers - Mem0 proxies
│   │   │   ├── entities/route.ts         # GET  /v1/entities            paginated entity list
│   │   │   ├── memories/
│   │   │   │   ├── route.ts              # POST /v3/memories/            list with filters + pagination
│   │   │   │   ├── search/route.ts       # POST /v3/memories/search/     semantic retrieval
│   │   │   │   ├── add/route.ts          # POST /v3/memories/add/        add from message array
│   │   │   │   └── [id]/history/         # GET  /v1/memories/:id/history full change history
│   │   │   ├── organizations/            # GET orgs, GET projects per org
│   │   │   └── validate/route.ts         # API key validation
│   │   ├── dashboard/
│   │   │   ├── page.tsx                  # Dashboard page (server component shell)
│   │   │   └── DashboardClient.tsx       # All state, effects, pagination, layout wiring
│   │   ├── globals.css                   # Design tokens, scrollbar styles, keyframes
│   │   ├── layout.tsx
│   │   └── page.tsx                      # Landing page / API key entry
│   ├── components/
│   │   └── dashboard/
│   │       ├── DashboardNavBar.tsx       # Top bar - org / project switcher
│   │       ├── Sidebar.tsx               # Left panel - scope, views, stats, categories
│   │       ├── leftPanel/
│   │       │   └── ScopeSelection.tsx    # Entity dropdown: search + infinite scroll
│   │       ├── MemoryBrowser.tsx         # All Memories middle panel
│   │       ├── RetrievalView.tsx         # Retrieval Tester middle panel
│   │       ├── TimelineView.tsx          # Timeline middle panel
│   │       ├── DetailsPanel.tsx          # Right panel - metadata, raw JSON, actions
│   │       └── AddMemoryPanel.tsx        # Right panel - add memory form
│   └── lib/
│       ├── mem0.ts                       # Authenticated fetch wrapper for Mem0 API
│       └── storage.ts                    # localStorage helpers (API key read/write)
├── public/
├── next.config.ts
└── package.json

API route reference

Each route reads the mem0-apiKey header forwarded by the client, calls Mem0, and reshapes the response. No credentials are persisted.

Route Mem0 endpoint Notes
POST /api/memories POST /v3/memories/ Accepts filters.AND or filters.OR, page query param
POST /api/memories/search POST /v3/memories/search/ query, top_k, filters
POST /api/memories/add POST /v3/memories/add/ messages, scope fields, infer, metadata
GET /api/memories/[id]/history GET /v1/memories/:id/history/ Full event log for one memory
GET /api/entities GET /v1/entities org_id, project_id, page - returns has_more
GET /api/organizations Mem0 orgs API Lists all orgs for the key
GET /api/organizations/[id]/projects Mem0 projects API Lists projects for an org

Screenshots

Dashboard overview

Dashboard overview

Landing Page

Landing Page

Scope selection & All Memories

All Memories

Add Memory

Add Memories

Retrieval - Search

Retrieval


License

MIT

About

Memory inspector for Mem0 - browse memories by scope, test retrieval, and with timeline of memories.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors