daily-dose

daily-dose

Provides persistent local memory of Claude Code sessions with TODO management and searchable activity logs via MCP tools.

Category
Visit Server

README

🗞 Daily Dose of Claude Code

A local newspaper-style memory system for everything you do with Claude Code. Nothing leaves your machine.

  • Persistent SQLite database of every Claude Code session, prompt, tool call, and file edit — across every repo
  • Newspaper UI at http://localhost:3000 with light/dark warm theme, date navigation, timeline, TODO desk, stats, and search
  • First-class TODOs, editable in the UI and manipulable by Claude via a local MCP server
  • Global Claude Code hooks (SessionStart, UserPromptSubmit, PostToolUse, Stop, PreCompact, SessionEnd), additively merged into your existing ~/.claude/settings.json (never overwritten, always backed up)
  • Redaction of common secret formats before any write
  • No cloud, no API keys, no external LLM calls

Installation

Option 1 — One-line installer (recommended)

curl -fsSL https://raw.githubusercontent.com/iamdevnitesh/daily-dose-of-claude-code/main/install.sh | bash

Or, if you've already cloned this repo:

./install.sh

It clones to ~/daily-dose-of-claude-code, installs deps, builds the hooks/MCP, merges into ~/.claude/settings.json (backing up first), adds a small managed section to ~/.claude/CLAUDE.md, and runs the doctor.

Option 2 — npm

Once published, anyone can install globally:

npm install -g daily-dose-of-claude-code
daily-dose install
daily-dose dev              # UI on http://localhost:3000

Or run without installing:

npx daily-dose-of-claude-code install

Option 3 — Docker Compose (UI only)

The hooks and MCP server must run on the host — Claude Code spawns them as subprocesses and can't reach into a container. Docker is useful for the newspaper UI only, which reads/writes the shared SQLite database via a volume mount.

# 1. Install hooks + MCP on the host first (any of the options above)
npx daily-dose-of-claude-code install

# 2. Run the UI in Docker
docker compose up -d
# → http://localhost:3000

The compose file mounts ~/.daily-dose-claude (or $DAILY_DOSE_HOME) into the container at /data, so the UI shares the exact same database the host-side hooks and MCP server are writing to. Kill the container any time — capture keeps running because it lives on the host.

Option 4 — Manual (developer / hackable)

git clone <repo> && cd daily-dose-of-claude-code
npm install
npm run build:node          # compile hooks + MCP
npm run install:daily-dose  # merge into ~/.claude/settings.json (backup first)
npm run doctor
npm run dev                 # http://localhost:3000

The daily-dose CLI

Once installed globally (or via npx), the daily-dose command dispatches to everything:

Command What it does
daily-dose install Merge hooks + MCP into ~/.claude/settings.json, add managed CLAUDE.md section
daily-dose uninstall [--purge-data] Remove hooks/MCP; keep data unless --purge-data
daily-dose doctor Verify everything is wired up
daily-dose dev Start the newspaper UI in dev mode
daily-dose start Start the UI in production mode
daily-dose build Compile hooks/MCP + build the Next.js UI
daily-dose seed [--force] Add demo activity for today
daily-dose reset [--yes] Empty the DB (backup first; schema preserved)
daily-dose backup Snapshot the DB into ~/.daily-dose-claude/backups
daily-dose migrate Print schema state

Where things live

Path Purpose
~/.daily-dose-claude/data/daily-dose.db SQLite database (WAL, FTS5)
~/.daily-dose-claude/logs/hooks.log JSON-line hook log
~/.daily-dose-claude/config.json Capture toggles + theme
~/.daily-dose-claude/backups/ Timestamped DB backups
~/.claude/settings.json Hooks + MCP registration (backed up before every write)
~/.claude/CLAUDE.md Contains a small <!-- DAILY_DOSE_START --> managed section

Architecture

Claude Code
  │
  ├─ Hooks (host-side Node): SessionStart, UserPromptSubmit,
  │                          PostToolUse, Stop, PreCompact, SessionEnd
  │                          → write to SQLite
  │
  └─ MCP server (host-side stdio, daily-dose)
                          → same SQLite DB

     Next.js UI (host or Docker, localhost:3000)
                          → same SQLite DB

The UI does not need to be running for activity capture — hooks talk directly to SQLite. You can kill Docker, kill next dev, uninstall the UI — Claude activity will keep landing in your local database.

MCP tools

  • daily_dose_add_todo
  • daily_dose_list_todos
  • daily_dose_update_todo
  • daily_dose_complete_todo (accepts title_query or id)
  • daily_dose_delete_todo
  • daily_dose_search_memory (FTS5 over activities + TODOs)
  • daily_dose_get_day
  • daily_dose_get_recent_activity
  • daily_dose_remember

Testing

npm test

Tests run against a temporary DAILY_DOSE_HOME — your real database and Claude configuration are never touched.

Notes and non-goals

  • No external AI calls — titles/summaries are deterministic
  • Full tool outputs (like giant Read payloads) are never persisted; only concise metadata
  • Redaction runs on all writes; still, don't intentionally paste secrets
  • Hooks are fail-open — Daily Dose failures never block Claude Code
  • Docker is UI-only by design; hooks must live on host for Claude Code to spawn them

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured