mcp-long-term-memory

tomschell/mcp-long-term-memory

3.3

If you are the rightful owner of mcp-long-term-memory and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

Memory MCP Server is a long-term memory storage system for LLMs using the Model Context Protocol (MCP) standard.

The Memory MCP Server is designed to enhance the capabilities of large language models (LLMs) by providing a robust long-term memory storage system. Utilizing the Model Context Protocol (MCP) standard, this server allows LLMs to retain and recall the context of work done over the entire history of a project, even across multiple sessions. By employing semantic search with embeddings, it can provide relevant context from past interactions and development decisions. This system is particularly useful for project-based memory organization, offering multiple memory types such as conversations, code, decisions, and references. It also supports rich metadata storage, a tagging system for memory organization, and relationship tracking between memories. The server is built on Node.js and uses SQLite for database management, with Ollama providing the embedding capabilities.

Features

  • Project-based memory organization
  • Semantic search using Ollama embeddings (nomic-embed-text model, 768 dimensions)
  • Multiple memory types: Conversations, Code, Decisions, References
  • Rich metadata storage including implementation status, key decisions, files created/modified, code changes, dependencies added
  • Tagging system for memory organization and relationship tracking between memories

Usages

usage with local stdio

python
mcp.run(transport='stdio')  # Tools defined via @mcp.tool() decorator

usage with cursor

bash
npm run dev
# The server connects via stdio for Cursor compatibility

Tools

  1. store-dev-memory

    Create new development memories with content, type, tags, code changes, files created/modified, key decisions, and implementation status.

  2. list-dev-memories

    List existing memories with optional tag filtering.

  3. get-dev-memory

    Retrieve specific memory by ID.

  4. search

    Semantic search across memories using embeddings.