# ๐Ÿง  MCP Memory Server [![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?style=for-the-badge&logo=typescript&logoColor=white)](https://www.typescriptlang.org/) [![Node.js](https://img.shields.io/badge/Node.js-43853D?style=for-the-badge&logo=node.js&logoColor=white)](https://nodejs.org/) [![Azure Cosmos DB](https://img.shields.io/badge/Azure%20Cosmos%20DB-0078D4?style=for-the-badge&logo=microsoft-azure&logoColor=white)](https://azure.microsoft.com/en-us/services/cosmos-db/) [![OpenAI](https://img.shields.io/badge/OpenAI-412991?style=for-the-badge&logo=openai&logoColor=white)](https://openai.com/) **Advanced Memory System for Claude Desktop** - Transform Claude into an AI assistant with photographic memory using MCP (Model Context Protocol). ## โœจ What it does Imagine Claude with **persistent memory** that: - ๐Ÿง  **Remembers everything** from your conversations - ๐Ÿ” **Automatically retrieves context** when you reference past topics - ๐Ÿค– **Understands references** like "that project", "this company", "he/she" - ๐Ÿ“ˆ **Builds knowledge** over time across all your sessions - ๐Ÿ› ๏ธ **Auto-captures** results from web searches and other tools ## ๐Ÿš€ Quick Start ### Prerequisites - Node.js 18+ - Azure Cosmos DB account - OpenAI API key - Claude Desktop ### Installation ```bash git clone https://github.com/PlumyCat/mcp-memory-server.git cd mcp-memory-server npm install npm run build ``` ### Configuration 1. **Environment setup**: ```bash cp .env.example .env # Edit .env with your API keys ``` 2. **Claude Desktop configuration**: ```json { "mcpServers": { "memory": { "command": "node", "args": ["/path/to/mcp-memory-server/dist/index.js"], "cwd": "/path/to/mcp-memory-server" } } } ``` 3. **Test the magic**: ``` You: "I'm working on a TypeScript project using CosmosDB" Claude: [Responds normally + automatic background storage] # Later... You: "What was that project we discussed?" Claude: "You mentioned working on a TypeScript project using CosmosDB..." ``` ## ๐ŸŽฏ Key Features ### ๐Ÿง  **Intelligent Memory Storage** - Automatic entity extraction (people, companies, projects, tools) - Semantic storage with OpenAI embeddings - Conversation context preservation - Smart deduplication ### ๐Ÿ” **Advanced Search & Retrieval** - Semantic similarity search - Entity relationship mapping - Timeline-based retrieval - Context-aware responses ### ๐Ÿค– **Entity Resolution** - Automatic pronoun resolution ("he" โ†’ "John Smith") - Reference understanding ("that company" โ†’ "Microsoft") - Cross-conversation entity linking - Confidence scoring ### ๐Ÿ“Š **Analytics & Insights** - Conversation pattern analysis - Entity interaction timelines - Knowledge growth tracking - Usage statistics ## ๐Ÿ› ๏ธ Available Tools The server provides 6 MCP tools for Claude: | Tool | Description | Example Usage | |------|-------------|---------------| | `memory_store` | Store information with auto entity extraction | Automatically triggered during conversations | | `memory_search` | Semantic search through stored memories | "Find all discussions about React" | | `context_inject` | Get relevant context for current query | "What did we discuss about this project?" | | `entity_resolve` | Resolve references to actual entities | "Who is 'he' referring to?" | | `conversation_analyze` | Analyze conversation patterns | "Show my discussion statistics" | | `memory_timeline` | Get timeline of entity interactions | "Timeline of Microsoft mentions" | ## ๐Ÿ“ Project Structure ``` mcp-memory-server/ โ”œโ”€โ”€ src/ โ”‚ โ”œโ”€โ”€ config/ # Azure Cosmos DB configuration โ”‚ โ”œโ”€โ”€ memory/ # Core memory system (RAG, storage, graph) โ”‚ โ”œโ”€โ”€ types/ # TypeScript type definitions โ”‚ โ”œโ”€โ”€ utils/ # Entity extraction, context injection โ”‚ โ””โ”€โ”€ server.ts # Main MCP server implementation โ”œโ”€โ”€ scripts/ # Maintenance and health check scripts โ”œโ”€โ”€ tests/ # Unit and integration tests โ”œโ”€โ”€ docs/ # Technical documentation โ””โ”€โ”€ dist/ # Compiled JavaScript (generated) ``` ## ๐Ÿ—๏ธ Architecture ### Core Components - **RAG System**: Vector similarity search with OpenAI embeddings - **Entity Extractor**: NLP-based entity recognition with custom patterns - **Memory Storage**: Optimized CosmosDB integration with smart indexing - **Context Injector**: Intelligent context retrieval for conversations - **Graph Engine**: Entity relationship mapping and traversal ### Data Flow ```mermaid graph TD A[User Message] --> B[Entity Extraction] B --> C[Embedding Generation] C --> D[CosmosDB Storage] D --> E[Semantic Search] E --> F[Context Injection] F --> G[Enhanced Claude Response] ``` ## ๐Ÿ”ง Configuration ### Environment Variables ```bash # Azure Cosmos DB COSMOS_ENDPOINT=https://your-account.documents.azure.com:443/ COSMOS_KEY=your-primary-key COSMOS_DATABASE_NAME=memory-db COSMOS_CONTAINER_CONVERSATIONS=conversations COSMOS_CONTAINER_ENTITIES=entities # OpenAI OPENAI_API_KEY=your-openai-api-key # Optional NODE_ENV=production LOG_LEVEL=info MEMORY_RETENTION_DAYS=30 ``` ### Advanced Configuration See [Configuration Guide](docs/configuration.md) for detailed setup options. ## ๐Ÿงช Testing ```bash # Run all tests npm test # Health check npm run health-check # Test memory functionality npm run test-memory ``` ## ๐Ÿ“Š Performance - **Storage**: Optimized CosmosDB indexing for sub-100ms queries - **Search**: Vector similarity with 95%+ accuracy - **Memory**: Efficient entity deduplication and compression - **Scalability**: Handles 1000+ entities with consistent performance ## ๐Ÿ›ฃ๏ธ Roadmap ### โœ… **Completed** - Core memory storage and retrieval - Entity extraction and resolution - Semantic search with embeddings - CosmosDB integration - MCP server implementation ### ๐Ÿ”„ **In Progress** - [ ] Intelligent entity deduplication - [ ] Auto-capture of all MCP tool results - [ ] Enhanced entity classification patterns - [ ] Contradiction detection system ### ๐Ÿ”ฎ **Planned** - [ ] Multi-user memory isolation - [ ] Graph traversal with Gremlin queries - [ ] Advanced analytics dashboard - [ ] Memory compression and archiving See [Roadmap](Todolist.md) for detailed feature planning. ## ๐Ÿค Contributing We welcome contributions! Please see our [Contributing Guidelines](CONTRIBUTING.md) for details. ### Development Setup ```bash git clone https://github.com/PlumyCat/mcp-memory-server.git cd mcp-memory-server npm install npm run dev ``` ## ๐Ÿ“š Documentation - [Usage Guide](docs/usage-guide.md) - Comprehensive usage examples - [API Reference](docs/api-reference.md) - Detailed API documentation - [Architecture](docs/Architecture%20CosmosDB.md) - Technical architecture details - [Troubleshooting](docs/troubleshooting.md) - Common issues and solutions ## ๐Ÿ†˜ Support - ๐Ÿ“– Check the [Usage Guide](docs/usage-guide.md) for examples - ๐Ÿ› Report issues on [GitHub Issues](https://github.com/PlumyCat/mcp-memory-server/issues) - ๐Ÿ’ฌ Discuss on [GitHub Discussions](https://github.com/PlumyCat/mcp-memory-server/discussions) ## ๐Ÿ“„ License This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. ## ๐Ÿ™ Acknowledgments - [Model Context Protocol (MCP)](https://github.com/modelcontextprotocol) for the foundational protocol - [Claude Desktop](https://claude.ai) for the AI assistant platform - [Azure Cosmos DB](https://azure.microsoft.com/services/cosmos-db/) for scalable data storage - [OpenAI](https://openai.com) for embedding generation - [Compromise.js](https://github.com/spencermountain/compromise) for natural language processing ## โญ Star History [![Star History Chart](https://api.star-history.com/svg?repos=PlumyCat/mcp-memory-server&type=Date)](https://star-history.com/#PlumyCat/mcp-memory-server&Date) --- **Made with โค๏ธ for the Claude Desktop community**