Memorious MCP

by cedricvidal

327 downloads
Not rated
GitHub

About

Memorious-MCP is a minimal Model Context Protocol (MCP) server that provides a persistent key-value memory store with vector-similarity lookup using ChromaDB.

Details

Author
cedricvidal
Downloads
327
Categories
Knowledge Base, AI

- 100% local and private – all processing stays on your machine
- Persistent memory across sessions using ChromaDB disk-based storage
- Semantic search via vector embeddings for similarity-based retrieval
- Simple three-tool API for memory management
- FastMCP integration for efficient MCP server implementation
- Canonical key design optimized for short, embedding-friendly keys
- No external API calls or cloud dependencies required

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Memorious MCP
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install via uvx memorious-mcp or set up in a virtual environment with uv sync and uv run memorious-mcp. Add the server to your MCP client configuration with the command uvx and arguments ["memorious-mcp"]. Use the three built-in tools: store, recall, and forget.

store

Store a user's fact, piece of information, or preference for later recall. 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.

recall

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.

forget

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.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

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

McpServers

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

memorious-mcp

memorious-mcp logo A local and persistent semantic memory server for AI assistants using the Model Context Protocol (MCP). Built with ChromaDB for vector similarity search and FastMCP for efficient tool implementation. 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, ensuring complete privacy and security.

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) - Secure by Design: No external API calls or cloud dependencies required

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

Installation

```bash
No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.