A modern todo application built on PocketBase with three powerful ways to manage your tasks: a beautiful web interface, an interactive command-line tool, and AI assistant integration.
One todo list. Three ways to access it.
- π Web Interface - Modern React UI with Entur Design System
- π» CLI Tool - Beautiful terminal interface with rich interactivity
- π€ AI Integration - Natural language todo management via Claude Desktop
- πΎ Unified Data - All interfaces share the same PocketBase database
- π Real-time Sync - Changes appear instantly across all interfaces
- π― Rich Metadata - Priorities, due dates, tags, and descriptions
- π Analytics - Visual statistics and progress tracking
- π Smart Search - Filter and search across all todo properties
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β β β β β β
β Web Browser β β Terminal β β Claude Desktop β
β β β β β β
ββββββββββ¬βββββββββ ββββββββββ¬βββββββββ ββββββββββ¬βββββββββ
β β β
βΌ βΌ βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β PocketBase Server β
β (Unified Data Layer) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
All three interfaces connect to the same PocketBase database, ensuring your todos stay synchronized no matter how you access them.
- Node.js: Version 16 or higher
- PocketBase: Included in the
pocketbase/directory
-
Install Dependencies:
npm install npm run build:all
-
Start the app:
npm start
β¨ Auto-Setup: PocketBase automatically creates the database and todos collection on first run!
-
Choose Your Interface:
- Web UI: β http://localhost:3000
- CLI: β use
todocommand anywhere - AI Assistant: Configure Claude Desktop (see below)
- API/SDK Navigate to the pocketbase admin GUI (http://127.0.0.1:8090/_/) and click the
API Previewbutton to read the API/SDK documentation (SDK's available are JS and Dart)
-
Configure Claude Desktop:
Open your configuration file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%/Claude/claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
- macOS:
-
Add MCP Server:
{ "mcpServers": { "todo": { "command": "node", "args": ["/absolute/path/to/your/mcp-todo/dist/index.js"], "cwd": "/absolute/path/to/your/mcp-todo", "env": { "MCP_AUTO_START_POCKETBASE": "true" } } } }Replace the paths with your actual project directory.
-
Restart Claude Desktop and test with: "Show me my todos"
A modern, responsive React application built with Entur's Design System.
- π¨ Professional Design - Clean, accessible interface
- π± Responsive - Works on desktop, tablet, and mobile
- β‘ Real-time Updates - See changes instantly
- π Advanced Filtering - Search by text, status, priority
- π Visual Analytics - Progress tracking and insights
- π·οΈ Tag Management - Organize with custom tags
# Start everything
npm run dev:all
# Or start separately:
npm run pocketbase # Terminal 1
npm run web # Terminal 2Then open http://localhost:3000 in your browser.
A beautiful, interactive terminal application with rich colors and intuitive commands.
- π¨ Beautiful Terminal UI - Colors, tables, progress bars
- β‘ Fast Commands - Quick operations for power users
- π Interactive Mode - Menu-driven interface
- π Rich Statistics - Visual progress tracking
- π Smart Filtering - Search by any property
- π Due Date Tracking - Overdue highlighting
# Build and install globally
npm run cli:build
cd cli && npm link# Interactive mode (recommended for beginners)
todo
# Quick commands
todo list # List all todos
todo add "Buy groceries" # Quick add
todo complete "groceries" # Mark as done
todo stats # Show statistics
todo --help # See all commands# Filtering and search
todo list --status pending # Only pending todos
todo list --priority high # Only high priority
todo list --table # Compact table view
todo list --search "development" # Search by text
# Creating todos with full options
todo add "Complex task" \
--description "Detailed description" \
--priority high \
--tags "work,urgent" \
--due 2025-06-15
# Management commands
todo complete "task name" # Mark as completed
todo delete "old task" # Remove todo
todo clear # Clear completed todos
todo overdue # Show overdue itemsManage your todos naturally using AI through the Model Context Protocol (MCP).
- π£οΈ Natural Language - "Create a high-priority task for the meeting"
- π Smart Queries - "Show me overdue tasks tagged with 'work'"
- π Analytics - "What's my completion rate this week?"
- π― Context Aware - AI understands priorities, due dates, tags
- "Create a new todo to review the quarterly report with high priority"
- "Show me all high priority tasks that are overdue"
- "Mark my MCP setup todo as completed"
- "What are my todo statistics?"
- "Find all todos tagged with 'development'"
- "Delete completed todos from last week"
{
id: string;
title: string;
description?: string;
completed: boolean;
priority: 'low' | 'medium' | 'high';
tags: string[];
dueDate?: string; // ISO 8601 format
created: string; // ISO 8601 format
updated: string; // ISO 8601 format
}# Building
npm run build # Build MCP server
npm run build:all # Build everything (MCP + Web + CLI)
# Development
npm run dev # MCP server watch mode
npm run web # Start web UI
npm run cli # CLI development mode
npm run dev:all # Start PocketBase + Web UI
# Database
npm run pocketbase # Start PocketBase server
npm run setup # Build + start PocketBase
# CLI
npm run cli:build # Build CLI
npm run cli:link # Build + link globallyβββ src/ # MCP server source
βββ web/ # React web application
βββ cli/ # Command-line interface
βββ pocketbase/ # Database server + config
βββ pb_data/ # Database files (auto-generated)
βββ pb_migrations/ # Database migrations
Web UI: http://localhost:3000
PocketBase Admin: http://localhost:8090/\_/
API Base: http://localhost:8090/api/
Your todos are accessible through:
- π Web Interface - Modern browser experience
- π» Command Line - Terminal power-user interface
- π€ AI Assistant - Natural language via Claude Desktop
- π§ Admin Panel - Direct database management
- π‘ REST API - Programmatic access for integrations
All interfaces share the same database - changes sync automatically!
- Daily task management with beautiful interfaces
- Cross-device synchronization
- AI-powered task creation and management
- Feature tracking with tags and priorities
- CLI integration in development environment
- AI assistant for project planning
- Shared todo lists via web interface
- Consistent data across team members
- API integration with other tools
This todo application demonstrates the power of multi-interface design:
- One Backend - PocketBase provides robust, scalable data storage
- Multiple Frontends - Each optimized for different use cases
- Unified Experience - Consistent data and functionality across all interfaces
Whether you prefer clicking in a browser, typing in a terminal, or talking to an AI, your todos are always accessible and synchronized.
Built with β€οΈ using PocketBase, React, Node.js, and the Model Context Protocol.