Memory MCP - Redis Stack Backend

BakeMark/mcp-memory-redis
0 starsCommunity

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

A drop-in replacement for mcp-memory-duckdb with full concurrent access support using Redis Stack. Enables persistent knowledge graph storage with full-text search and multi-session concurrent access.

README.md

Memory MCP - Redis Stack Backend

A drop-in replacement for mcp-memory-duckdb with full concurrent access support using Redis Stack.

Features

  • Concurrent Access: Multiple Claude sessions can read/write simultaneously
  • RediSearch: Full-text search across entities and observations
  • ReJSON: Native JSON document storage
  • Persistent Storage: RDB snapshots + AOF for durability
  • Git-Friendly Export: Auto-exports to JSONL after every change
  • API Compatible: Same tools as mcp-memory-duckdb
  • Cross-Platform: Works on macOS, Windows, and Linux

---

Quick Install

Windows (One-liner)

# PowerShell (run as Administrator recommended)
irm https://raw.githubusercontent.com/BakeMark/mcp-memory-redis/main/install.ps1 | iex

Or download and run: ``cmd curl -O https://raw.githubusercontent.com/BakeMark/mcp-memory-redis/main/install.bat install.bat ``

macOS

# Install Redis Stack
brew tap redis-stack/redis-stack
brew install redis-stack

# Clone and install
git clone https://github.com/BakeMark/mcp-memory-redis.git ~/.claude/mcp-memory-redis
cd ~/.claude/mcp-memory-redis
npm install

# Start Redis
redis-stack-server --daemonize yes

Docker (Any Platform)

# Start Redis Stack
docker run -d --name redis-stack \
  -p 6379:6379 \
  -v redis-memory-data:/data \
  --restart unless-stopped \
  redis/redis-stack:latest

# Clone and install
git clone https://github.com/BakeMark/mcp-memory-redis.git
cd mcp-memory-redis
npm install

---

Configuration

Claude Code MCP Config

Add to ~/.claude/mcp-servers.json (macOS/Linux) or %USERPROFILE%\.claude\mcp-servers.json (Windows):

macOS/Linux

{
  "mcpServers": {
    "memory": {
      "command": "node",
      "args": ["~/.claude/mcp-memory-redis/src/index.js"],
      "env": {
        "REDIS_URL": "redis://localhost:6379",
        "MEMORY_DIR": "~/.claude/memory",
        "MEMORY_EXPORT_PATH": "~/.claude/memory/knowledge.jsonl"
      }
    }
  }
}

Windows

{
  "mcpServers": {
    "memory": {
      "command": "node",
      "args": ["C:\\Users\\USERNAME\\.claude\\mcp-memory-redis\\src\\index.js"],
      "env": {
        "REDIS_URL": "redis://localhost:6379",
        "MEMORY_DIR": "C:\\Users\\USERNAME\\.claude\\memory",
        "MEMORY_EXPORT_PATH": "C:\\Users\\USERNAME\\.claude\\memory\\knowledge.jsonl"
      }
    }
  }
}

Environment Variables

| Variable | Default | Description | |----------|---------|-------------| | REDIS_URL | redis://localhost:6379 | Redis connection URL | | REDIS_INDEX_NAME | memory_idx | RediSearch index name | | MEMORY_DIR | ~/.claude/memory | Directory for exports | | MEMORY_EXPORT_PATH | ~/.claude/memory/knowledge.jsonl | JSONL export path |

---

Windows Requirements

The install script handles these automatically:

| Requirement | Install Method | |-------------|----------------| | Node.js 18+ | winget install OpenJS.NodeJS.LTS | | Docker Desktop | docker.com/desktop |

Alternative to Docker: Memurai (Windows-native Redis)

---

CLI Usage

# Export knowledge graph
node src/cli.js export ~/backup.jsonl

# Import knowledge (merge with existing)
node src/cli.js import ~/backup.jsonl --merge

# Import knowledge (skip existing entities)
node src/cli.js import ~/backup.jsonl --skip

# Search the graph
node src/cli.js search "database"

# Show statistics
node src/cli.js stats

# Clear all data
node src/cli.js clear

---

API Tools

The MCP server exposes these tools:

| Tool | Description | |------|-------------| | create_entities | Create new entities with observations | | create_relations | Create relationships between entities | | add_observations | Add observations to existing entities | | search_nodes | Full-text search across entities | | open_nodes | Retrieve specific entities by name | | read_graph | Get entire knowledge graph | | delete_entities | Delete entities (cascades) | | delete_observations | Delete specific observations | | delete_relations | Delete relationships | | export_knowledge | Export to JSONL | | import_knowledge | Import from JSONL |

---

Migration from DuckDB

Import your existing knowledge:

# Export from current DuckDB (if needed)
node /path/to/mcp-memory-duckdb/src/cli.js export /tmp/backup.jsonl

# Import to Redis
node src/cli.js import /tmp/backup.jsonl --merge

---

Concurrent Access

Unlike DuckDB which only allows single-writer access, Redis Stack supports:

  • Multiple concurrent readers
  • Multiple concurrent writers
  • Atomic transactions via MULTI/EXEC
  • No file locking issues

This means you can run multiple Claude Code sessions simultaneously, all accessing the same knowledge graph.

---

Data Schema

Entities are stored as JSON documents with the key prefix entity::

{
  "name": "EntityName",
  "entityType": "Type",
  "observations": ["obs1", "obs2"],
  "createdAt": "2026-01-30T12:00:00.000Z",
  "updatedAt": "2026-01-30T12:00:00.000Z"
}

Relations are stored with the key prefix rel::

{
  "from": "EntityA",
  "to": "EntityB",
  "relationType": "relates_to",
  "createdAt": "2026-01-30T12:00:00.000Z"
}

---

Troubleshooting

Windows: Docker not starting

# Start Docker Desktop manually, then retry
Start-Process "C:\Program Files\Docker\Docker\Docker Desktop.exe"

Redis Connection Failed

# Check if Redis is running
redis-cli ping

# Docker: check container
docker ps | grep redis-stack
docker logs redis-stack

# Restart container
docker restart redis-stack

Search Index Issues

The search index is created automatically on first startup. If issues persist:

redis-cli
> FT._LIST
> FT.INFO memory_idx

Windows: Uninstall

.\uninstall.ps1

---

License

MIT

Related MCP servers

Browse all →