A vector-powered memory system that gives Claude persistent storage across conversations. Connects to PostgreSQL with pgvector for semantic search and includes a full web UI for memory management. Exposes MCP tools for storing structured memories, searching by similarity or tags, creating relationships between memories, and organizing everything into workspaces and projects. Ships with Docker Compose that bundles PostgreSQL, Ollama, and the .NET-based Memorizer service. You'd reach for this when building AI agents that need to remember context between sessions, learn from past interactions, or build up domain knowledge over time.
Memorizer is a .NET-based service that allows AI agents to store, retrieve, and search through memories using vector embeddings. It leverages PostgreSQL with the pgvector extension to provide efficient similarity search capabilities.

Key features:

The easiest way to get started is using the pre-built Docker image and our docker-compose.yml file:
docker-compose up -d
This will:
petabridge/memorizer image from Docker HubView the Memorizer Web UI on http://localhost:5000.
If you want to build and run from source:
# From solution root directory
# Build and publish the .NET container
dotnet publish -c Release /t:PublishContainer
This creates a container image named memorizer:latest.
docker-compose -f docker-compose.local.yml up -d
This starts the same services but uses your locally built image.
[!NOTE] The upgrade from Memorizer 1.x to 2.0 is designed to work automatically. All schema migrations run on startup and have been thoroughly tested. Your existing memories will be preserved and continue to work as expected.
[!CAUTION] We recommend backing up your database before upgrading, as a standard best practice. Memorizer 2.0 runs automatic schema migrations on startup that alter tables and add new columns. While we've tested these migrations extensively, having a backup ensures you can recover in the unlikely event that something goes wrong.
[!NOTE] The container names below (e.g.,
memorizer-postgres) are based on the defaultdocker-compose.yml. If you've customized your Docker Compose file, adjust the container name accordingly.
Before pulling the new Memorizer 2.0 image, create a PostgreSQL dump of your existing database:
# Create a full database backup
docker exec postgmem-postgres pg_dump -U postgres postgmem > memorizer-backup-$(date +%Y%m%d).sql
# Or use pg_dump with compression
docker exec postgmem-postgres pg_dump -U postgres -Fc postgmem > memorizer-backup-$(date +%Y%m%d).dump
To restore from a backup if needed:
# Restore from SQL dump
docker exec -i postgmem-postgres psql -U postgres postgmem < memorizer-backup-20250207.sql
# Or restore from compressed dump
docker exec -i postgmem-postgres pg_restore -U postgres -d postgmem memorizer-backup-20250207.dump
# make sure you have created a backup before starting here
git pull
docker-compose down
docker-compose pull memorizer
docker-compose up -d
/ to /mcp. Update your MCP client configurations from http://localhost:5000 to http://localhost:5000/mcp./ui to /. The Web UI is now at the root path.[!TIP] Once the upgrade is complete, ask your AI agent to suggest workspaces and projects to organize your existing memories into. Memorizer 2.0's workspace and project system helps you keep memories structured and easy to find - and your agent can analyze your existing memories to recommend a good organizational scheme.
To use Memorizer with any MCP-compatible client, add the following to your configuration (e.g., mcp.json):
{
"memorizer": {
"url": "http://localhost:5000/mcp"
}
}
This uses the modern Streamable HTTP transport (MCP spec 2025-03-26+). Note that the MCP endpoint is at /mcp (changed from / in 2.0).
Memorizer includes a web-based user interface for managing memories through your browser.
Once the application is running (via docker-compose up -d), you can access the Web UI at:
/mcp-configThe Web UI provides a user-friendly interface for all Memorizer functionality, making it easy to manage your AI agent's memory without needing to use the MCP tools directly.
[!IMPORTANT] ⚡ Pro Tip: Add this system prompt to your
AGENT.md, Cursor Rules files, or any AI agent configuration! This will dramatically improve how often and effectively your LLM uses the Memorizer service for persistent memory management.
You have access to a long-term memory system via the Model Context Protocol (MCP) at the endpoint
memorizer. Use the following tools:Storage & Retrieval:
store: Store a new memory. Parameters:type,text(markdown),source,title,tags,confidence,relatedTo(optional, memory ID),relationshipType(optional).searchMemories: Search for similar memories using semantic similarity. Parameters:query,limit,minSimilarity,filterTags.get: Retrieve a memory by ID. Parameters:id,includeVersionHistory,versionNumber.getMany: Retrieve multiple memories by their IDs. Parameter:ids(list of IDs).delete: Delete a memory by ID. Parameter:id.Editing & Updates:
edit: Edit memory content using find-and-replace (ideal for checking off to-do items, updating sections). Parameters:id,old_text,new_text,replace_all.updateMetadata: Update memory metadata (title, type, tags, confidence) without changing content. Parameters:id,title,type,tags,confidence.Relationships & Versioning:
createRelationship: Create a relationship between two memories. Parameters:fromId,toId,type(e.g., 'example-of', 'explains', 'related-to').revertToVersion: Revert a memory to a previous version. Parameters:id,versionNumber,changedBy.All edits and updates are automatically versioned, allowing you to track changes and revert if needed. Use these tools to remember, recall, edit, relate, and manage information as needed to assist the user.
MIT
Made with ❤️ by Petabridge
Originally forked from Dario Griffo's postg-mem server
io.github.ericm1018/skillfm-llm-cost-optimizer-openai-anthropic-usage
io.github.mikerawsonnz/llm-orchestration-agent
io.github.mikerawsonnz/authenticated-llm-agent
labforgedev/copilot-memory-mcp
csoai-org/agent-prompt-injection-firewall-mcp
io.github.mikerawsonnz/authenticated-multi-llm-agent