Skip to main content
Glama

memorious-mcp

sd

A 100% local & private semantic memory MCP (Model Context Protocol) server for AI assistants. Built with ChromaDB for vector similarity search and FastMCP 2. Runs entirely locally - no data ever leaves your machine.

Overview

memorious-mcp provides AI assistants with long-term memory capabilities through three core operations: store, recall, and forget. It uses ChromaDB's vector database to enable semantic similarity search, allowing assistants to retrieve relevant memories even when the exact wording differs from the original storage. All processing and storage happens locally on your machine - no data ever leaves your machine, ensuring complete privacy and security.

Related MCP server: MCPMem

Key Features

  • šŸ  100% Local & Private: All data processing and storage happens on your machine - nothing goes to the cloud

  • šŸ’¾ Persistent Memory: Data persists across sessions using ChromaDB's disk-based storage

  • šŸ” Semantic Search: Vector embeddings enable similarity-based memory retrieval

  • ⚔ Simple API: Three intuitive tools for memory management

  • šŸš€ FastMCP Integration: Built on FastMCP for efficient MCP server implementation

  • šŸŽÆ Canonical Key Design: Optimized for short, embedding-friendly keys (1-5 words)

  • šŸ“‚ Folder Scoped Storage: Per-project memory isolation.

Why This Project Exists

šŸ” Gap in the MCP Ecosystem: Despite the growing popularity of memory MCP servers, there wasn't an existing memory server that combines both semantic similarity search and complete file based folder scoped local storage. Most memory solutions either:

  • ā˜ļø Require cloud services and external API calls (compromising privacy) for either embeddings or storage or both

  • šŸ”¤ Only support exact key-value matching (no semantic understanding)

  • šŸ“ Don't support folder scoped local storage

Use Cases

  • Personal Assistant Memory: Remember user preferences, habits, and personal information

  • Context Preservation: Maintain conversation context across sessions

  • Knowledge Management: Store and retrieve project-specific information

  • Personalization: Enable AI assistants to provide personalized responses based on stored preferences

  • Privacy-First AI: Keep sensitive personal data local while still having persistent memory

  • Folder-Scoped AI Agents: Perfect for VS Code Copilot Chat Modes and Claude Code agents with per-project memory isolation

Installation

For VS Code

Make sure you have uv and its its uvx command installed first.

Install in VS Code

Install in VS Code Insiders

For most MCP clients

Add to your MCP client configuration:

{
  "mcpServers": {
    "memorious": {
      "command": "uvx",
      "args": ["memorious-mcp"]
    }
  }
}

Development / Local Installation

uv sync

For development/local installation:

{
  "mcpServers": {
    "memorious": {
      "command": "uv",
      "args": ["run", "memorious-mcp"],
      "cwd": "/path/to/memorious-mcp"
    }
  }
}

Tools

store

Store facts, preferences, or information with short canonical keys optimized for vector similarity.

Parameters:

  • key (string): Short, canonical key (1-5 words, space-separated)

  • value (string): The actual information to store

recall

Retrieve stored memories using semantic similarity search.

Parameters:

  • key (string): Query key for similarity search

  • top_k (int, default: 3): Maximum number of results to return

forget

Delete memories matching a query key.

Parameters:

  • key (string): Query key to find memories to delete

  • top_k (int, default: 3): Number of nearest matches to consider

Claude CLI Configuration

To add memorious-mcp to Claude CLI, use the following commands:

# Add the MCP server using uvx (recommended)
claude mcp add memorious-mcp uvx memorious-mcp

# Alternative: for development/local installation
claude mcp add memorious-mcp uv run --project <memorious_mcp_src> memorious-mcp

You can then list your configured MCP servers:

claude mcp list

And remove the server if needed:

claude mcp remove memorious-mcp

Example Tool Signatures

  • store(key: str, value: str) -> {"id": str}

  • recall(key: str, top_k: int = 3) -> {"results": [...]} where each result includes id, key, value, distance, timestamp

  • forget(key: str, top_k: int = 3) -> {"deleted_ids": [...]}

Testing

Run tests with:

# Using uv
uv run python -m pytest tests/ -v

# Or if pytest is available globally
pytest tests/ -v

Technical Details

  • Backend: ChromaDB with persistent disk storage

  • Embeddings: Uses ChromaDB's default embedding function (local processing)

  • Storage Location: ./.memorious directory (configurable)

  • Python Version: Requires Python ≄3.12

  • License: MIT

  • Privacy: No network requests, no cloud dependencies, all data stays local

Package Structure

The project follows the standard Python package layout:

memorious-mcp/
ā”œā”€ā”€ src/
│   └── memorious_mcp/
│       ā”œā”€ā”€ __init__.py
│       ā”œā”€ā”€ main.py                 # MCP server entry point
│       └── backends/
│           ā”œā”€ā”€ __init__.py
│           ā”œā”€ā”€ memory_backend.py   # Abstract base class
│           └── chroma_backend.py   # ChromaDB implementation
ā”œā”€ā”€ tests/
│   └── test_chroma_backend.py      # Integration tests
ā”œā”€ā”€ pyproject.toml                  # Package configuration
└── README.md

The server is designed for local/CLI integrations using stdio transport, making it suitable for personal AI assistants and development workflows where privacy and data security are paramount.

