whimsicality-db
Officialwhimsicality-db
Un diario de trabajo para agentes de larga duración. Servidor MCP respaldado por SQLite con seguimiento de sesiones, registro de eventos y búsqueda FTS5, para que los agentes que trabajan en múltiples ventanas de contexto puedan recordar decisiones, buscar eventos pasados y realizar un seguimiento de su propio progreso.
Por qué existe esto
Los agentes que realizan trabajos de largo alcance tienen un problema: cuando la ventana de contexto se llena, pierden la noción de lo que decidieron, lo que probaron y lo que queda por hacer. El historial de conversación se desplaza y el agente vuelve a derivar conclusiones que ya había alcanzado.
whimsicality-db resuelve esto con un diario de trabajo persistente:
Crea una sesión para la tarea:
db_session_create({ id: "refactor-auth", name: "Refactor auth system" })Registra eventos a medida que ocurren:
db_event_log({ session_id: "refactor-auth", event_type: "decision", content: "Chose JWT over session cookies for stateless auth" })Busca decisiones pasadas:
db_search({ query: "auth decision", collections: ["events"] })Realiza un seguimiento de las tareas pendientes entre ventanas de contexto:
db_todo_add({ title: "Implement JWT verification", session_id: "refactor-auth" })
Cuando el agente regresa después de un reinicio de la ventana de contexto, busca en el registro de sesión y continúa donde lo dejó, sin tener que releer toda la conversación.
Related MCP server: MCP Tools
Inicio rápido
{
"mcpServers": {
"whimsicality-db": {
"command": "npx",
"args": ["whimsicality-db"]
}
}
}Los datos se almacenan en ~/.whimsicality/db-storage/whimsicality.db (SQLite, modo WAL). Establece WHIMSICALITY_DB_DIR para anularlo.
Migración desde whimsicality-mcp
Si usaste el paquete obsoleto whimsicality-mcp, importa tus datos:
db_import({ source_dir: "~/.whimsicality/mcp-storage" })Importa entradas de memoria, documentos y fragmentos de caché comprimidos en la tabla de entradas unificada.
Herramientas (21 en total, ~2,700 tokens de esquema)
Memoria — hechos clave-valor (4)
Tool | Description |
| Almacena un hecho clave-valor. Con espacio de nombres. |
| Recupera un valor por clave. |
| Lista las claves en un espacio de nombres. |
| Elimina una clave de memoria. |
Entradas — almacén de texto unificado con compresión automática (5)
Reemplaza las antiguas colecciones de docs, cache y context. El texto pequeño se almacena tal cual y se indexa con FTS5. El texto grande (>64KB) se comprime automáticamente con brotli y se pagina al leer. Las etiquetas y la fuente son opcionales.
Tool | Description |
| Almacena texto. Se comprime automáticamente si es grande. Etiquetas y fuente opcionales. |
| Lee una entrada por ID. Admite paginación mediante offset+length. |
| Lista entradas. Filtro opcional por etiqueta. |
| Obtiene entradas que coincidan con cualquiera de las etiquetas dadas. |
| Elimina una entrada. |
Tareas pendientes — seguimiento de tareas entre ventanas de contexto (4)
Tool | Description |
| Añade una tarea pendiente con prioridad, etiquetas y enlace de sesión. |
| Lista tareas pendientes. Filtra por estado/etiqueta/sesión. |
| Actualiza una tarea pendiente. Una cadena vacía borra un campo. |
| Elimina una tarea pendiente. |
Sesiones — contenedores de tareas de largo alcance (3)
Tool | Description |
| Crea o actualiza una sesión para tareas de largo alcance. |
| Lista sesiones. Filtro opcional por estado. Pasa el id para obtener una. |
| Actualiza la sesión. Una cadena vacía borra nombre/descripción. |
Eventos — registro de sesión (2)
Tool | Description |
| Registra un evento en una sesión. Buscable con FTS5. |
| Lista eventos. Filtra por sesión/tipo. |
Búsqueda + estadísticas + importación (3)
Tool | Description |
| Búsqueda FTS5 unificada en todas las colecciones. Devuelve resultados clasificados con puntuaciones BM25. |
| Estadísticas de la base de datos: recuentos y tamaño. |
| Importa datos del directorio de almacenamiento de whimsicality-mcp. |
Arquitectura
┌──────────────────────────────────────────────────────────┐
│ SQLite Database (WAL mode) │
│ │
│ memory ─── memory_fts (FTS5) │
│ entries ─── entries_fts (FTS5) │
│ ├─ small: content_text (plain, FTS5-indexed) │
│ └─ large: content (brotli BLOB) + title (FTS5) │
│ entry_tags ── normalized tag join table │
│ todos ─── todos_fts (FTS5) │
│ todo_tags ── normalized tag join table │
│ sessions (no FTS — small, direct query) │
│ events ─── events_fts (FTS5) │
│ │
│ Triggers keep FTS5 indexes in sync automatically. │
│ WAL mode: concurrent readers + 1 writer. │
│ CHECK constraints on status columns. │
│ Schema version migrations (v1→v2→v3). │
└──────────────────────────────────────────────────────────┘Búsqueda unificada
db_search({ query, collections, top_k }) busca en memoria, entradas, tareas pendientes y eventos en una sola llamada. Los resultados se fusionan y clasifican por puntuación BM25 (mayor = mejor). Cada resultado incluye su colección, ID, puntuación y un extracto centrado en la coincidencia cuando corresponde.
Compresión automática
Las entradas de más de 64KB se comprimen automáticamente con brotli. El título/resumen se almacena como texto plano para la indexación FTS5. db_entry_read descomprime bajo demanda con paginación offset+length.
Nota sobre el módulo nativo
Este paquete depende de better-sqlite3, un complemento nativo de Node.js. npm install normalmente encuentra binarios precompilados automáticamente. Si no, node-gyp compila desde el código fuente; necesitarás Python 3 y un compilador de C++. Node 22.5+ incluye node:sqlite con FTS5 integrado, que es una futura ruta sin dependencias.
Migraciones de esquema
La tabla schema_version realiza un seguimiento de la versión del esquema de la base de datos. Al abrir, el servidor lee la versión y aplica las migraciones secuencialmente: v1→v2 (tablas de unión de etiquetas), v2→v3 (tabla de entradas unificada que fusiona docs/cache/context).
Cuándo usar cada colección
Memoria: pares clave-valor pequeños que quieras recuperar por clave exacta (hechos, configuración)
Entradas: cualquier contenido de texto — documentos, referencias, contenido grande. Compresión automática, etiquetas opcionales, lecturas paginadas
Tareas pendientes: tareas que el modelo está siguiendo entre ventanas de contexto
Sesiones: contenedores de tareas de largo alcance (agrupan eventos y tareas pendientes)
Eventos: registro cronológico dentro de una sesión (decisiones, hitos, errores)
Configuración
Variable | Default | Description |
|
| Directorio de almacenamiento de la base de datos |
Desarrollo
git clone https://github.com/WhimsicalityLabs/Whimsicality-DB.git
cd Whimsicality-DB
npm install
npm test67 pruebas: 64 en proceso (almacenamiento, búsqueda, entradas, tareas pendientes, sesiones, eventos, validación, importación) + 3 pruebas de humo de bin (ejecuta el punto de entrada real bin/whimsicality-db.js).
Licencia
MIT
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
- FlicenseNot gradedqualityDmaintenanceProvides AI agents with persistent, searchable memory that survives across conversations using semantic search, temporal versioning, and smart organization. Enables long-term context retention and cross-session continuity for AI assistants.14
- AlicenseBqualityAmaintenanceProvides context management and todo persistence with AI second opinions from ChatGPT and Claude. Enables saving code snippets, conversations, and todos across sessions with full-text search capabilities.33MIT
- AlicenseAqualityCmaintenanceProvides persistent session memory for AI assistants, enabling them to store, search, and retrieve conversation summaries across sessions via the Model Context Protocol.10MIT
- AlicenseNot gradedqualityAmaintenanceEnables persistent multimodal context storage for LLM agents with thread-based scoping, metadata filtering, and hybrid search capabilities.8Elastic 2.0
Related MCP Connectors
Persistent memory for AI agents. Search, store, and recall across sessions.
Universal memory for AI agents and tools. Save, organize and search context anywhere.
Persistent memory for AI agents — verbatim conversations, searchable by meaning.
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/WhimsicalityLabs/Whimsicality-DB'
If you have feedback or need assistance with the MCP directory API, please join our Discord server