Memory MCP Server
A hybrid long-term memory server for AI assistants that stores and retrieves memories, user facts, chat history, tasks, and reminders using PostgreSQL and ChromaDB with semantic search.
README
Memory MCP Server
A hybrid long-term memory server for AI assistants built using the Model Context Protocol (MCP).
The server combines:
- PostgreSQL for structured storage
- ChromaDB for semantic retrieval
- OpenAI Embeddings for vector search
- MCP tools for interacting with memory
Features
✅ Long-term memory storage
✅ Semantic search
✅ Memory updates
✅ Structured memory models
✅ Separate memory types
- User Facts
- Memories
- Chat History
- Tasks
- Reminders
Architecture
User
│
▼
MCP Client
│
▼
Memory MCP Server
│
┌────────────┴────────────┐
│ │
▼ ▼
PostgreSQL ChromaDB
Structured Data Vector Embeddings
Memory Types
The server supports five different memory categories.
User Facts
Persistent user information.
Examples:
- Preferred IDE
- Name
- Job
- Location
Memories
General knowledge.
Examples:
- Project documentation
- Architecture decisions
- Workflows
Chat History
Important conversations worth preserving.
Tasks
Long-term tasks.
Reminders
Time-based reminders.
Available MCP Tools
Create
- remember_memory
- remember_user_fact
- remember_chat_history
- remember_task
- remember_reminder
Search
search(query, top_k)
Performs semantic search over stored memories.
Update
- update_memory
- update_user_fact
- update_chat_history
- update_task
- update_reminder
How it Works
Storing Memory
User
│
▼
remember_*
│
▼
Insert into PostgreSQL
│
▼
Generate Embedding
│
▼
Store in ChromaDB
Searching
Query
│
▼
Embedding
│
▼
Chroma Similarity Search
│
▼
Retrieve PostgreSQL Records
Updating
Search Existing Memory
│
▼
Update PostgreSQL
│
▼
Update Chroma Embedding
Installation
Clone the repository.
git clone https://github.com/<username>/memory-mcp-server.git
Install dependencies.
pip install -r requirements.txt
Create a .env file.
OPENAI_API_KEY=YOUR_KEY
Start PostgreSQL.
Create a Chroma database directory.
Run the server.
python server.py
Example Workflow
Store memory
remember_user_fact()
↓
PostgreSQL
↓
ChromaDB
Search
search("What IDE do I use?")
Update
search()
↓
update_user_fact()
Tech Stack
- Python
- MCP
- PostgreSQL
- ChromaDB
- OpenAI Embeddings
- Pydantic
Future Improvements
- Delete memories
- Memory scoring
- Multi-user support
- Memory expiration
- Redis caching
- Hybrid keyword + semantic search
- Memory graph relationships
- Multiple embedding providers
- Local embedding support
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.