Skip to main content
AllMCPs
BrowseBestCategoriesStackCompareToolsGuidesBlog
Log in Submit MCP

Stay in the loop

Get new MCP servers and top picks in your inbox.

AllMCPs

The open directory for discovering and installing Model Context Protocol servers.

AllMCPs on GitHub (opens in a new tab)
Launched onTiny Startupstinystartups.com
Explore
  • Browse servers
  • Best MCP servers
  • Categories
  • MCP clients
  • Agent prompts
  • Stack Builder
  • Compare servers
  • Random discovery New
  • Submit a server
  • Pricing & Boost Boost
Learn
  • Guides hub
  • What is MCP?
  • Install guide
  • Build an MCP server
  • Deploy an MCP server
  • Security guide
  • Troubleshooting
  • MCP for SEO & AEO
  • Protocol versioning
  • Blog & updates
Tools
  • All developer tools
  • Config generator
  • Config validator
  • Config auditor
  • MCP playground
  • Token calculator
  • OpenAPI → MCP
  • Badge generator
For agents
  • REST API docs
  • Trust & traffic Live
  • Remote MCP server SSE ↗ (opens in a new tab)
  • llms.txt ↗ (opens in a new tab)
  • Catalog JSON ↗ (opens in a new tab)
Company
  • About
  • Advertise Sponsor
  • Contact
  • GitHub ↗ (opens in a new tab)
  • Terms
  • Privacy
AllMCPs VerifiedAllMCPs VerifiedFeatured on Nick LaunchesFeatured on Nick LaunchesLaunch Llama NewsletterLaunch Llama NewsletterVerified DR - allmcps.comVerified DR - allmcps.comFeatured on SaaSGrowFeatured on SaaSGrowFeatured on Twelve ToolsFeatured on Twelve ToolsFeatured on Saaspa.geFeatured on Saaspa.geFeatured on Findly.toolsFeatured on Findly.toolsFeatured on Startup FameFeatured on Startup FameFeatured on LaunchKiwiFeatured on LaunchKiwiFeatured on ScrollLaunchFeatured on ScrollLaunchFeatured on DailyPingsFeatured on DailyPingsFazier badgeFazier badgeFeatured on NewTool.siteFeatured on NewTool.siteFeatured on saasfame.comFeatured on saasfame.comDR Checker - Domain RatingDR Checker - Domain RatingListed on Turbo0Listed on Turbo0Launched on LaunchBoard - Product Launch PlatformLaunched on LaunchBoard - Product Launch PlatformList on SimilarlabsList on Similarlabshttps://codetrendy.comhttps://codetrendy.comListed on DevTool.ioFeatured on BuildlistFeatured on BuildlistLaunched on Tiny StartupsFeatured on ShowMeBestAIFeatured on ShowMeBestAIFind us on LaunchZoneFind us on LaunchZoneAllMCPs VerifiedAllMCPs VerifiedFeatured on Nick LaunchesFeatured on Nick LaunchesLaunch Llama NewsletterLaunch Llama NewsletterVerified DR - allmcps.comVerified DR - allmcps.comFeatured on SaaSGrowFeatured on SaaSGrowFeatured on Twelve ToolsFeatured on Twelve ToolsFeatured on Saaspa.geFeatured on Saaspa.geFeatured on Findly.toolsFeatured on Findly.toolsFeatured on Startup FameFeatured on Startup FameFeatured on LaunchKiwiFeatured on LaunchKiwiFeatured on ScrollLaunchFeatured on ScrollLaunchFeatured on DailyPingsFeatured on DailyPingsFazier badgeFazier badgeFeatured on NewTool.siteFeatured on NewTool.siteFeatured on saasfame.comFeatured on saasfame.comDR Checker - Domain RatingDR Checker - Domain RatingListed on Turbo0Listed on Turbo0Launched on LaunchBoard - Product Launch PlatformLaunched on LaunchBoard - Product Launch PlatformList on SimilarlabsList on Similarlabshttps://codetrendy.comhttps://codetrendy.comListed on DevTool.ioFeatured on BuildlistFeatured on BuildlistLaunched on Tiny StartupsFeatured on ShowMeBestAIFeatured on ShowMeBestAIFind us on LaunchZoneFind us on LaunchZone
© 2026 Jackalope Digital LLC. All rights reserved.
  1. Home
  2. Knowledge & Memory
  3. Memviz
  4. README

Memviz README

The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Memviz listing page.

Back to Memviz View source on GitHub

memviz logo

memviz

A local vector memory explorer with a modern UI inspired by Supabase and Pinecone.
Browse, search, visualize and manage the SQLite-vec database created by MCP Memory Service.

CI License: MIT


A quick note

I'm a sysadmin by trade, not a developer. My coding background is some C++ from many years ago. I built memviz entirely through vibe coding with Claude Code as a way to test AI-assisted development workflows. The whole thing was built in about two days.

It works, it has 349 tests, and I use it daily. But the code reflects the fact that an AI wrote most of it while I steered. If you spot rough edges, odd patterns, or things that could be done better, I'd genuinely appreciate the feedback. PRs and issues are very welcome.


