Skip to content

Storage Architecture

Overview of Notify-MCP's storage layer.


Storage Types

In-Memory Storage

Implementation: Python dictionaries Performance: Fastest (no I/O) Persistence: None Use case: Individual use, testing

SQLite Storage

Implementation: SQLAlchemy + aiosqlite Performance: Fast (file-based) Persistence: Yes Use case: Team collaboration


Database Schema

Tables: - channels - Channel definitions - subscriptions - Client subscriptions - notifications - Notification history

Features: - Foreign key constraints - Cascade deletes - JSON columns for nested data - Indexes on common queries - WAL mode for concurrency


LRU Cache

Automatic enforcement of max history per channel:

  • Default: 1000 notifications per channel
  • Configurable via NOTIFY_MCP_MAX_HISTORY
  • Old notifications automatically removed

For complete storage documentation, see: Storage Guide