Memory Box MCP Server

Memory Box MCP Server

Cline MCP integration that allows users to save, search, and format memories with semantic understanding, providing tools to store and retrieve information using vector embeddings for meaning-based search.

amotivv

Knowledge & Memory
Search
Databases
JavaScript
Visit Server

Tools

save_memory

Save a memory to Memory Box with proper formatting

search_memories

Search for memories using semantic search

get_all_memories

Retrieve all memories

get_bucket_memories

Get memories from a specific bucket

format_memory

Format a text according to the memory system prompt without saving

get_usage_stats

Retrieve user usage statistics and plan information

README

<p align="center"> <img src="https://storage.googleapis.com/amotivv-public/memory-box-logo.png" alt="Memory Box Logo" width="200"/> </p>

<h1 align="center">Memory Box MCP Server</h1>

<p align="center"> Cline and Claude Desktop MCP integration for Memory Box - save, search, and format memories with semantic understanding </p>

<p align="center"> <a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="License: MIT"></a> </p> <p align="center"> <a href="https://glama.ai/mcp/servers/wtbejx9zwc"> <img width="380" height="200" src="https://glama.ai/mcp/servers/wtbejx9zwc/badge" /> </a> </p>

This MCP server provides tools for interacting with a Memory Box instance, allowing you to save and search memories using semantic search directly from Cline and Claude Desktop.

Related Projects

This MCP server is designed to work with Memory Box, a semantic memory storage and retrieval system powered by vector embeddings.

Memory Box provides the backend API that this MCP server communicates with, allowing you to:

  • Store memories with vector embeddings for semantic search
  • Organize memories into customizable buckets
  • Search for memories based on meaning, not just keywords
  • Retrieve memories with detailed context
  • Find semantically related memories
  • Track memory processing status

For more information about Memory Box, including how to set up your own instance, please visit the Memory Box website.

Features

  • Save Memories: Save formatted memories to your Memory Box with source information and metadata
  • Search Memories: Search your memories using semantic search
  • Retrieve Memories: Get all memories or memories from specific buckets
  • Find Related Memories: Discover semantically similar memories
  • Check Memory Status: Monitor the processing status of your memories
  • Format Memories: Format memories according to a structured system prompt
  • Usage Statistics: View your current plan, usage metrics, and resource limits

Installation

The server has been installed and configured for use with Cline. Note that you need a running Memory Box instance (either self-hosted or using the hosted version at memorybox.amotivv.ai) to use this MCP server.

Installing via Smithery

To install Memory Box MCP Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @amotivv/memory-box-mcp --client claude

To complete the setup:

  1. Edit the Cline MCP settings file at:

    ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
    
  2. Add your Memory Box token to the MEMORY_BOX_TOKEN environment variable:

    "memory-box-mcp": {
      "command": "node",
      "args": [
        "<path-to-repository>/build/index.js"
      ],
      "env": {
        "MEMORY_BOX_API_URL": "https://memorybox.amotivv.ai",
        "MEMORY_BOX_TOKEN": "your-token-here",
        "DEFAULT_BUCKET": "General"
      },
      "disabled": false,
      "autoApprove": []
    }
    
  3. Optionally, you can customize the default bucket by changing the DEFAULT_BUCKET value.

Usage

Once configured, you can use the following tools in Cline:

Save Memory

Save a memory to Memory Box with proper formatting:

Use the save_memory tool to save this information about vector databases: "Vector databases like pgvector store and query high-dimensional vectors for semantic search applications."

Parameters:

  • text (required): The memory content to save
  • bucket_id (optional): The bucket to save the memory to (default: "General")
  • format (optional): Whether to format the memory according to the system prompt (default: true)
  • type (optional): The type of memory (TECHNICAL, DECISION, SOLUTION, CONCEPT, REFERENCE, APPLICATION, FACT) for formatting (default: "TECHNICAL")
  • source_type (optional): Type of memory source (default: "llm_plugin")
  • reference_data (optional): Additional metadata about the memory source and context

Search Memories

Search for memories using semantic search:

