Simple Memory Extension MCP Server
by gmacev
This MCP server extends the context window/memory of agents, allowing them to store and recall progress, key moments, or changes. It's useful for coding big features or vibe coding when needing to remember important information.
Last updated: N/A
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 namespaceretrieve_context_item_by_key
- Get value by keydelete_context_item
- Delete key-value pair
Namespace Management
create_namespace
- Create new namespacedelete_namespace
- Delete namespace and all contentslist_namespaces
- List all namespaceslist_context_item_keys
- List keys in a namespace
Semantic Search
retrieve_context_items_by_semantic_search
- Find items by meaning
Semantic Search Implementation
- Query converted to vector using E5 model
- Text automatically split into chunks for better matching
- Cosine similarity calculated between query and stored chunks
- Results filtered by threshold and sorted by similarity
- 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.