llama-memory
llama-memory
Servicio de Memoria MCP para llama-server con historial persistente y memoria semántica mediante Postgres + PGVector.
Nota: Este proyecto está pensado para uso local/demostrativo únicamente. No lo expongas directamente a internet sin un endurecimiento adicional (HTTPS, autenticación adecuada, copias de seguridad).
Qué hace
Memoria semántica: guarda y recupera recuerdos por significado, no solo por palabras clave.
Puente de conversación: el LLM crea conversaciones automáticamente; los recuerdos quedan vinculados.
Recuerdo entre sesiones: pregunta "¿de qué hablamos antes?" y obtén respuestas precisas.
Protocolo MCP: funciona directamente con el soporte MCP integrado de llama-server.
Related MCP server: engram
Requisitos
Python 3.11 (se recomienda Miniconda)
PostgreSQL 16+ con la extensión PGVector
llama-server con la bandera --jinja (necesaria para la llamada a herramientas)
nomic-embed-text ejecutándose en llama-server (puerto 8081 por defecto)
Instalación
# 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 .Configuración
Copia .env.example a .env y edítalo:
cp .env.example .envEjemplo:
# 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=9001Configurar la base de datos
Crea la base de datos y ejecuta las migraciones:
psql -U postgres -c "CREATE DATABASE llamamem;"
alembic upgrade headLa aplicación también garantiza el esquema básico al iniciar por conveniencia.
Ejecutar el servicio
# Using the script
.\scripts\run_server.ps1
# Or directly
python -m uvicorn app.main:app --host 0.0.0.0 --port 9001Conectar a llama-server
Añade a tu configuración MCP de llama-server:
{
"mcpServers": {
"llama-memory": {
"url": "http://YOUR_SERVER_IP:9001/mcp"
}
}
}El servicio debe ser accesible desde llama-server. Usa la IP real, no localhost, si se ejecutan en máquinas diferentes.
Herramientas MCP
Herramienta | Descripción |
create_conversation | Crear una nueva sesión de conversación |
list_conversations | Listar conversaciones con recuento de recuerdos |
get_conversation_history | Obtener todos los recuerdos de una conversación |
search_memories | Búsqueda semántica en todos los recuerdos |
save_memory | Almacenar un hecho o decisión importante |
Prompt del sistema
Puedes:
Obtener el prompt del sistema recomendado desde el servicio:
GET /system-prompt → devuelve texto plano.
O pegar esta versión mínima en 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.Comprobación de estado
curl http://localhost:9001/healthDevuelve el estado de la base de datos, el estado del servicio de incrustaciones y el recuento de herramientas.
Arquitectura
Estructura de alto nivel:
app/main.py — Aplicación FastAPI, ciclo de vida, /system-prompt
app/settings.py — Configuración de Pydantic desde .env
app/clients/embeddings.py — Llama a nomic-embed-text para vectores
app/db/engine.py — Grupo de conexiones asyncpg (singleton)
app/db/schema.py — Crea tablas automáticamente al iniciar
app/mcp/endpoint.py — Manejadores del protocolo MCP, limitador de velocidad
app/mcp/tools/ — Implementaciones de herramientas individuales
migrations/ — Migraciones de base de datos Alembic
Desarrollo
# Run tests
pytest tests/ -v
# Run with auto-reload
python -m uvicorn app.main:app --host 0.0.0.0 --port 9001 --reloadConsulta CONTRIBUTING.md para las pautas de contribución.
Licencia
MIT (consulta el archivo LICENSE).
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