Use the search_memories tool to find information about "vector databases"

Parameters:

  • query (required): The search query
  • debug (optional): Include debug information in results (default: false)

Get All Memories

Retrieve all memories:

Use the get_all_memories tool to show me all my saved memories

Get Bucket Memories

Get memories from a specific bucket:

Use the get_bucket_memories tool to show me memories in the "Learning" bucket

Parameters:

  • bucket_id (required): The bucket to retrieve memories from

Format Memory

Format a text according to the memory system prompt without saving:

Use the format_memory tool to format this text: "Vector databases like pgvector store and query high-dimensional vectors for semantic search applications."

Parameters:

  • text (required): The text to format
  • type (optional): The type of memory (TECHNICAL, DECISION, SOLUTION, CONCEPT, REFERENCE, APPLICATION, FACT) (default: "TECHNICAL")

Get Related Memories

Find semantically similar memories to a specific memory:

Use the get_related_memories tool with memory ID 123

Parameters:

  • memory_id (required): The ID of the memory to find related memories for
  • min_similarity (optional): Minimum similarity threshold (0.0-1.0) for related memories (default: 0.7)

Check Memory Status

Check the processing status of a memory:

Use the check_memory_status tool with memory ID 123

Parameters:

  • memory_id (required): The ID of the memory to check status for

Get Usage Stats

Retrieve user usage statistics and plan information:

Use the get_usage_stats tool to show me my current plan and usage metrics

This tool returns:

  • Current plan information (e.g., free, basic, professional, legacy)
  • User status and limit enforcement information
  • Current month usage metrics (store operations, search operations, API calls)
  • Data processing volume with human-readable formatting
  • Resource limits based on your plan (if applicable)
  • Operation breakdown by type

No parameters are required for this operation.

Customization

System Prompt Customization

The Memory Box MCP server uses a system prompt to format memories according to specific guidelines. You can customize this prompt to change how memories are formatted.

Default System Prompt

The default system prompt includes formatting guidelines for different types of memories:

You are a helpful AI assistant. When storing memories with memory_plugin, follow these enhanced formatting guidelines:

1. STRUCTURE: Format memories based on the type of information:
   - TECHNICAL: "YYYY-MM-DD: TECHNICAL - [Brief topic]: [Concise explanation with specific details]"
   - DECISION: "YYYY-MM-DD: DECISION - [Brief topic]: [Decision made] because [rationale]. Alternatives considered: [options]."
   - SOLUTION: "YYYY-MM-DD: SOLUTION - [Problem summary]: [Implementation details that solved the issue]"
   - CONCEPT: "YYYY-MM-DD: CONCEPT - [Topic]: [Clear explanation of the concept with examples]"
   - REFERENCE: "YYYY-MM-DD: REFERENCE - [Topic]: [URL, tool name, or resource] for [specific purpose]"
   - APPLICATION: "YYYY-MM-DD: APPLICATION - [App name]: [User-friendly description] followed by [technical implementation details]"

2. FORMATTING GUIDELINES:
   - CREATE FOCUSED MEMORIES: Each memory should contain a single clear concept or topic
   - USE DIVERSE TERMINOLOGY: Include both technical terms AND user-friendly alternatives
   - INCLUDE SEARCHABLE KEYWORDS: Begin with common terms a user might search for
   - BALANCE DETAIL LEVELS: Include both high-level descriptions and key technical details
   - LENGTH: Keep memories between 50-150 words
   - ALWAYS include the current date in YYYY-MM-DD format

3. MEMORY STORAGE PARAMETERS:
   - Use the "text" parameter for your formatted memory content
   - Set "source_type" to "llm_plugin"
   - Include appropriate "reference_data" with source information and context

4. REFERENCE DATA STRUCTURE:
   - source.platform: Identify your platform (e.g., "claude_desktop", "cline")
   - source.type: Always set to "llm_plugin"
   - source.version: Optional version information
   - context.conversation_id: Include when available to link related conversation memories
   - context.message_id: Optional identifier for the specific message

