Skip to main content
Glama
WhimsicalityLabs

whimsicality-db

Official

whimsicality-db

Ein Arbeitstagebuch für langlebige Agenten. SQLite-basierter MCP-Server mit Sitzungsverfolgung, Ereignisprotokollierung und FTS5-Suche – damit Agenten, die über mehrere Kontextfenster hinweg arbeiten, Entscheidungen abrufen, vergangene Ereignisse durchsuchen und ihren eigenen Fortschritt verfolgen können.

Warum es das gibt

Agenten, die langfristige Arbeiten durchführen, haben ein Problem: Wenn das Kontextfenster voll wird, verlieren sie den Überblick darüber, was sie entschieden haben, was sie versucht haben und was noch zu tun ist. Der Gesprächsverlauf scrollt aus dem Blickfeld, und der Agent leitet Schlussfolgerungen erneut ab, die er bereits gezogen hat.

whimsicality-db löst dies mit einem persistenten Arbeitstagebuch:

  1. Erstellen Sie eine Sitzung für die Aufgabe: db_session_create({ id: "refactor-auth", name: "Refactor auth system" })

  2. Protokollieren Sie Ereignisse, wenn sie auftreten: db_event_log({ session_id: "refactor-auth", event_type: "decision", content: "Chose JWT over session cookies for stateless auth" })

  3. Suchen Sie nach vergangenen Entscheidungen: db_search({ query: "auth decision", collections: ["events"] })

  4. Verfolgen Sie Todos über Kontextfenster hinweg: db_todo_add({ title: "Implement JWT verification", session_id: "refactor-auth" })

Wenn der Agent nach einem Zurücksetzen des Kontextfensters zurückkehrt, durchsucht er das Sitzungsprotokoll und setzt dort fort, wo er aufgehört hat – ohne die gesamte Konversation erneut zu lesen.

Related MCP server: MCP Tools

Schnellstart

{
  "mcpServers": {
    "whimsicality-db": {
      "command": "npx",
      "args": ["whimsicality-db"]
    }
  }
}

Die Daten werden unter ~/.whimsicality/db-storage/whimsicality.db gespeichert (SQLite, WAL-Modus). Setzen Sie WHIMSICALITY_DB_DIR, um dies zu überschreiben.

Migration von whimsicality-mcp

Wenn Sie das veraltete Paket whimsicality-mcp verwendet haben, importieren Sie Ihre Daten:

db_import({ source_dir: "~/.whimsicality/mcp-storage" })

Importiert Speichereinträge, Dokumente und komprimierte Cache-Blöcke in die einheitliche Eintragstabelle.

Tools (21 insgesamt, ~2.700 Schema-Tokens)

Speicher — Schlüssel-Wert-Fakten (4)

Tool

Beschreibung

db_memory_set

Speichern Sie eine Schlüssel-Wert-Fakt. Mit Namensraum.

db_memory_get

Rufen Sie einen Wert per Schlüssel ab.

db_memory_list

Listen Sie Schlüssel in einem Namensraum auf.

db_memory_delete

Löschen Sie einen Speicherschlüssel.

Einträge — einheitlicher Textspeicher mit automatischer Komprimierung (5)

Ersetzt die alten Sammlungen für Dokumente, Cache und Kontext. Kleiner Text wird unverändert gespeichert und FTS5-indiziert. Großer Text (>64KB) wird automatisch mit Brotli komprimiert und beim Lesen seitenweise geladen. Tags und Quelle sind optional.

Tool

Beschreibung

db_entry_save

Speichern Sie Text. Automatische Komprimierung bei großer Größe. Tags und Quelle optional.

db_entry_read

Lesen Sie einen Eintrag per ID. Unterstützt seitenweises Laden über offset+length.

db_entry_list

Listen Sie Einträge auf. Optionaler Tag-Filter.

db_entry_by_tags

Holen Sie Einträge, die einem der angegebenen Tags entsprechen.

db_entry_delete

Löschen Sie einen Eintrag.

Todos — Aufgabenverfolgung über Kontextfenster hinweg (4)

Tool

Beschreibung

db_todo_add

Fügen Sie ein Todo mit Priorität, Tags und Sitzungslink hinzu.

db_todo_list

Listen Sie Todos auf. Filtern Sie nach Status/Tag/Sitzung.

db_todo_update

Aktualisieren Sie ein Todo. Leerer String löscht ein Feld.

db_todo_delete

