UNPKG

memory-engineering-mcp

Version:

🧠 AI Memory System powered by MongoDB Atlas & Voyage AI - Autonomous memory management with zero manual work

271 lines (214 loc) 8.7 kB
# 🧠 Memory Engineering MCP [![npm version](https://img.shields.io/npm/v/memory-engineering-mcp.svg)](https://www.npmjs.com/package/memory-engineering-mcp) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) <div align="center"> <a href="https://memory-engineering-mcp.vercel.app"> <img src="https://img.shields.io/badge/🚀_Visit_Landing_Page-FF6B6B?style=for-the-badge&logoColor=white" alt="Landing Page" height="40"/> </a> <br/> [**📦 NPM Package**](https://www.npmjs.com/package/memory-engineering-mcp) | [**💬 Discord**](https://discord.gg/memory-engineering) | [**📖 Documentation**](#-quick-start) </div> <br/> **Persistent memory and semantic code understanding for AI assistants.** Built on MongoDB Atlas Vector Search and Voyage AI embeddings. ## ✨ See It In Action <div align="center"> <a href="https://memory-engineering-mcp.vercel.app"> <img src="https://img.shields.io/badge/🌐_Interactive_Demo-4A90E2?style=for-the-badge" alt="Try Demo" /> </a> <p><i>Experience the power of semantic code search and persistent AI memory</i></p> </div> ## 🔥 The Game Changer: Code Embeddings **This is what makes Memory Engineering different from everything else:** ### Revolutionary Code Chunking - **Smart Semantic Boundaries**: Tracks braces, parentheses, and indentation to capture COMPLETE functions (up to 200 lines) and classes (up to 300 lines) - **Context-Aware**: Every chunk includes its imports, dependencies, and surrounding context - **Pattern Detection**: Automatically identifies 27 code patterns (error-handling, async, authentication, etc.) ### Why This Matters ```javascript // Traditional chunking BREAKS this function in half: function processPayment(order) { // <- Chunk 1 ends here validateOrder(order); // <- Chunk 2 starts here, loses context! // ... 50 more lines } // Our chunking keeps it COMPLETE: function processPayment(order) { // <- Full function preserved validateOrder(order); // ... entire function included } // <- Chunk ends at semantic boundary ``` ### Semantic Code Search That Actually Works ```bash # Find similar implementations search --query "JWT refresh" --codeSearch "similar" # Find who implements an interface search --query "AuthProvider" --codeSearch "implements" # Find usage patterns search --query "error handling" --codeSearch "pattern" # Natural language → Code search --query "how do we validate users" # Automatically searches: authenticate, verify, check, validate patterns ``` ## 🧠 The 7 Core Memories Inspired by Cline, but enhanced with MongoDB persistence: 1. **activeContext** - What you're doing RIGHT NOW (update every 3-5 min!) 2. **projectbrief** - Core requirements and features 3. **systemPatterns** - Architecture decisions and patterns 4. **techContext** - Stack, dependencies, constraints 5. **progress** - What's done, in-progress, and next 6. **productContext** - Why this exists, user needs 7. **codebaseMap** - File structure with embedded statistics ## 💪 Technical Architecture ### MongoDB Atlas Integration - **Vector Search**: 1024-dimensional embeddings with cosine similarity - **Hybrid Search**: Combines semantic + keyword search - **Auto-indexing**: Manages compound, text, and vector indexes automatically - **Connection pooling**: 5-100 connections with retry logic ### Voyage AI Embeddings - **Model**: voyage-3 (1024 dimensions) - **Contextualized**: Each chunk knows about surrounding code - **Batch processing**: 100 chunks at a time for efficiency - **Smart caching**: Only re-embeds changed files ### Code Intelligence ```typescript // What gets captured in each chunk: interface CodeChunk { chunk: { type: 'function' | 'class' | 'method' | 'module'; signature: string; // Full signature with params content: string; // Complete code context: string; // Imports and dependencies startLine: number; endLine: number; }; contentVector: number[]; // 1024-dim embedding metadata: { patterns: string[]; // Detected patterns dependencies: string[]; // What it imports exports: string[]; // What it exports }; } ``` ## ⚡ Quick Start ### Installation ```bash npm install -g memory-engineering-mcp ``` ### Configure Cursor/.cursor/mcp.json ```json { "mcpServers": { "memory-engineering-mcp": { "command": "npx", "args": ["memory-engineering-mcp"], "env": { "MONGODB_URI": "your-mongodb-atlas-uri", "VOYAGE_API_KEY": "your-voyage-api-key" } } } } ``` ### First Run ```bash # Initialize (scans entire codebase, generates embeddings) memory_engineering_init # Now search your code semantically! memory_engineering_search --query "authentication flow" --codeSearch "pattern" # Update memories as you work memory_engineering_memory --name activeContext --content "Fixed JWT expiry..." ``` ## 🎯 Real Power Examples ### Finding Code You Forgot Exists ```bash search --query "payment processing" # Finds: processPayment(), handleStripeWebhook(), validateCard() # Even if you never used the word "payment" in those functions! ``` ### Understanding Patterns Across Codebase ```bash search --query "error" --codeSearch "pattern" # Returns ALL error handling patterns: # - try/catch blocks # - .catch() handlers # - error middleware # - validation errors ``` ### Tracking Decisions ```bash search --query "why Redis" # Finds the exact activeContext entry where you decided to use Redis # "Chose Redis for session storage because: 1) Fast lookups 2) TTL support..." ``` ## 📊 Performance Metrics - **Code sync**: Processes files with embeddings in batches of 100 - **Search latency**: <500ms for 100k chunks - **Memory operations**: <100ms - **Embedding dimensions**: 1024 (voyage-3 model) - **Chunk sizes**: 80-300 lines (adaptive, default 80) - **Pattern detection**: 27 patterns recognized ## 🔧 Advanced Features ### Smart Pattern Aliasing The system understands natural language variations: - "auth" → searches: authentication, authorization, login, JWT, token - "db" → searches: database, MongoDB, schema, model, collection - "error handling" → searches: try-catch, exception, error-handler ### Incremental Sync Only changed files are re-embedded: ```javascript // Detects changes via: - File modification time - Content hash comparison - Git diff integration - Automatic after 24h gap ``` ### Context Preservation Every code chunk maintains context: ```typescript // Original file: import { User } from './models'; import bcrypt from 'bcrypt'; class AuthService { async validateUser(email: string, password: string) { // ... implementation } } // Chunk includes: - Imports (User, bcrypt) - Class context (AuthService) - Full method implementation - Patterns detected: ["authentication", "async", "validation"] ``` ## 🛠️ Tools Reference | Tool | Purpose | Key Features | |------|---------|--------------| | `memory_engineering_init` | Initialize project | Scans code, creates memories, generates embeddings | | `memory_engineering_memory` | Read/Update memories | Unified interface for all 7 memories | | `memory_engineering_search` | Semantic search | Memory + code search with patterns | | `memory_engineering_sync` | Sync code embeddings | Smart chunking, incremental updates | | `memory_engineering_system` | Health & diagnostics | Status, environment, doctor mode | ## 🚀 Why This Works 1. **Complete Code Understanding**: Unlike other systems that break functions arbitrarily, we preserve semantic units 2. **Rich Embeddings**: Each chunk has context, patterns, and relationships 3. **Behavioral Prompting**: Dramatic prompts ensure AI assistants take memory seriously 4. **MongoDB Scale**: Handles millions of chunks with millisecond queries 5. **Voyage AI Quality**: State-of-the-art embeddings optimized for code ## 📦 Latest Updates ### v13.4.0 (January 2025) - Enhanced memory quality with structured templates - Improved pattern detection in code embeddings (now 27 patterns) - Better validation for consistent memory creation - All improvements are backwards compatible ### v13.3.2 - Consolidated tools for simpler interface - Performance optimizations ## 📄 License MIT - See [LICENSE](LICENSE) file ## 🔗 Links - [NPM Package](https://www.npmjs.com/package/memory-engineering-mcp) - [GitHub Repository](https://github.com/romiluz13/memory-engineering-mcp) - [MongoDB Atlas](https://www.mongodb.com/atlas) - [Voyage AI](https://voyageai.com) --- *Built with Model Context Protocol (MCP) by Anthropic*