Features

  • Dashboard - Overview with stats, top accessed memories, and usage charts (day/week/month)
  • Memory list - Browse, filter (type, tags, date, quality), full-text search, and vector similarity search
  • Memory detail - View and edit content, metadata, tags, and quality rating
  • Timeline - Chronological view grouped by day with type badges
  • Duplicates - Detect near-duplicate memories using vector similarity with adjustable threshold
  • Tags management - Rename, delete, and merge tags across all memories
  • Stale memories - Find old, low-quality memories to clean up
  • 2D embedding projection - UMAP scatter plot of your entire memory space with interactive zoom/pan
  • Semantic clustering - Automatic grouping by vector proximity with cluster visualization
  • Association graph - Force-directed graph of memory relationships
  • Bulk operations - Select multiple memories for batch delete, tag, or retype
  • Import / Export - JSON import and export of memories
  • Dark / Light theme - Toggle with system preference detection
  • EN / FR language toggle - Full interface translation with localStorage persistence
  • Keyboard shortcuts - j/k navigation, / search, ? help, and more
  • Security - Helmet headers, rate limiting, optional API token, Zod validation, localhost-only binding

Screenshots

Dashboard

Memories - Browse, search, filter, and manage

Memories

Timeline - Chronological view grouped by day

Timeline

Duplicates - Detect near-duplicates by vector similarity

Duplicates

Graph - Association graph with type-colored nodes

Graph

Prerequisites

  • Node.js 20 or later
  • A SQLite-vec database created by MCP Memory Service. This is the database memviz reads from. If you use Claude Code or Claude Desktop with the memory MCP server, you already have one.

Quick start

bash
# Clone the repo
git clone https://github.com/pfillion42/memviz.git
cd memviz

# Backend
cd server
npm install
cp .env.example .env
# Edit .env and set MEMORY_DB_PATH to your SQLite-vec database path
npm run dev

# Frontend (in another terminal)
cd client
npm install
npm run dev

Open http://localhost:5173 in your browser.

Windows desktop shortcut (optional)

The repo includes PowerShell launcher scripts and an .ico icon file for a one-click desktop experience on Windows:

powershell
# Start both servers (minimized) + open browser
.\start-memviz.bat

# Stop both servers
.\stop-memviz.bat

To create a desktop shortcut: right-click on start-memviz.bat > Send to > Desktop (create shortcut), then change the icon to memviz.ico from the repo root.

The start script detects if servers are already running, waits for health checks (60s timeout), and opens your browser automatically.

Configuration

All configuration is done through environment variables in server/.env:

VariableRequiredDefaultDescription
MEMORY_DB_PATHYes-Path to the SQLite-vec database from MCP Memory Service
MEMORY_DB_READONLYNotrueOpen database in read-only mode (false to enable editing)
CORS_ORIGINSNohttp://localhost:5173Comma-separated allowed origins
ACCESS_LOG_DB_PATHNoDerived from MEMORY_DB_PATHPath for the access log database (writable)
API_TOKENNo-If set, requires Authorization: Bearer <token> on all API requests
HOSTNo127.0.0.1Listen address (localhost only by default)

Architecture

Code
memviz/
├── server/          # Express + TypeScript API
│   ├── src/
│   │   ├── routes/  # REST endpoints under /api/
│   │   ├── middleware/
│   │   └── index.ts
│   └── tests/       # Vitest (213 tests)
├── client/          # React + Vite + TypeScript
│   ├── src/
│   │   ├── pages/       # 10 pages
│   │   ├── components/  # 11 reusable components
│   │   ├── hooks/       # Custom React Query hooks
│   │   └── App.tsx
│   └── tests/       # Vitest + Testing Library (136 tests)
└── .github/workflows/   # CI: lint, typecheck, test, build

Stack: Express, better-sqlite3, sqlite-vec, umap-js, Zod | React 18, React Query, React Router, react-force-graph-2d, Vite, Vitest

Tests

bash
# Run all backend tests
cd server && npm test

# Run all frontend tests
cd client && npm test

# Watch mode
cd server && npm run test:watch
cd client && npm run test:watch

349 tests total (213 server + 136 client).

Security

  • Binds to 127.0.0.1 by default (not exposed to the network)
  • CORS restricted to configured origins
  • Helmet HTTP security headers
  • Rate limiting (100 requests / 15 min)
  • Optional Bearer token authentication
  • Zod schema validation on all write endpoints
  • FTS5 query sanitization and LIKE pattern escaping
  • JSON body size limit (5 MB)

Keyboard shortcuts

KeyAction
j / kNavigate down / up in lists
/Focus search bar
EnterOpen selected memory
EscapeClose modal / clear selection
?Show keyboard shortcuts help

Troubleshooting

EACCES: permission denied on port 3001 or 5173 (Windows)

On Windows with Hyper-V or WSL enabled, the OS dynamically reserves port ranges for internal use. If memviz ports fall within these ranges, Node.js will fail with EACCES: permission denied.

Diagnose — check if your ports are in a reserved range:

powershell
netsh interface ipv4 show excludedportrange protocol=tcp

If port 3001 or 5173 appears inside one of the listed ranges, that's the issue.

Fix — permanently reserve the ports for your use (run as Administrator, one-time):

powershell
net stop winnat
netsh int ipv4 add excludedportrange protocol=tcp startport=3001 numberofports=2
netsh int ipv4 add excludedportrange protocol=tcp startport=5173 numberofports=1
net start winnat

After this, Hyper-V will never reclaim these ports. The reservation persists across reboots.

Verify — run the diagnostic command again. Your ports should now appear with a * (administered exclusion):

Code
     3001        3002       *
     5173        5173       *

Acknowledgments

memviz exists because of MCP Memory Service by doobidoo, which creates and manages the SQLite-vec database that memviz explores. Huge thanks for building it.

Built with umap-js, sqlite-vec, React, Express, Vite, React Query, react-force-graph-2d, and Vitest.

Contributing

See CONTRIBUTING.md for guidelines.

License

MIT