# š§ Memory MCP Server
> **Persistent memory and context window caching for LLM conversations.** Save, retrieve, and manage memories with intelligent context archiving. MongoDB-backed storage.
An [MCP (Model Context Protocol)](https://modelcontextprotocol.io) server that provides memory management and context window caching for AI coding environments like Cursor and Claude Desktop.
[](https://archestra.ai/mcp-catalog/jamesanz__memory-mcp)
## Why Use Memory MCP?
- š¾ **Persistent Storage** ā MongoDB-backed memory that survives sessions
- š§ **Context Caching** ā Intelligent archiving and retrieval of conversation context
- š·ļø **Tag-based Search** ā Organize and find memories by tags
- š **Relevance Scoring** ā Automatically score archived content relevance
- ā” **Easy Setup** ā One-click install in Cursor or simple manual setup
## Quick Start
Ready to add memory to your AI workflow? Install in seconds:
**Install in Cursor (Recommended):**
[š Install in Cursor](cursor://anysphere.cursor-deeplink/mcp/install?name=memory-mcp&config=eyJtZW1vcnktbWNwIjp7ImNvbW1hbmQiOiJucHgiLCJhcmdzIjpbIi15IiwiQGphbWVzYW56L21lbW9yeS1tY3AiXX19)
**Or install manually:**
```bash
npm install -g @jamesanz/memory-mcp
# Or from source:
git clone https://github.com/JamesANZ/memory-mcp.git
cd memory-mcp && npm install && npm run build
```
## Features
### Basic Memory Tools
- **`save-memories`** ā Save memories to database (overwrites existing)
- **`get-memories`** ā Retrieve all stored memories
- **`add-memories`** ā Append new memories without overwriting
- **`clear-memories`** ā Remove all stored memories
### Context Window Caching
- **`archive-context`** ā Archive conversation context with tags
- **`retrieve-context`** ā Retrieve relevant archived context
- **`score-relevance`** ā Score archived content relevance
- **`create-summary`** ā Create summaries of archived content
- **`get-conversation-summaries`** ā Get all summaries for a conversation
- **`search-context-by-tags`** ā Search archived content by tags
## Installation
### Cursor (One-Click)
Click the install link above or use:
```
cursor://anysphere.cursor-deeplink/mcp/install?name=memory-mcp&config=eyJtZW1vcnktbWNwIjp7ImNvbW1hbmQiOiJucHgiLCJhcmdzIjpbIi15IiwiQGphbWVzYW56L21lbW9yeS1tY3AiXX19
```
### Manual Installation
**Requirements:** Node.js 18+, npm, MongoDB
```bash
# Clone and build
git clone https://github.com/JamesANZ/memory-mcp.git
cd memory-mcp
npm install
npm run build
# Set MongoDB connection string
export MONGODB_URI="mongodb://localhost:27017"
# Run server
npm start
```
### Claude Desktop
Add to `claude_desktop_config.json`:
**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
```json
{
"mcpServers": {
"memory-mcp": {
"command": "node",
"args": ["/absolute/path/to/memory-mcp/build/index.js"],
"env": {
"MONGODB_URI": "mongodb://localhost:27017"
}
}
}
}
```
Restart Claude Desktop after configuration.
## Configuration
Set the MongoDB connection string:
```bash
export MONGODB_URI="mongodb://localhost:27017"
```
Default: `mongodb://localhost:27017`
## Usage Examples
### Save Memories
Store memories from a conversation:
```json
{
"tool": "save-memories",
"arguments": {
"memories": ["User prefers TypeScript", "User works on blockchain projects"],
"llm": "claude",
"userId": "user123"
}
}
```
### Retrieve Memories
Get all stored memories:
```json
{
"tool": "get-memories",
"arguments": {}
}
```
### Archive Context
Archive conversation context when it gets too long:
```json
{
"tool": "archive-context",
"arguments": {
"conversationId": "conv-123",
"contextMessages": ["Message 1", "Message 2"],
"tags": ["coding", "typescript"],
"llm": "claude"
}
}
```
### Retrieve Relevant Context
Get archived content relevant to current conversation:
```json
{
"tool": "retrieve-context",
"arguments": {
"conversationId": "conv-123",
"tags": ["coding"],
"minRelevanceScore": 0.5,
"limit": 10
}
}
```
## Context Window Caching
The system automatically:
- **Archives content** when context usage reaches 80%
- **Retrieves relevant content** when usage drops below 30%
- **Scores relevance** using keyword overlap
- **Creates summaries** to condense long conversations
## Use Cases
- **Long Conversations** ā Manage context windows for extended sessions
- **Memory Persistence** ā Save important information across sessions
- **Context Retrieval** ā Bring back relevant past conversations
- **Research Projects** ā Organize and tag research conversations
## Technical Details
**Built with:** Node.js, TypeScript, MCP SDK, MongoDB
**Dependencies:** `@modelcontextprotocol/sdk`, `mongodb`, `zod`
**Platforms:** macOS, Windows, Linux
**Storage:** MongoDB (default: `mongodb://localhost:27017`)
## Contributing
ā **If this project helps you, please star it on GitHub!** ā
Contributions welcome! Please open an issue or submit a pull request.
## License
ISC
## Support
If you find this project useful, consider supporting it:
**ā” Lightning Network**
```
lnbc1pjhhsqepp5mjgwnvg0z53shm22hfe9us289lnaqkwv8rn2s0rtekg5vvj56xnqdqqcqzzsxqyz5vqsp5gu6vh9hyp94c7t3tkpqrp2r059t4vrw7ps78a4n0a2u52678c7yq9qyyssq7zcferywka50wcy75skjfrdrk930cuyx24rg55cwfuzxs49rc9c53mpz6zug5y2544pt8y9jflnq0ltlha26ed846jh0y7n4gm8jd3qqaautqa
```
**āæ Bitcoin**: [bc1ptzvr93pn959xq4et6sqzpfnkk2args22ewv5u2th4ps7hshfaqrshe0xtp](https://mempool.space/address/bc1ptzvr93pn959xq4et6sqzpfnkk2args22ewv5u2th4ps7hshfaqrshe0xtp)
**Ī Ethereum/EVM**: [0x42ea529282DDE0AA87B42d9E83316eb23FE62c3f](https://etherscan.io/address/0x42ea529282DDE0AA87B42d9E83316eb23FE62c3f)