Provides secure multi-tenant user isolation and OAuth-based authentication for remote access to the memory service.
Supports bidirectional synchronization of Google Contacts and Calendar data with incremental sync capabilities.
Enables week-based synchronization of calendar events with attendee linking to track interaction history and context.
Utilizes Google Cloud for OAuth configuration and API management to facilitate secure contact and calendar integrations.
Facilitates bidirectional synchronization with macOS Contacts, featuring LLM-based deduplication for managing contact records.
Integrates with OpenAI to automatically generate and update vector embeddings for semantic search and hierarchical knowledge organization.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Memory Service - TypeScriptSearch my memories for notes about the Project Orion kickoff"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Memory Service - TypeScript
A modern TypeScript implementation of a cloud-based vector memory service for AI assistants via the Model Context Protocol (MCP). This service provides persistent storage with semantic search capabilities for Claude.ai and other AI assistants.
Current Version: 1.7.2 | Status: Production-ready | Test Coverage: 95.2%
Features
š§ 3-Tier Memory System: SYSTEM, LEARNED, and MEMORY layers for hierarchical knowledge organization
š„ Multi-Tenant Support: Secure user isolation with Clerk OAuth authentication
š Vector Search: Semantic similarity search using OpenAI embeddings
š Automatic Embeddings: Auto-generates and updates embeddings on data changes
š¢ Entity Management: Track people, organizations, projects, and relationships
š Interaction History: Store and retrieve conversation history with context
š± Contacts Sync: True bidirectional sync with macOS Contacts using LLM-based deduplication
š Google Sync: Google Contacts and Calendar integration with incremental sync (v1.7.0+)
š Calendar Tracking: Week-based Google Calendar event sync with attendee linking
š Web Interface: Modern Next.js web UI for visual memory management (staging on port 3002)
š MCP Protocol: JSON-RPC 2.0 over stdio (local) and HTTP (remote)
š REST API: HTTP interface for web applications
š OAuth Integration: Clerk authentication for remote access with 95.2% test coverage
āļø Cloud-Ready: Built for modern cloud deployment with Turso database
š Security Patches: Critical user isolation vulnerabilities fixed in v1.7.1
š Smart Logging: LOG_LEVEL-aware logging with state tracking (v1.7.1+)
Architecture
Quick Start
Prerequisites
Node.js 18+
Turso database (or LibSQL compatible)
OpenAI API key (for embeddings)
Installation
Environment Variables
Required variables in .env:
Usage
MCP Server (for Claude Desktop)
Recommended: Using CLI Tool
This creates a config in ~/Library/Application Support/Claude/claude_desktop_config.json:
Manual Setup
For development or manual configuration:
Remote MCP Server (HTTP with OAuth)
For web applications and remote access with Clerk authentication:
The remote MCP server will be available at http://localhost:3003 with:
Authentication: Clerk OAuth session tokens
Multi-Tenant: Complete user isolation by email
Protocol: JSON-RPC 2.0 over HTTP
Security: Rate limiting, CORS, session management
Endpoints:
/mcp(main),/healthTest Coverage: 95.2% pass rate (20/21 tests)
OAuth Setup
Get Clerk credentials from dashboard.clerk.com
Configure environment:
# Development Keys CLERK_SECRET_KEY=your-clerk-test-secret-key NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_bmF0aXZlLW1hcm1vc2V0LTc0LmNsZXJrLmFjY291bnRzLmRldiQ # Production Keys (when ready) CLERK_SECRET_KEY=your-clerk-live-secret-key NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_live_Y2xlcmsuYWktbWVtb3J5LmFwcCQStart server:
npm run mcp-server-remoteTest with authentication:
curl -X POST http://localhost:3003/mcp \ -H "Authorization: Bearer YOUR_CLERK_TOKEN" \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}'
See docs/REMOTE_MCP_SETUP.md for detailed setup instructions.
Web Interface (v1.3.0+)
Modern Next.js web interface for visual memory management:
The web interface will be available at:
Staging:
http://localhost:3002(development/testing)Production:
http://localhost:3001(via PM2)
Features:
Authentication: Clerk OAuth for multi-user support
Visual Search: Interactive memory browser with semantic search
Entity Management: Visual relationship mapping
Real-time Sync: Bidirectional sync with MCP server
Contacts Integration: Import/export with LLM deduplication
Google Integration: Contacts and Calendar sync with OAuth
See docs/features/WEB_INTERFACE.md for complete setup and deployment guide.
REST API Server
The API will be available at http://localhost:3000 with endpoints for:
/api/memories- Memory management/api/entities- Entity management/api/search- Vector and text search/api/users- User management
Development
Testing
The project includes comprehensive test coverage:
Unit Tests: Core functionality and utilities
Integration Tests: OAuth authentication, user isolation, MCP protocol
E2E Tests: Complete workflows and Claude Desktop integration
Test Results: 95.2% pass rate (20/21 tests passing)
See docs/testing/QA_TEST_REPORT.md for detailed test results.
Documentation
Core Documentation
Guides
Deployment Guide - Production deployment
CLI Guide - Command-line interface
Contacts Sync Guide - Bidirectional sync with macOS Contacts
Contacts Sync Quick Start - Quick start for contacts sync
Google Setup Guide - Google Cloud setup and OAuth configuration
Google Contacts Sync Guide - Google Contacts sync with LLM deduplication
Google Calendar Sync Guide - Google Calendar week-based sync
Google Migration Guide - Migrate from macOS to Google sync
Migration Guide - Schema migrations
Features
Web Interface - Web UI setup and usage
Google Sync - Google integration overview and features
Contacts Sync Performance - Sync optimization
API Reference
Google API Reference - REST API for Google sync
Security
Clerk Implementation - Clerk setup guide
Clerk Migration - Auth migration guide
Security Fixes - v1.2.1 security patches
Deployment
Deployment Comparison - Compare deployment options
Schema & Database
Schema Optimization - Database design
Schema Analysis - Database structure
Testing & Quality
Verification Checklist - Deployment checklist
Migration Tests - Migration test results
QA Test Report - Quality assurance results
Additional Documentation
docs/ - Complete documentation library
License
MIT License - See LICENSE file for details.
Testing
Comprehensive Integrity Tests
A comprehensive test suite is available to verify data integrity and system reliability:
The test suite validates:
Data integrity (type preservation, importance values, metadata)
Boundary conditions (volume, special characters, concurrent operations)
Recovery & reliability (updates, deletions, clear operations)
Search algorithms (single-word, multi-word, case insensitivity)
Production scenarios (session tracking, priority queues, date handling)
Expected results: 17/17 tests passed, 5/5 production criteria met
See docs/testing/ for detailed test results and analysis.