MCP Memory Server
@sdimitrov
MCP Memory Server with PostgreSQL and pgvector for long-term memory capabilities
Overview
What is MCP Memory Server?
MCP Memory Server implements long-term memory capabilities for AI assistants using mem0 principles, powered by PostgreSQL with pgvector for efficient vector similarity search. It provides RESTful endpoints for memory operations, semantic search, and real-time updates via Server-Sent Events.
How to use MCP Memory Server?
Install dependencies with npm install, configure the DATABASE_URL environment variable (requires PostgreSQL 14+ with pgvector extension and Node.js 16+), run npm run prisma:migrate to initialize the database, then start with npm start. To use with Cursor, add the server to ~/.cursor/mcp.json with the node command pointing to src/server.js. Invoke memory operations via HTTP endpoints (POST /mcp/v1/memory, GET /mcp/v1/memory/search, etc.).
Key features of MCP Memory Server
- PostgreSQL with pgvector for vector similarity search
- Automatic embedding generation using BERT
- RESTful API for memory operations (create, search, list)
- Support for different memory types (learnings, experiences, etc.)
- Tag-based memory retrieval and confidence scoring
- Server-Sent Events (SSE) for real-time updates
- Cursor MCP protocol compatible
Use cases of MCP Memory Server
- Persisting AI assistant learnings across conversations
- Semantic search over stored knowledge with vector similarity
- Real-time monitoring of memory creation and updates
- Organizing memories by type, source, and tags for structured retrieval
FAQ from MCP Memory Server
What runtimes and databases are required?
PostgreSQL 14+ with the pgvector extension installed, and Node.js 16+.
How is data stored and retrieved?
Data is stored in PostgreSQL with vector embeddings (384 dimensions) generated by BERT. Retrieval supports semantic search, tag filtering, and confidence scoring.
Does the server support real-time updates?
Yes, via Server-Sent Events (SSE) at the /mcp/v1/sse endpoint. Events include memory.created and memory.updated.
How do I connect the server to Cursor?
Add a memory entry to ~/.cursor/mcp.json with the command node and the argument set to the absolute path of src/server.js in the installed server directory.
What transport and authentication are used?
The server communicates over HTTP (REST) with a JSON response format. No authentication mechanism is described; it runs locally with a configurable port (default 3333).