MCP Memory Service - Dashboard

## Welcome to your Memory Dashboard

Manage your AI memories with semantic search, real-time updates, and intelligent organization.

— Total Memories
— This Week
— Tags

### Recent Memories

### Quick Actions

Checking...

### Search Filters

Live Search mode
Tags
Separate multiple tags with commas
Date Range
Select a time period to filter memories
Content Type
Choose the type of memories to show

#### Active Filters:

## Search Results

0 results

## 📄 Document Ingestion

### Drag & drop files here

or

Supported formats: PDF, TXT, MD, JSON

Tags (comma-separated) Tags will be applied to all files. Use spaces or commas as separators.
Processing Mode ℹ️
All selected files will be processed together with the same tags.
Chunk Size: 1000 chars ℹ️
Overlap: 200 chars ℹ️
📚 Chunking Configuration Guide

Note: Actual chunk sizes may vary as the system respects paragraph boundaries to maintain semantic coherence.

✅ Default (1000 chars, 200 overlap) Recommended

Best for: Technical documentation, reference manuals, knowledge bases

Why: Paragraph-aware chunking preserves complete thoughts and context

🔍 Smaller Chunks (500 chars, 100 overlap)

Best for: Dense technical docs, code documentation, API references

Trade-off: More granular retrieval but may split paragraphs more aggressively

📖 Larger Chunks (2000 chars, 400 overlap)

Best for: Narrative documents, articles, blogs, long-form content

Trade-off: Better context but less precise retrieval

💡 Tips:

- Overlap helps maintain context across chunk boundaries
- Higher overlap = better continuity but more redundancy
- Test different settings on a sample document to find optimal configuration
- Chunks preserve complete sentences and paragraphs when possible

🔗 Chunk Overlap Explained

What is overlap? Overlap is the number of characters that are duplicated between consecutive chunks. This helps maintain context across chunk boundaries.

Visual Example:
Chunk 1 unique content... shared overlap region
shared overlap region Chunk 2 unique content...
🎯 No Overlap (0 chars)

Best for: Maximum storage efficiency, no redundancy needed

Trade-off: Context may be lost at chunk boundaries

✅ Medium Overlap (200 chars) Recommended

Best for: Most documents - balances context and efficiency

Why: Preserves 1-2 sentences of context across boundaries

🔄 High Overlap (400+ chars)

Best for: Complex technical content requiring maximum context

Trade-off: More storage and processing, higher redundancy

💡 Guidelines:

- Rule of thumb: Overlap should be 15-25% of chunk size
- Small chunks (500) → Use 100-150 overlap
- Medium chunks (1000) → Use 200-250 overlap
- Large chunks (2000) → Use 400-500 overlap
- Higher overlap helps with search accuracy but increases storage
- Zero overlap is fine for well-structured documents with clear sections

⚙️ Processing Mode Options

When uploading multiple files, choose how they should be processed. Both modes apply the same tags to all files.

📦 Batch Processing Default

What it does: Uploads all files together as one operation

Best for: Similar files, fast bulk processing, when you want files grouped together

Pros: Faster, simpler, single progress indicator

Cons: One file failure can affect the whole batch

🔄 Individual Processing

What it does: Uploads each file separately with individual API calls

Best for: Mixed file types, when you want error isolation, or need individual progress tracking

Pros: Better error handling, individual progress, more robust

Cons: Slightly slower due to sequential processing

💡 When to choose each mode:

- Batch mode: When files are similar and you want them processed quickly together
- Individual mode: When files might have different processing requirements or you want to ensure all files get processed even if some fail
- Single files: Always processed individually (no choice needed)
- Both modes apply the same tags to all files

Memory Type

## 📊 Upload History

Loading upload history...

## 🔍 Search Ingested Content

Search within your uploaded documents to verify content is indexed

### Search Results

0 results

## Browse by Tags

Explore your memories organized by tags

### Memories tagged with:

