memory postgresql.com
memory postgresql.com logo

Memory PostgreSQL

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

  1. PostgreSQL 14+ with pgvector extension installed:
  1. Node.js 16+

Setup

  1. Install dependencies:
  1. Configure environment variables: Copy `.env.sample` to `.env` and adjust the values:
Example `.env` configurations:
  1. Initialize the database:
  1. 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:
  1. Opening Cursor
  1. The memory server will be started automatically when Cursor launches
  1. 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

  1. **Create Memory**
  1. **Search Memories**
  1. **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)
  • tags: Array of relevant tags
  • confidence: Confidence score (0-1)
  • createdAt: When the memory was created
  • updatedAt: When the memory was last updated