Skip to main content
Glama
willard-jana

Cursor Memory MCP Server

by willard-jana
README.md
# Cursor Memory MCP Server

A persistent memory storage MCP (Model Context Protocol) server for Cursor IDE. Allows the AI assistant to remember information across sessions.

## Features

- **Store memories** with global or project-specific scope
- **Tag-based organization** for easy categorization
- **Search** memories by content or tags
- **CRUD operations** - create, read, update, delete memories
- **Context matching** - update/delete by description, not just ID
- **SQLite backend** for performance and reliability
- **Docker deployment** for easy setup

## Quick Start

### 1. Build and Run with Docker

```bash
docker-compose up -d --build
```

### 2. Add to Cursor MCP Configuration

Edit `~/.cursor/mcp.json`:

```json
{
  "mcpServers": {
    "cursor-memory": {
      "url": "http://localhost:8081/sse",
      "transport": "sse"
    }
  }
}
```

### 3. Restart Cursor

The memory tools will now be available to the AI assistant.

## Available Tools

| Tool | Description |
|------|-------------|
| `memory_store` | Store a new memory |
| `memory_recall` | Retrieve all memories (call on session start) |
| `memory_search` | Search memories by keyword/tag |
| `memory_list` | List all memories with index numbers |
| `memory_update` | Update a memory by ID or context |
| `memory_delete` | Delete a memory by ID or context |

## Usage Examples

### Storing a Memory

Tell Cursor: "Remember that I prefer tabs over spaces"

The agent will:
1. Optimize the content
2. Ask for scope (global/project)
3. Suggest tags
4. Confirm before storing

### Recalling Memories

Tell Cursor: "Check your memory" or "What do you remember?"

### Searching Memories

Tell Cursor: "Check your memory for coding preferences"

### Managing Memories

- "List all memories"
- "Delete memory #3"
- "Update the memory about indentation to prefer 4 spaces"

## Development

### Local Development (without Docker)

```bash
# Install dependencies
npm install

# Run in development mode
npm run dev

# Build for production
npm run build
npm start
```

### Environment Variables

| Variable | Default | Description |
|----------|---------|-------------|
| `PORT` | `8081` | HTTP server port |
| `DATA_DIR` | `./data` | SQLite database directory |
| `NODE_ENV` | `development` | Environment mode |

## Architecture

```
┌─────────────────┐     SSE      ┌──────────────────────┐
│   Cursor IDE    │◄────────────►│  Memory MCP Server   │
│   (AI Agent)    │              │  (Express + SQLite)  │
└─────────────────┘              └──────────────────────┘
                                           │
                                           ▼
                                    ┌─────────────┐
                                    │  SQLite DB  │
                                    │  memory.db  │
                                    └─────────────┘
```

## Port Configuration

This server runs on port **8081** by default to avoid conflicts with other MCP servers (e.g., jana on 8080).

## License

MIT