Provides long-term memory capabilities using PostgreSQL with pgvector for efficient semantic search across stored memori...
Created byApr 23, 2025
MCP Memory Server
This server implements long-term memory capabilities for AI assistants using mem0 principles, powered by PostgreSQL with pgvector for efficient vector similarity search.
Features
PostgreSQL with pgvector for vector similarity search
Automatic embedding generation using BERT
RESTful API for memory operations
Semantic search capabilities
Support for different types of memories (learnings, experiences, etc.)
Tag-based memory retrieval
Confidence scoring for memories
Server-Sent Events (SSE) for real-time updates
Cursor MCP protocol compatible
Prerequisites
PostgreSQL 14+ with pgvector extension installed:
Node.js 16+
Setup
Install dependencies:
Configure environment variables:
Copy `.env.sample` to `.env` and adjust the values:
Example `.env` configurations:
Initialize the database:
Start the server:
For development with auto-reload:
Using with Cursor
Adding the MCP Server in Cursor
To add the memory server to Cursor, you need to modify your MCP configuration file located at `~/.cursor/mcp.json`. Add the following configuration to the `mcpServers` object:
Replace `/path/to/your/memory` with the actual path to your memory server installation.
For example, if you cloned the repository to `/Users/username/workspace/memory`, your configuration would look like:
The server will be automatically started by Cursor when needed. You can verify it's working by:
Opening Cursor
The memory server will be started automatically when Cursor launches
You can check the server status by visiting `http://localhost:3333/mcp/v1/health`
Available MCP Endpoints
SSE Connection
**Endpoint**: `GET /mcp/v1/sse`
**Query Parameters**:
- `subscribe`: Comma-separated list of events to subscribe to (optional)
**Events**:
- `connected`: Sent on initial connection
- `memory.created`: Sent when new memories are created
- `memory.updated`: Sent when existing memories are updated
Memory Operations
**Create Memory**
**Search Memories**
**List Memories**
Health Check
Response Format
All API responses follow the standard MCP format:
Or for errors:
Memory Schema
id: Unique identifier
type: Type of memory (learning, experience, etc.)
content: Actual memory content (JSON)
source: Where the memory came from
embedding: Vector representation of the content (384 dimensions)