Limitations

āš ļø Important Security Considerations

While your data is 100% safe and private because it never leaves your local machine, you should still exercise caution about what you store:

  • Data is stored unencrypted: All stored data is persisted to disk in unencrypted format in the .memorious directory

  • Avoid storing secrets: Do NOT store passwords, API keys, private keys, personal identification numbers, financial information, or any other sensitive credentials

  • Local file access: Anyone with access to your machine and the .memorious directory can read all stored memories

  • Exercise caution: While the MCP server warns the client LLM to avoid storing sensitive information, you should not rely solely on this safeguard

  • Backup considerations: Be mindful when backing up or syncing directories containing .memorious folders

Contributing

Contributions are welcome. Open a PR with tests.

Available Tools

3 tools
forgetA

Delete stored memories that match a query key.

IMPORTANT: Deletion operates on short, canonical keys. The LLM MUST issue forget calls using the same concise, embedding-optimized, space-separated key style used to create memories (otherwise relevant memories may not be found). Prefer 1–5 words separated by spaces when requesting deletions.

This tool SHOULD be called by the LLM when the user explicitly requests that certain stored information be forgotten or removed (for example: "forget that I live in Paris") or when the assistant decides a memory must be purged because it is incorrect or sensitive.

Parameters:

  • key: concise, canonical, space-separated query text used to find candidate memories to delete.

  • top_k: number of nearest matches to consider for deletion.

Behavior:

  • Deletion is irreversible; the LLM should confirm with the user when intent is ambiguous before invoking this tool.

  • The tool returns deleted_ids for the memories that were removed.

Inputs: key (required), top_k.

recallA

Retrieve stored memories relevant to a query key.

IMPORTANT: To get reliable results the LLM MUST query with the same short, canonical, embedding-optimized keys used at store time. Keys should be compact (1–5 words, space-separated) and represent the core concept — avoid long descriptive queries. If the current user utterance is verbose, the LLM should first map or canonicalize it to an appropriate short key before calling this tool (for example map "I really like listening to jazz music" -> "likes jazz").

This tool SHOULD be called by the LLM when it needs to fetch previously stored facts, personal details, or preferences to inform a response or provide personalized behavior (for example: to recall a user's favorite cuisine before making restaurant suggestions).

Parameters:

  • key: concise, embedding-friendly, space-separated query text used for similarity search.

  • top_k: maximum number of nearest memories to return.

Returns a dict with results (memory items including stored value). If nothing matches, results is empty.

Inputs: key (required), top_k.

storeA

Store a user's fact, piece of information, or preference for later recall.

CRITICAL SECURITY WARNING: NEVER EVER store secrets, passwords, API keys, authentication tokens, private keys, or any other sensitive credentials. This storage is NOT secure and should only be used for non-sensitive information like preferences, facts, and general user data.

IMPORTANT: key MUST be short, canonical, and optimized for embedding/vector similarity lookups. Prefer 1–5 words separated by spaces (for example: "likes jazz", "pref cuisine italian", "lives in paris"). Do NOT use long sentences or paragraphs as keys — put long text into value instead.

This tool SHOULD be called by the LLM whenever the user states a fact, personal detail, or stable preference that the assistant is expected to remember.

Guidelines for the LLM:

  • Call this tool for user-expressed facts, identity details, or explicit preferences that will be useful later.

  • Use key as a short, consistent, space-separated descriptor across related memories to improve retrieval quality (canonicalize synonyms where possible).

  • Use value for the full text of the fact or preference to be stored and returned on recall; include any extra context inside value.

Privacy: avoid storing highly sensitive data (passwords, social security numbers, bank details) unless the user explicitly requests secure storage and consents.

Inputs: key (required), value (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.7/5.0

    Scored across 3 tools

    Disambiguation5/5

    The three tools have clearly distinct purposes: store creates a memory, recall retrieves memories, and forget deletes memories. There is no overlap or ambiguity between them.

    Naming Consistency5/5

    All tool names are single-word imperative verbs (store, recall, forget) following a consistent and predictable pattern. This makes the tool set easy to understand and use.

    Tool Count5/5

    Three tools is well-scoped for a memory management server, covering the essential operations without redundancy or bloat. Each tool earns its place.

    Completeness4/5

    The tool set provides create, read, and delete operations for memories, covering the core lifecycle. The only notable gap is the absence of an explicit update operation, though store may implicitly handle this by overwriting existing keys.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • -
      license
      Not graded
      quality
      Not graded
      maintenance
      Provides persistent local memory functionality for AI assistants, enabling them to store, retrieve, and search contextual information across conversations with SQLite-based full-text search. All data stays private on your machine while dramatically improving context retention and personalized assistance.
      3
      -
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables AI assistants to store and retrieve memories with semantic search capabilities using vector embeddings. Provides persistent memory storage with SQLite backend for context retention across conversations.
      24 npm
      1
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Provides local vector-based semantic memory storage for AI assistants to persist context and decisions across sessions using local embeddings and LanceDB. It enables private semantic search and session handoff capabilities to maintain long-term project context.
      46 npm
      5
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      Provides persistent AI agent memory using a local vector database for long-term semantic storage and short-term session scratchpads. It enables low-latency memory operations including search, storage, and bulk management without external cloud dependencies.
      -

    Appeared in Searches