Memory Service

@doobidoo/mcp-memory-service

Provide semantic memory and persistent storage using ChromaDB.

An MCP server providing semantic memory and persistent storage capabilities for Claude Desktop using ChromaDB and sentence transformers. This service enables long-term memory storage with semantic search capabilities, making it ideal for maintaining context across conversations and instances. For personal use only. No user management is provided.

Features

  • Semantic search using sentence transformers
  • Tag-based memory retrieval system
  • Persistent storage using ChromaDB
  • Automatic database backups
  • Memory optimization tools
  • Exact match retrieval
  • Debug mode for similarity analysis
  • Database health monitoring
  • Duplicate detection and cleanup
  • Customizable embedding model

Available Tools and Operations

The list covers all the core functionalities exposed through the MCP server's tools, organized by their primary purposes and use cases. Each category represents a different aspect of memory management and interaction available through the system.

Core Memory Operations

  1. store_memory

    • Store new information with optional tags
    • Parameters:
      • content: String (required)
      • metadata: Object (optional)
        • tags: Array or list of strings
        • type: String
  2. retrieve_memory

    • Perform semantic search for relevant memories
    • Parameters:
      • query: String (required)
      • n_results: Number (optional, default: 5)
  3. search_by_tag

    • Find memories using specific tags
    • Parameters:
      • tags: Array of strings (required)

Advanced Operations

  1. exact_match_retrieve

    • Find memories with exact content match
    • Parameters:
      • content: String (required)
  2. debug_retrieve

    • Retrieve memories with similarity scores
    • Parameters:
      • query: String (required)
      • n_results: Number (optional)
      • similarity_threshold: Number (optional)

Database Management

  1. create_backup

    • Create database backup
    • Parameters: None
  2. get_stats

    • Get memory statistics
    • Returns: Database size, memory count
  3. optimize_db

    • Optimize database performance
    • Parameters: None
  4. check_database_health

    • Get database health metrics
    • Returns: Health status and statistics
  5. check_embedding_model

    • Verify model status
    • Parameters: None

Memory Management

  1. delete_memory

    • Delete specific memory by hash
    • Parameters:
      • content_hash: String (required)
  2. delete_by_tag

    • Delete all memories with specific tag
    • Parameters:
      • tag: String (required)
  3. cleanup_duplicates

    • Remove duplicate entries
    • Parameters: None

Performance and Maintenance

  • Default similarity threshold: 0.7
  • Maximum recommended memories per query: 10
  • Automatic optimization at 10,000 memories
  • Daily automatic backups with 7-day retention
  • Regular database health monitoring recommended
  • Cloud storage sync must complete before access
  • Debug mode available for troubleshooting

Sample Use Cases

Semantic requests:

🖼️

🖼️

Call by tool name:

🖼️

Development Guidelines

  • Follow PEP 8
  • Use type hints
  • Include docstrings for all functions and classes
  • Add tests for new features

Pull Request Process

  1. Create a feature branch
  2. Add tests for new functionality
  3. Update documentation
  4. Submit PR with description of changes

Acknowledgments

  • ChromaDB team for the vector database
  • Sentence Transformers project for embedding models
  • MCP project for the protocol specification

Contact

📞

Installation

Install Command

Integrate this tool for Claude Desktop.

Server Statistics

LicenseMIT
LocalYes
Published1/1/2025