Löschen Sie ein Todo.

Sitzungen — Container für langfristige Aufgaben (3)

Tool

Beschreibung

db_session_create

Erstellen oder aktualisieren Sie eine Sitzung für langfristige Aufgaben.

db_session_list

Listen Sie Sitzungen auf. Optionaler Statusfilter. Übergeben Sie die ID, um eine zu erhalten.

db_session_update

Aktualisieren Sie die Sitzung. Leerer String löscht Name/Beschreibung.

Ereignisse — Sitzungsprotokoll (2)

Tool

Beschreibung

db_event_log

Protokollieren Sie ein Ereignis in einer Sitzung. FTS5-durchsuchbar.

db_event_list

Listen Sie Ereignisse auf. Filtern Sie nach Sitzung/Typ.

Suche + Statistiken + Import (3)

Tool

Beschreibung

db_search

Einheitliche FTS5-Suche über Sammlungen. Liefert sortierte Ergebnisse mit BM25-Scores.

db_stats

Datenbankstatistiken: Anzahl und Größe.

db_import

Importieren Sie Daten aus dem Speicherverzeichnis von whimsicality-mcp.

Architektur

┌──────────────────────────────────────────────────────────┐
│ 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).                  │
└──────────────────────────────────────────────────────────┘

Einheitliche Suche

db_search({ query, collections, top_k }) durchsucht Speicher, Einträge, Todos und Ereignisse in einem Aufruf. Die Ergebnisse werden zusammengeführt und nach BM25-Score sortiert (höher = besser). Jedes Ergebnis enthält seine Sammlung, ID, Score und gegebenenfalls einen auf den Treffer zentrierten Auszug.

Automatische Komprimierung

Einträge über 64KB werden automatisch mit Brotli komprimiert. Der Titel/die Zusammenfassung wird als Klartext für die FTS5-Indizierung gespeichert. db_entry_read dekomprimiert bei Bedarf mit offset+length-Seitenweise.

Hinweis zum nativen Modul

Dieses Paket hängt von better-sqlite3 ab, einem nativen Node.js-Addon. npm install findet normalerweise automatisch vorgefertigte Binärdateien. Falls nicht, kompiliert node-gyp aus dem Quellcode – Sie benötigen Python 3 und einen C++-Compiler. Node 22.5+ enthält node:sqlite mit integriertem FTS5, was ein zukünftiger Weg ohne Abhängigkeiten ist.

Schema-Migrationen

Die Tabelle schema_version verfolgt die Version des Datenbankschemas. Beim Öffnen liest der Server die Version und wendet Migrationen sequenziell an: v1→v2 (Tag-Join-Tabellen), v2→v3 (einheitliche Eintragstabelle, die Dokumente/Cache/Kontext zusammenführt).

Wann welche Sammlung verwenden

  • Speicher: kleine Schlüssel-Wert-Paare, die Sie per exaktem Schlüssel abrufen möchten (Fakten, Konfiguration)

  • Einträge: beliebiger Textinhalt – Dokumente, Referenzen, große Inhalte. Automatische Komprimierung, Tags optional, seitenweises Lesen

  • Todos: Aufgaben, die das Modell über Kontextfenster hinweg verfolgt

  • Sitzungen: Container für langfristige Aufgaben (gruppieren Ereignisse und Todos)

  • Ereignisse: chronologisches Protokoll innerhalb einer Sitzung (Entscheidungen, Meilensteine, Fehler)

Konfiguration

Variable

Standard

Beschreibung

WHIMSICALITY_DB_DIR

~/.whimsicality/db-storage

Datenbankspeicherverzeichnis

Entwicklung

git clone https://github.com/WhimsicalityLabs/Whimsicality-DB.git
cd Whimsicality-DB
npm install
npm test

67 Tests: 64 In-Process (Speicher, Suche, Einträge, Todos, Sitzungen, Ereignisse, Validierung, Import) + 3 Bin-Smoke-Tests (starten den tatsächlichen Einstiegspunkt bin/whimsicality-db.js).

Lizenz

MIT

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides 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
  • A
    license
    B
    quality
    A
    maintenance
    Provides 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.
    3
    3
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Provides persistent session memory for AI assistants, enabling them to store, search, and retrieve conversation summaries across sessions via the Model Context Protocol.
    10
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables persistent multimodal context storage for LLM agents with thread-based scoping, metadata filtering, and hybrid search capabilities.
    8
    Elastic 2.0

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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