llama-memory
Provides persistent storage for conversation history and semantic memories, using PostgreSQL with the PGVector extension for vector-based search.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@llama-memorysearch my memories for our discussion about the new pricing model"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
llama-memory
MCP Memory Service for llama-server with persistent history and semantic memory via Postgres + PGVector.
Note: This project is intended for local/demo use only. Do not expose it directly to the internet without additional hardening (HTTPS, proper auth, backups).
What it does
Semantic memory: save and retrieve memories by meaning, not just keywords.
Conversation bridge: LLM creates conversations automatically; memories are linked.
Cross-session recall: ask "what did we talk about before?" and get accurate answers.
MCP protocol: works directly with llama-server's built-in MCP support.
Related MCP server: engram
Requirements
Python 3.11 (Miniconda recommended)
PostgreSQL 16+ with PGVector extension
llama-server with --jinja flag (required for tool calling)
nomic-embed-text running on llama-server (port 8081 by default)
Installation
# Clone the repo
git clone https://github.com/noualit/llama-memory-local.git
cd llama-memory-local
# Create environment
conda create -n llama-memory python=3.11
conda activate llama-memory
# Install dependencies
pip install -e .Configuration
Copy .env.example to .env and edit:
cp .env.example .envExample:
# Database
DATABASE_URL="postgresql://postgres:yourpassword@localhost:5432/llamamem"
# Llama-server (LLM)
LLAMA_SERVER_BASE_URL="http://localhost:8080"
# Embedding model (nomic-embed-text via llama-server)
EMBEDDING_MODEL_URL="http://localhost:8081"
# Embedding model name (default: nomic-embed-text)
EMBEDDING_MODEL_NAME="nomic-embed-text"
# Service port
SERVICE_PORT=9001Setup database
Create the database and run migrations:
psql -U postgres -c "CREATE DATABASE llamamem;"
alembic upgrade headThe application also ensures basic schema on startup for convenience.
Run the service
# Using the script
.\scripts\run_server.ps1
# Or directly
python -m uvicorn app.main:app --host 0.0.0.0 --port 9001Connect to llama-server
Add to your llama-server MCP configuration:
{
"mcpServers": {
"llama-memory": {
"url": "http://YOUR_SERVER_IP:9001/mcp"
}
}
}The service must be reachable from llama-server. Use the actual IP, not localhost if they run on different machines.
MCP Tools
Tool | Description |
create_conversation | Create a new conversation session |
list_conversations | List conversations with memory count |
get_conversation_history | Get all memories in a conversation |
search_memories | Semantic search across all memories |
save_memory | Store an important fact or decision |
System prompt
You can:
Fetch the recommended system prompt from the service:
GET /system-prompt → returns plain text.
Or paste this minimal version into llama-server:
MEMORY WORKFLOW:
- At the start of each new conversation, call create_conversation with a short title.
- Use the conversation_id from create_conversation when calling save_memory.
- Before answering questions about past topics, call search_memories FIRST.
- When the user shares important information, save it with save_memory.
- If list_conversations has previous chats, check get_conversation_history for context.Health check
curl http://localhost:9001/healthReturns DB status, embedding service status, and tool count.
Architecture
High-level structure:
app/main.py — FastAPI app, lifespan, /system-prompt
app/settings.py — Pydantic settings from .env
app/clients/embeddings.py — Calls nomic-embed-text for vectors
app/db/engine.py — asyncpg connection pool (singleton)
app/db/schema.py — Auto-creates tables on startup
app/mcp/endpoint.py — MCP protocol handlers, rate limiter
app/mcp/tools/ — Individual tool implementations
migrations/ — Alembic database migrations
Development
# Run tests
pytest tests/ -v
# Run with auto-reload
python -m uvicorn app.main:app --host 0.0.0.0 --port 9001 --reloadSee CONTRIBUTING.md for contribution guidelines.
License
MIT (see LICENSE file).
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenancePersistent semantic memory server for AI assistants via MCP, enabling long-term context retention and semantic search across conversations.11MIT
- AlicenseNot gradedqualityCmaintenanceProvides persistent, local-first AI memory across sessions via MCP tools for storing, searching, and retrieving context from past interactions.1MIT
- AlicenseAqualityDmaintenanceProvides persistent memory for AI assistants via MCP, enabling them to store and recall facts, preferences, and tasks across conversations using either local file storage or a cloud backend with semantic search.514MIT
- AlicenseAqualityDmaintenanceProvides persistent memory with semantic search for MCP-based AI agents, enabling them to store and recall information across sessions using vector embeddings.41MIT
Related MCP Connectors
Shared, governed long-term memory for AI agents across tools and sessions via MCP and REST.
Persistent memory for AI agents. Search, store, and recall across sessions.
Cross-AI personal memory. Save once in ChatGPT, recall in Claude, Mistral, Grok, or any MCP client.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/noualit/llama-memory-local'
If you have feedback or need assistance with the MCP directory API, please join our Discord server