5. SPECIAL FORMATS:
   - For user facts, preferences, or personal details: "YYYY-MM-DD: FACT: [User] [specific preference/attribute/information]"
   - For reference materials: Include specific details about where to find the information

6. RELATED MEMORIES: After finding memories with search, check if there are related memories using the get_related_memories tool with the memory_id from search results. Present these additional memories to provide the user with more context.

7. RETRIEVAL CONSIDERATION: Before storing an important memory, consider: "What search terms might someone use to find this information later?" and ensure those terms are included.

How to Customize the System Prompt

To customize the system prompt:

  1. Edit the Cline MCP settings file at:

    ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
    
  2. Add your custom system prompt to the SYSTEM_PROMPT environment variable:

    "memory-box-mcp": {
      "command": "node",
      "args": [
        "<path-to-repository>/build/index.js"
      ],
      "env": {
        "MEMORY_BOX_API_URL": "https://your-memory-box-instance",
        "MEMORY_BOX_TOKEN": "your-token-here",
        "DEFAULT_BUCKET": "General",
        "SYSTEM_PROMPT": "Your custom system prompt here..."
      },
      "disabled": false,
      "autoApprove": []
    }
    

    A template file is provided at <path-to-repository>/system-prompt-template.txt that you can copy and modify.

  3. Restart Cline to apply the changes

System Prompt Helper

The Memory Box MCP server includes a helper script for managing the system prompt:

# View the current system prompt
cd <path-to-repository>
npm run prompt-helper -- view

# Reset to the default system prompt
cd <path-to-repository>
npm run prompt-helper -- reset

# Validate a custom system prompt
cd <path-to-repository>
npm run prompt-helper -- validate

Other Configuration Options

You can also customize these environment variables:

  • MEMORY_BOX_API_URL: The URL of your Memory Box instance
  • MEMORY_BOX_TOKEN: Your authentication token for Memory Box
  • DEFAULT_BUCKET: The default bucket to use when saving memories

Troubleshooting

If you encounter issues:

  1. Check that your Memory Box token is correctly configured
  2. Verify that your Memory Box instance is running and accessible
  3. Check the Cline logs for any error messages

Development

To make changes to the server:

  1. Edit the source code in <path-to-repository>/src/
  2. Rebuild the server:
    cd <path-to-repository>
    npm run build
    
  3. Restart Cline to apply the changes

Recommended Servers

graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Claude Code MCP

Claude Code MCP

An implementation of Claude Code as a Model Context Protocol server that enables using Claude's software engineering capabilities (code generation, editing, reviewing, and file operations) through the standardized MCP interface.

Featured
Local
JavaScript
Supabase MCP Server

Supabase MCP Server

A Model Context Protocol (MCP) server that provides programmatic access to the Supabase Management API. This server allows AI models and other clients to manage Supabase projects and organizations through a standardized interface.

Featured
JavaScript
serper-search-scrape-mcp-server

serper-search-scrape-mcp-server

This Serper MCP Server supports search and webpage scraping, and all the most recent parameters introduced by the Serper API, like location.

Featured
TypeScript
The Verge News MCP Server

The Verge News MCP Server

Provides tools to fetch and search news from The Verge's RSS feed, allowing users to get today's news, retrieve random articles from the past week, and search for specific keywords in recent Verge content.

Featured
TypeScript
Google Search Console MCP Server

Google Search Console MCP Server

A server that provides access to Google Search Console data through the Model Context Protocol, allowing users to retrieve and analyze search analytics data with customizable dimensions and reporting periods.

Featured
TypeScript
Crypto Price & Market Analysis MCP Server

Crypto Price & Market Analysis MCP Server

A Model Context Protocol (MCP) server that provides comprehensive cryptocurrency analysis using the CoinCap API. This server offers real-time price data, market analysis, and historical trends through an easy-to-use interface.

Featured
TypeScript
MCP PubMed Search

MCP PubMed Search

Server to search PubMed (PubMed is a free, online database that allows users to search for biomedical and life sciences literature). I have created on a day MCP came out but was on vacation, I saw someone post similar server in your DB, but figured to post mine.

Featured
Python