## 🧹 Bulk Operations

### Delete by Tag

Remove all memories with a specific tag

### Cleanup Duplicates

Remove duplicate memories based on content

### Delete by Date

Remove memories older than a specific date

### Delete Untagged

Remove memories without any tags (0 found)

## 🏷️ Tag Management

Loading tag statistics...

## ⚙️ System Maintenance

### Database Optimization

Optimize database performance

### Rebuild Search Index

Rebuild search indexes for better performance

## 📊 Key Metrics

-
Total Memories
-
This Week
-
Unique Tags
-
Database Size

## 📈 Trends & Charts

### Memory Growth Over Time

Loading chart...

### Tag Usage Distribution

Loading chart...

### Memory Types Distribution

Loading chart...

### Activity Heatmap

Loading heatmap...

## 🧬 Knowledge Graph

Explore typed relationships between your memories

### Relationship Types

Loading chart...

### Interactive Graph Visualization

Nodes:
Min Connections:

Loading graph...

#### Legend

Node Colors:
Observation Decision Learning Error Other
Edge Types:
causes fixes related

## 📋 Detailed Reports

### Top Tags

Loading...

### Recent Activity

Loading...

### Storage Report

Loading...

## ⭐ Memory Quality Analytics

Track and improve your memory quality with AI-powered scoring

-
Total Memories
-
High Quality (≥0.7)
-
Medium (0.5-0.7)
-
Low (<0.5)
-
Average Score

### Quality Score Distribution

### Scoring Provider Breakdown

### 🏆 Top Quality Memories

### 📈 Memories for Improvement

## 🔗 API Documentation

Comprehensive REST API endpoints for MCP Memory Service

Interactive Swagger UI
ReDoc Documentation
API Overview Page

### 💾 Memory Management

POST /api/memories Store a new memory with automatic embedding generation
GET /api/memories List all memories with pagination support
GET /api/memories/{content_hash} Retrieve a specific memory by content hash
DELETE /api/memories/{content_hash} Delete a memory and its embeddings

### 🔍 Search Operations

POST /api/search Semantic similarity search using embeddings
POST /api/search/by-tag Search memories by tags (AND/OR logic)
POST /api/search/by-time Natural language time-based queries
GET /api/search/similar/{content_hash} Find memories similar to a specific one

### 📡 Real-time Events

GET /api/events Subscribe to real-time memory events stream
GET /api/events/stats View SSE connection statistics

### 🏥 Health & Status

GET /api/health Quick health check endpoint
GET /api/health/detailed Detailed health with database statistics

### Memory Details

### Interactive Graph Visualization

### Add New Memory

Content
Tags (comma-separated)
Type

### Settings

#### Preferences

Theme
View Density
Memory Preview Lines

View your current environment configuration. To change settings, edit your .env file and restart the server.

#### System Information

Version: Loading...
Storage Backend: Loading...
Primary Backend: Loading...
Embedding Model: Loading...
Embedding Dimensions: Loading...
Database Size: Loading...
Total Memories: Loading...
Uptime: Loading...

#### Quality System

AI Provider
Local SLM provides zero-cost, privacy-preserving quality scoring
Enable Quality-Boosted Search Rerank search results to prioritize high-quality memories
Current Provider:
Local SLM (ms-marco-MiniLM-L-6-v2)
Zero cost • Full privacy • 50-100ms latency

#### Backup & Restore

Last Backup: Never
Backup Count: 0
Next Scheduled: -

#### Server Management

Server PID: -
Platform: -
Update Available: Checking...
Processing...

### Backup History

Loading backups...

Loading...

### Server Restarting...

Waiting for server to come back online...

Reconnecting in 5s

Connected

## 📝 Document Memory Chunks

### Loading...

0 chunks found

### 🔐 Authentication Required

The dashboard requires authentication to access memory operations.

#### API Key

#### OAuth

Use OAuth for team collaboration.