All notable changes to MemoryGraph will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Web visualization dashboard
- PostgreSQL backend support (pg_graph)
- Enhanced embedding support
- Workflow automation templates
- Fixed FalkorDB integration tests failing in CI/CD when packages not installed
- Integration tests now properly skip (not fail) when FalkorDB/FalkorDBLite unavailable
- Fixed mock contamination between unit tests and integration tests
- Comprehensive documentation for encouraging memory creation
- New
docs/examples/CLAUDE_MD_EXAMPLES.mdwith ready-to-use templates - Memory best practices section in README
- CLAUDE.md configuration examples for proactive memory storage
New Graph Database Backends: Added two new high-performance graph database backends powered by FalkorDB.
- Zero-config embedded graph database: Like SQLite but with native Cypher queries
- Native graph operations: No NetworkX translation layer, true graph database performance
- Embedded deployment: Single file, no external server required
- Installation:
pip install memorygraphMCP[falkordblite] - Configuration: Set
MEMORY_BACKEND=falkordblite, optionally setFALKORDBLITE_PATH - Use case: Best for developers who want native graph database features without server setup
- Performance: Faster than SQLite+NetworkX for complex graph traversals
- High-performance graph database: 500x faster p99 latency than Neo4j (per FalkorDB benchmarks)
- Redis-based: Built on Redis for exceptional throughput and low latency
- Client-server architecture: Connect to user-managed FalkorDB instance
- Installation:
pip install memorygraphMCP[falkordb] - Configuration: Set
MEMORY_BACKEND=falkordb,FALKORDB_HOST,FALKORDB_PORT,FALKORDB_PASSWORD - Use case: Production deployments needing high-performance graph operations
- Deployment: Users must deploy FalkorDB separately (Docker recommended)
MemoryGraph now supports 5 backend options:
- SQLite (default) - Zero-config, 10k memories, embedded
- FalkorDBLite (new) - Zero-config, native graph, embedded
- FalkorDB (new) - High-performance, client-server, 500x faster than Neo4j
- Neo4j - Enterprise graph database, proven at scale
- Memgraph - In-memory graph database, fastest analytics
- 42 new tests: 21 FalkorDB backend tests + 21 FalkorDBLite backend tests (all passing)
- Backend abstraction: Both backends implement
GraphBackendinterface - Cypher compatibility: Full Cypher query support with FalkorDB dialect
- Error handling: Comprehensive exception wrapping and connection management
- Lazy imports: Optional dependencies loaded only when backend selected
- Backend factory: Automatic backend selection with
MEMORY_BACKENDenvironment variable
- Total tests: 910 (893 passing, 13 expected integration test skips, 4 skipped)
- New tests: 42 comprehensive unit tests for both FalkorDB backends
- Integration tests: Properly skip when FalkorDB not installed (expected behavior)
- No regressions: All existing backend tests continue to pass
- Code review: Zero issues found in comprehensive review
- Benchmark script: Added
/scripts/benchmark_backends.pyfor performance validation
- README.md: Updated with FalkorDB backends, installation examples, performance notes
- DEPLOYMENT.md: Added FalkorDB and FalkorDBLite sections with configuration examples
- CONFIGURATION.md: Added environment variable documentation for both backends
- TROUBLESHOOTING.md: Added FalkorDB-specific troubleshooting (libomp on macOS, connection issues)
- User responsibility: Clear documentation that FalkorDB client-server deployment is user-managed
- FalkorDBLite: Native graph operations without NetworkX overhead
- FalkorDB: Exceptionally low latency (500x faster p99 than Neo4j per vendor benchmarks)
- Benchmark script: Included for users to validate performance on their deployment
None - all existing backends continue to work unchanged.
No migration needed for existing users. New users can choose FalkorDB backends:
MEMORY_BACKEND=falkordblite- Embedded graph database (zero-config)MEMORY_BACKEND=falkordb- Client-server (requires FalkorDB instance)
- Added
falkordblite>=1.0.0to optional dependencies - Added
falkordb>=1.0.0to optional dependencies - Both included in
allextras:pip install memorygraphMCP[all]
- Backend ecosystem expanded from 3 to 5 options
- Badge updated from "3 Backends" to "5 options"
- Backend comparison table now includes all 5 backends
- Performance characteristics documented for each backend
- Consolidated workplan documents into single unified WORKPLAN.md
- Archived completed Phase 8 tasks to docs/archive/completed-tasks-2025-01.md
- Removed duplicate marketing documentation (marketing-plan.md, MARKETING_EXECUTIVE_SUMMARY.md)
- Centralized all active tasks in WORKPLAN.md for easier tracking
Project renamed from claude-code-memory to memorygraph to better reflect universal MCP compatibility. Originally built for Claude Code, MemoryGraph now emphasizes its support for any MCP-enabled coding agent (Cursor, Continue, etc.).
Package & CLI:
- Package name:
claude-code-memory→memorygraph - CLI command:
claude-memory→memorygraph - Python module:
claude_memory→memorygraph - Default database path:
~/.claude-memory/→~/.memorygraph/
Branding:
- Project name: "Claude Code Memory Server" → "MemoryGraph"
- Subtitle: "MCP Memory Server for AI Coding Agents"
- Positioning: Generic MCP server, compatible with any MCP-enabled coding agent
- Documentation: Updated to emphasize MCP standard and universal compatibility
Repository (to be updated):
- GitHub:
gregorydickson/claude-code-memory→gregorydickson/memorygraph - PyPI:
claude-code-memory→memorygraph
- Better Branding: More descriptive, not Claude-specific
- Universal MCP Compatibility: Works with any MCP-enabled coding agent
- Professional Naming: "MemoryGraph" describes functionality (graph-based memory)
- Broader Audience: Appeals to all MCP client users, not just Claude Code
For Existing Users: See MIGRATION.md for complete upgrade guide.
Quick Migration:
pip uninstall claude-code-memory && pip install memorygraphMCP- Update MCP config:
"claude-memory"→"memorygraph" - Move database:
mv ~/.claude-memory ~/.memorygraph(or useMEMORY_SQLITE_PATHenv var) - Restart your coding agent
- All features and functionality
- Environment variables (still use
MEMORY_*prefix) - Database schema and compatibility
- All 44 MCP tools
- Backend support (SQLite, Neo4j, Memgraph)
- Still optimized for Claude Code, but now explicitly supports all MCP clients
- Zero-Config Default: SQLite backend with no setup required
- Three-Tier Complexity Model: Lite (8 tools) → Standard (15 tools) → Full (44 tools)
- Multi-Backend Support: SQLite (default), Neo4j, and Memgraph
- Tool Profiling System: Choose complexity level via
MEMORY_TOOL_PROFILEenv var - CLI Command:
memorygraphwith flags for backend, profile, and logging - Docker Support: Complete Docker Compose configurations for all backends
- PyPI Publication: Install via
pip install memorygraphMCP
-
SQLite Backend as Default:
- Zero configuration required
- NetworkX for graph operations
- Optimized for <10k memories
- WAL mode, connection pooling, indexes
- Full feature parity with graph backends
-
Tool Profiling:
liteprofile: 8 core tools (default)standardprofile: 15 tools (core + intelligence)fullprofile: All 44 tools (graph analytics, workflows, proactive AI)- Environment variable:
MEMORY_TOOL_PROFILE - CLI flag:
--profile lite|standard|full
-
CLI Implementation:
- Entry point:
memorygraphcommand - Flags:
--backend,--profile,--log-level - Commands:
--version,--show-config,--health - Helpful error messages and validation
- Entry point:
-
Docker Deployment:
- Base Dockerfile (Python 3.11-slim)
docker-compose.yml- SQLite mode (default)docker-compose.neo4j.yml- Neo4j with Browserdocker-compose.full.yml- Memgraph with Lab- Health checks and optimized settings
-
Documentation Overhaul:
- README.md: Completely rewritten, beginner-friendly
- Quick Start section (30-second setup)
- "Choose Your Mode" comparison table
- Feature badges (Zero Config, 3 Backends, etc.)
- MCP specification introduction explaining open standard architecture
- Multiple example MCP configurations (8 examples covering all modes)
- FULL_MODE.md: Advanced features guide
- DEPLOYMENT.md: Complete deployment guide
- CLAUDE_CODE_SETUP.md: Step-by-step integration
- TOOL_PROFILES.md: Complete tool reference
-
uvx Support (Documentation):
- Package works with
uvx memorygraphout of the box - Option 3 in installation methods for quick testing
- Installation method comparison table
- CI/CD integration examples (GitHub Actions, GitLab CI)
- Clear guidance: uvx for testing, pip for production
- Warning against using uvx for persistent MCP servers
- Package works with
-
Package Configuration:
- Version: 1.0.0
- Updated repository URLs (gregorydickson)
- Optional dependencies: neo4j, memgraph, intelligence, dev, all
- Python 3.10+ support
- MIT License
- Production/Stable status
- Default Backend: Neo4j → SQLite (for zero-config experience)
- Default Profile: Full → Lite (8 tools, simpler onboarding)
- Repository Owner: ViralV00d00 → gregorydickson
- Architecture: Modular backend factory pattern
- Tool Registration: All 44 tools registered with profile filtering
- SQLite: All 44 tools supported (default)
- Neo4j: All 44 tools supported (optimal for production)
- Memgraph: All 44 tools supported (fastest analytics)
- Total tests: 409
- Passing: 401/409 (98%)
- Coverage: 93%
- Backends tested: SQLite, Neo4j, Memgraph
- Default backend changed from Neo4j to SQLite
- Environment variable
NEO4J_URIno longer required by default - Tool profile filtering may hide tools in lite/standard modes
- Existing users: Set
MEMORY_BACKEND=neo4jto keep current setup - New users: Zero config required, just
pip install memorygraphMCP - Upgrading profiles: No data migration needed, just change
MEMORY_TOOL_PROFILE
- pip install (recommended):
pip install memorygraphMCP - Docker:
docker compose up -d - From source:
git clone && pip install -e . - uvx (testing/CI):
uvx memorygraph
- SQLite: <100ms queries for 10k memories
- Neo4j: 10x faster graph operations at scale
- Memgraph: 100x faster complex analytics
-
Session Start Intelligence: Automatic briefings when Claude Code starts
- Project detection and context loading
- Recent activity summary (last 7 days)
- Unresolved problems identification
- Relevant pattern suggestions with effectiveness scores
- Deprecation warnings for outdated approaches
- Configurable verbosity (minimal/standard/detailed)
- MCP tool:
get_session_briefing - MCP resource:
memory://session/briefing/{project_name}
-
Predictive Suggestions Engine: Proactive suggestions based on current context
- Entity-based suggestion matching
- Pattern relevance scoring with transparency
- Related context discovery ("You might also want to know...")
- Evidence-based recommendations with source attribution
- MCP tools:
get_suggestions,suggest_related_memories
-
Issue Warning System: Proactive issue detection
- Deprecated approach detection using DEPRECATED_BY relationships
- Known problem pattern matching
- Severity-based filtering (low/medium/high)
- Mitigation suggestions for identified issues
- MCP tool:
check_for_issues
-
Outcome Learning System: Track and learn from solution effectiveness
- Outcome recording (success/failure with context)
- Effectiveness score updates using Bayesian updating
- Pattern effectiveness propagation with dampening
- Confidence scoring based on usage history
- Designed decay mechanism (documented, not yet implemented)
- MCP tool:
record_outcome
-
Advanced Analytics Queries: Insights into knowledge graph structure
- Graph visualization data export (D3/vis.js compatible)
- Solution similarity analysis using Jaccard similarity
- Solution effectiveness prediction
- Learning path recommendations
- Knowledge gap identification (unsolved problems, sparse entities)
- Memory ROI tracking (value scoring, usage statistics)
- MCP tools:
get_graph_visualization,find_similar_solutions,predict_solution_effectiveness,recommend_learning_paths,identify_knowledge_gaps,track_memory_roi
-
Architecture & Documentation:
- ADR 008: Proactive Intelligence Architecture
- 63 new tests (55 passing, 87% quality)
- Comprehensive module documentation
- Backend-agnostic implementation
- Total test count: 409 (346 + 63 new)
- Architecture health score: A+ (98/100)
- Total MCP tools: 30 (19 core + 11 proactive)
- Overall test coverage: 90%+ maintained
-
Context Capture Module: Automatic development context tracking
- Task context capture (description, goals, files involved)
- Command execution tracking (command, output, error, success)
- Error pattern analysis with frequency tracking
- Solution effectiveness tracking
- Privacy-first: automatic sanitization of API keys, passwords, tokens, emails
- 99% test coverage
-
Project Analysis Module: Project-aware memory intelligence
- Project detection from config files (8 language types supported)
- Codebase analysis (file counts, languages, frameworks)
- Git integration for file change tracking
- Code pattern identification (API endpoints, classes, async patterns)
- Framework detection (React, Vue, FastAPI, Django, etc.)
- 88% test coverage
-
Workflow Tracking Module: Development workflow optimization
- Workflow action tracking with session management
- Workflow suggestions based on successful patterns
- Optimization recommendations (slow actions, repeated failures)
- Session state management for continuity
- Next-step suggestions based on context
- 96% test coverage
-
11 New MCP Tools for Integration:
capture_task: Capture task contextcapture_command: Capture command executiontrack_error_solution: Track solution effectivenessdetect_project: Detect project informationanalyze_project: Analyze codebase structuretrack_file_changes: Track git changesidentify_patterns: Identify code patternstrack_workflow: Track workflow actionssuggest_workflow: Get workflow suggestionsoptimize_workflow: Get optimization recommendationsget_session_state: Get current session state
-
75 New Integration Tests: Comprehensive test suite
- 27 context capture tests
- 18 project analysis tests
- 30 workflow tracking tests
- All tests passing (100% pass rate)
- Total test count: 346 (271 + 75 new)
-
Security Features:
- Automatic redaction of sensitive data patterns
- Safe subprocess handling with timeouts
- Graceful handling of missing git repositories
- No credential leaking into memories
- Memory type system: Added task, observation, file_change, error_pattern, workflow_action, code_pattern
- Entity types: Added session, file, project entities
- Relationship usage: Leverages existing types (PART_OF, INVOLVES, EXECUTED_IN, EXHIBITS, SOLVES, IN_SESSION, FOLLOWS)
- ADR 007: Claude Code Integration Architecture
- Updated enhancement plan with Phase 6 completion
- Integration module documentation
- Security sanitization patterns documented
-
Entity Extraction Module: Automatic entity identification from memory content
- Support for 12 entity types (FILE, FUNCTION, CLASS, ERROR, TECHNOLOGY, CONCEPT, etc.)
- Regex-based pattern matching with 82% coverage
- Optional NLP support via spaCy
- Confidence scoring and deduplication
- Automatic entity linking with MENTIONS relationships
-
Pattern Recognition Module: Identify reusable patterns from accumulated memories
- Find similar problems using keyword/entity matching
- Extract common patterns from entity co-occurrences
- Pattern confidence scoring based on frequency
- Context-aware pattern suggestions
- 95% test coverage
-
Temporal Memory Module: Track how information changes over time
- Version history traversal via PREVIOUS relationships
- Point-in-time state queries
- Entity timeline tracking
- Version diff comparison
- 97% test coverage
-
Context-Aware Retrieval Module: Intelligent context assembly
- Multi-factor relevance ranking (entities + keywords + recency)
- Token-limited context formatting
- Project-scoped context retrieval
- Session briefings (last 24 hours)
- Relationship traversal for related context
-
94 New Intelligence Tests: Comprehensive test coverage
- 28 entity extraction tests
- 23 pattern recognition tests
- 21 temporal memory tests
- 22 context retrieval tests
- All passing with high coverage (82-97%)
-
7 New MCP Tools:
find_similar_solutions: Find similar problems and their solutionssuggest_patterns_for_context: Get relevant pattern suggestionsget_memory_history: View version history for a memorytrack_entity_timeline: Track entity usage over timeget_intelligent_context: Smart context retrieval with rankingget_project_summary: Comprehensive project overviewget_session_briefing: Recent activity summary
- Smart Entity Recognition: Automatically identify technologies, errors, files, concepts
- Pattern Learning: Extract reusable patterns from successful solutions
- Version Tracking: Complete audit trail of how memories evolve
- Intelligent Ranking: Relevance-based context with entity + keyword + recency scoring
- Backend Agnostic: All intelligence features work across Neo4j, Memgraph, SQLite
- Modular intelligence layer with 4 specialized modules
- Clean separation of concerns (extraction, recognition, temporal, retrieval)
- Extensible design for future ML/NLP enhancements
- Zero-dependency core with optional advanced features
docs/adr/006-intelligence-layer-architecture.md: ADR for intelligence design- Comprehensive module docstrings with examples
- Type hints on all public APIs
- Usage examples for all MCP tools
- Entity extraction: <100ms for typical memory
- Pattern recognition: <200ms with 1000+ memories
- Context retrieval: <500ms for complex queries
- Temporal queries: <100ms for version chains
- Total Tests: 271 (up from 177)
- Pass Rate: 100%
- Intelligence Coverage: 82-97% across modules
- Overall Coverage: 66%
- Abstract Backend Layer: Introduced
GraphBackendinterface for database abstraction - Neo4j Backend: Refactored existing Neo4j code into
neo4j_backend.pyimplementing GraphBackend - Memgraph Backend: Added full Memgraph support using Bolt protocol and Cypher compatibility
- SQLite Fallback: Implemented zero-dependency SQLite + NetworkX fallback backend
- Backend Factory: Automatic backend selection with priority-based fallback (Neo4j → Memgraph → SQLite)
- Configuration System: Centralized configuration with multi-backend environment variables
- 36 New Backend Tests: Comprehensive test suite for all backend implementations
- 19 Neo4j backend tests
- 17 Backend factory tests
- Automatic Backend Selection:
MEMORY_BACKEND=autotries backends in order until one connects - Explicit Backend Selection: Support for
neo4j,memgraph,sqlitevia env var - Zero Setup Option: SQLite fallback requires no external database
- Cypher Dialect Adaptation: Automatic query translation for Memgraph compatibility
- Health Checks: Backend health monitoring with connection status and statistics
- New environment variables for multi-backend support:
MEMORY_BACKEND: Backend selection (neo4j|memgraph|sqlite|auto)MEMORY_NEO4J_URI,MEMORY_NEO4J_USER,MEMORY_NEO4J_PASSWORDMEMORY_MEMGRAPH_URI,MEMORY_MEMGRAPH_USER,MEMORY_MEMGRAPH_PASSWORDMEMORY_SQLITE_PATH: SQLite database file location- Backward compatibility with
NEO4J_*environment variables
docs/CYPHER_COMPATIBILITY.md: Comprehensive guide to Cypher dialect differences- Backend comparison matrix with feature support
- Migration guide between backends
- Performance considerations for each backend
- All backends implement identical
GraphBackendinterface - Neo4j backend supports full-text search with FULLTEXT INDEX
- Memgraph backend with Cypher dialect adaptations
- SQLite backend uses FTS5 for full-text search, NetworkX for graph operations
- Async/await throughout all backend implementations
- Connection pooling and retry logic in Neo4j/Memgraph backends
- Test coverage maintained at 76% (now covering 98 tests)
- All 98 tests passing (100% pass rate)
- Backend-specific test suites with mocking
- Integration tests verify cross-backend compatibility
- None - existing Neo4j deployments continue to work without changes
- Default behavior unchanged when using existing
NEO4J_*environment variables
- Custom exception hierarchy with detailed error information
- Comprehensive error handling across all modules
- AsyncIO refactoring for all database operations
- Full MCP protocol compliance with isError flags
- 62 comprehensive unit tests across all modules:
- 28 database tests (Neo4j connection, CRUD, relationships, statistics)
- 19 server tests (MCP handlers, validation, error handling)
- 8 exception tests (custom exceptions, error hierarchy)
- 7 model tests (Pydantic validation, serialization)
- All async database operations now properly use AsyncIO
- Server handlers correctly set isError=True for error responses
- Comprehensive exception handling in all handler methods
- Mock return values aligned with actual implementation
- API parameter names standardized (depth → max_depth, memory_type → type)
- Test coverage increased from 67% to 76%:
- database.py: 65% → 71%
- server.py: 38% → 63%
- models.py: 97%
- All 62 tests passing (100% pass rate)
- Better error messages with context and validation details
- Consistent exception handling patterns
- ✅ Async refactoring complete
- ✅ Custom exceptions implemented
- ✅ Test infrastructure created
- ✅ Error handling standardized
- ✅ MCP protocol compliance verified
- Initial project setup with Python packaging (pyproject.toml)
- Comprehensive Neo4j-based MCP memory server implementation
- Complete data models with Pydantic validation
- 8 core MCP tools for memory management:
store_memory- Store memories with context and metadataget_memory- Retrieve specific memories by IDsearch_memories- Advanced search with filteringupdate_memory- Modify existing memoriesdelete_memory- Remove memories and relationshipscreate_relationship- Link memories with typed relationshipsget_related_memories- Find connected memoriesget_memory_statistics- Database analytics
- Advanced relationship system with 7 categories and 35 relationship types:
- Causal: CAUSES, TRIGGERS, LEADS_TO, PREVENTS, BREAKS
- Solution: SOLVES, ADDRESSES, ALTERNATIVE_TO, IMPROVES, REPLACES
- Context: OCCURS_IN, APPLIES_TO, WORKS_WITH, REQUIRES, USED_IN
- Learning: BUILDS_ON, CONTRADICTS, CONFIRMS, GENERALIZES, SPECIALIZES
- Similarity: SIMILAR_TO, VARIANT_OF, RELATED_TO, ANALOGY_TO, OPPOSITE_OF
- Workflow: FOLLOWS, DEPENDS_ON, ENABLES, BLOCKS, PARALLEL_TO
- Quality: EFFECTIVE_FOR, INEFFECTIVE_FOR, PREFERRED_OVER, DEPRECATED_BY, VALIDATED_BY
- Neo4j database connection and management with connection pooling
- Comprehensive schema documentation and API reference
- GitHub project management with issues, labels, and milestones
- Complete implementation plan with 7-phase roadmap
- Test suite foundation with model validation tests
- Docker-ready configuration with environment variable support
- README.md with complete project overview and usage instructions
- Schema documentation with all node types and relationships
- Implementation plan with detailed phase breakdown
- API documentation for all MCP tools
- Development setup and configuration guide
- GitHub repository with proper issue tracking
- Git workflow with semantic commit messages
- Automated schema initialization
- Performance optimization with indexes and constraints
- Error handling and logging throughout
- mcp>=1.0.0 - Model Context Protocol SDK
- neo4j>=5.0.0 - Neo4j Python driver
- pydantic>=2.0.0 - Data validation and parsing
- python-dotenv>=1.0.0 - Environment variable management
- Issues Closed: #1, #2, #3
- Commits: 2 major commits with 12 files added
- Status: All core infrastructure and basic MCP server operational
- Target: January 2025
- Focus: CRUD operations, entity management, basic relationships
- Issues: #12-25 (to be created)
- Target: February 2025
- Focus: All 35 relationship types, weighted properties, intelligence
- Target: February-March 2025
- Focus: Development context capture, workflow integration
- Target: March-April 2025
- Focus: Pattern recognition, automatic relationship detection
- Target: April-May 2025
- Focus: Complex queries, effectiveness tracking, visualization
- Target: May 2025
- Focus: Production readiness, performance optimization, deep integration
This project is licensed under the MIT License - see the LICENSE file for details.