Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT and other tools is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AI Fire in da houseCheck it out free

Simple-Memory-Extension-MCP-Server

MCP.Pizza Chef: gmacev

Simple-Memory-Extension-MCP-Server is an MCP server designed to extend the context window and memory of AI agents. It enables storing, recalling, and managing key moments, progress, or any important information during complex coding tasks or vibe coding. The server supports namespace and context item management, allowing agents to store and retrieve memories efficiently, including semantic search for meaningful recall. This facilitates better multi-step reasoning and context retention in AI workflows.

Use This MCP server To

Store and recall coding progress during large feature development Manage key moments or changes in vibe coding sessions Enable agents to autonomously manage memory with cursor rules Organize memories using namespaces for structured context storage Perform semantic search to find relevant past context items Delete outdated or irrelevant memory entries to maintain context quality List stored keys and namespaces for memory overview and management

README

Simple Memory Extension MCP Server

An MCP server to extend the context window / memory of agents. Useful when coding big features or vibe coding and need to store/recall progress, key moments or changes or anything worth remembering. Simply ask the agent to store memories and recall whenever you need or ask the agent to fully manage its memory (through cursor rules for example) however it sees fit.

Usage

Starting the Server

npm install
npm start

Available Tools

Context Item Management
  • store_context_item - Store a value with key in namespace
  • retrieve_context_item_by_key - Get value by key
  • delete_context_item - Delete key-value pair
Namespace Management
  • create_namespace - Create new namespace
  • delete_namespace - Delete namespace and all contents
  • list_namespaces - List all namespaces
  • list_context_item_keys - List keys in a namespace
Semantic Search
  • retrieve_context_items_by_semantic_search - Find items by meaning

Semantic Search Implementation

  1. Query converted to vector using E5 model
  2. Text automatically split into chunks for better matching
  3. Cosine similarity calculated between query and stored chunks
  4. Results filtered by threshold and sorted by similarity
  5. Top matches returned with full item values

Development

# Dev server
npm run dev

# Format code
npm run format

.env

# Path to SQLite database file
DB_PATH=./data/context.db

PORT=3000

# Use HTTP SSE or Stdio
USE_HTTP_SSE=true

# Logging Configuration: debug, info, warn, error
LOG_LEVEL=info

Semantic Search

This project includes semantic search capabilities using the E5 embedding model from Hugging Face. This allows you to find context items based on their meaning rather than just exact key matches.

Setup

The semantic search feature requires Python dependencies, but these should be automatically installed when you run: npm run start

Embedding Model

We use the intfloat/multilingual-e5-large-instruct

Notes

Developed mostly while vibe coding, so don't expect much :D. But it works, and I found it helpful so w/e. Feel free to contribute or suggest improvements.

Simple-Memory-Extension-MCP-Server FAQ

How do I start the Simple-Memory-Extension MCP Server?
Install dependencies with 'npm install' and start the server using 'npm start'.
How can I store a memory item in the server?
Use the 'store_context_item' tool to save a value with a key in a specified namespace.
Can I organize memories into separate groups?
Yes, you can create and delete namespaces to organize context items logically.
How do I retrieve a stored memory by key?
Use the 'retrieve_context_item_by_key' tool to get the value associated with a key.
Is it possible to search memories semantically?
Yes, the server supports 'retrieve_context_items_by_semantic_search' to find items by meaning.
How do I remove a memory entry?
Use the 'delete_context_item' tool to delete a specific key-value pair from a namespace.
Can the server list all stored namespaces and keys?
Yes, it provides 'list_namespaces' and 'list_context_item_keys' tools for overview.
Can agents manage their memory automatically?
Yes, agents can use cursor rules or other logic to manage memory autonomously.