← Back to Projects
CLI Tool

DailyTaskReminder

A CLI task reminder app built on the mcplearn MCP framework — create tasks with due dates, get terminal and desktop notifications when reminders fire.

PythonMCPCLI

Overview

DailyTaskReminder is an MCP-based task management app that runs in two modes: an interactive REPL with a background reminder thread, and a raw JSON stdio server for programmatic integration. Both modes share the same ToolRouter and five MCP tools. When a task’s reminder time is reached, a colored [REMINDER] alert fires in the terminal alongside an optional notify-send desktop notification.

Key Features

  • Interactive REPL with add, list, complete, delete commands and partial-ID matching
  • Background thread polls every 60 seconds for due reminders — fires once and marks as notified
  • Dual-mode: interactive REPL or raw MCP JSON stdio (--mode mcp)
  • JSON file storage with file locking; zero pip dependencies beyond the framework
  • Configurable storage directory, poll interval, and timezone via environment variables

Technical Decisions

Both modes share the same ToolRouter so the interactive CLI is not a separate code path — it translates human-friendly commands into MCPRequest objects and dispatches them through the exact same pipeline as the raw server. This keeps all tool logic in one place and makes the MCP mode a first-class interface rather than an afterthought.