Labsco
mattsafaii logo

Things 3

from mattsafaii

Manage your tasks and projects in Things 3 on macOS.

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedFreeAdvanced setup

Things 3 MCP Server (Ruby)

A comprehensive Model Context Protocol (MCP) server for Things 3 task management on macOS. This server provides natural language task management, advanced filtering, bulk operations, analytics, and maintenance tools through AppleScript integration.

macOS Only: This MCP server requires macOS and Things 3 (which is macOS-exclusive).

๐Ÿ—๏ธ Architecture

The codebase is organized into focused classes with clear separation of concerns:

  • Things3MCPServer - Main MCP server implementation
  • AppleScriptExecutor - Handles AppleScript execution with error handling
  • AppleScriptGenerator - Generates AppleScript code for Things 3 operations
  • Things3Client - Core Things 3 task operations (CRUD)
  • DateParser - Natural language date parsing using Chronic gem
  • TaskFilter - Advanced task filtering and search capabilities
  • BulkOperations - Bulk task operations (create, update, move, complete, import)
  • ReportGenerator - Weekly reviews, project reports, and analytics

๐Ÿš€ Features

Core Task Management

  • CRUD Operations: Create, read, update, delete tasks
  • Natural Language Dates: "tomorrow", "next Friday", "in 3 days", etc.
  • Smart Organization: Project/area assignment with automatic creation
  • Advanced Search: Multi-criteria filtering with regex support

Advanced Filtering

  • Complex Filters: Status, projects, areas, tags, dates, notes
  • Quick Filters: Pre-built filters for common scenarios
  • Saved Filters: Store and reuse complex filter combinations
  • Text Search: Name and notes content search with regex

Bulk Operations

  • Mass Creation: Create multiple tasks from lists or templates
  • Bulk Updates: Update tasks matching specific criteria
  • Tag Operations: Add, remove, standardize tags across tasks
  • Import/Export: CSV, JSON, and plain text import support

Analytics & Reports

  • Weekly Reviews: Comprehensive review generation
  • Project Health: Analyze project progress and bottlenecks
  • Productivity Insights: Completion patterns and trends
  • Planning Tools: Next week planning with energy-based scheduling

Data Maintenance

  • Duplicate Detection: Find and merge similar tasks
  • Orphaned Task Cleanup: Organize tasks without projects/areas
  • Tag Standardization: Clean up inconsistent tag naming
  • System Health: Organization scoring and health metrics

๐ŸŽฏ Available Tools

33 comprehensive tools organized into functional categories:

Core Task Operations

  • add_task - Create new tasks with full metadata
  • list_tasks - List tasks with filtering options
  • list_projects - List all projects and areas
  • update_task - Modify existing task properties
  • complete_task - Mark tasks as completed
  • delete_task - Remove tasks from Things 3
  • move_task - Move tasks between projects/areas
  • search_tasks - Search task names and content

Advanced Features

  • add_task_with_planning_notes - Create tasks with planning metadata
  • list_tasks_by_date_range - Filter tasks by date ranges
  • snooze_task - Postpone tasks to future dates
  • parse_date - Test natural language date parsing
  • filter_tasks - Advanced multi-criteria filtering
  • quick_filters - Pre-built useful filters (orphaned, overdue, etc.)
  • saved_filters - Manage reusable filter configurations

Analytics & Reports

  • weekly_review - Generate comprehensive weekly reviews
  • project_status_report - Analyze active projects
  • productivity_insights - Track productivity patterns
  • next_week_planning - Plan upcoming week with energy levels
  • review_templates - Manage consistent review formats

Bulk Operations

  • bulk_create_tasks - Create multiple tasks at once
  • bulk_update_tasks - Update multiple matching tasks
  • bulk_move_tasks - Move tasks between projects
  • bulk_tag_operations - Mass tag management
  • bulk_complete_tasks - Complete multiple tasks
  • bulk_import_tasks - Import from external formats

Data Cleanup & Maintenance

  • cleanup_orphaned_tasks - Organize unassigned tasks
  • find_duplicate_tasks - Detect and merge duplicates
  • standardize_tags - Clean up tag naming consistency
  • cleanup_stale_tasks - Handle old/abandoned tasks
  • analyze_project_health - Project health metrics
  • fix_broken_references - Repair data integrity issues
  • organization_score - Overall system health assessment

Templates & Automation

  • task_templates - Manage reusable task sets

๐Ÿ›ก๏ธ Error Handling

  • Things 3 Availability: Validates Things 3 is running before operations
  • AppleScript Errors: Comprehensive error catching with descriptive messages
  • Date Parsing: Graceful handling of ambiguous dates with confidence indicators
  • Input Validation: Parameter validation with helpful error messages
  • Timeout Protection: 30-second timeout on AppleScript operations

๐Ÿ“ File Structure

things3-mcp/
โ”œโ”€โ”€ things3-mcp-server            # Executable script (root level)
โ”œโ”€โ”€ lib/
โ”‚   โ”œโ”€โ”€ things3_mcp.rb            # Main entry point
โ”‚   โ””โ”€โ”€ things3_mcp/
โ”‚       โ”œโ”€โ”€ server.rb             # MCP server implementation
โ”‚       โ”œโ”€โ”€ client.rb             # Core Things 3 operations
โ”‚       โ”œโ”€โ”€ date_parser.rb        # Natural language date parsing
โ”‚       โ”œโ”€โ”€ task_filter.rb        # Advanced task filtering
โ”‚       โ”œโ”€โ”€ bulk_operations.rb    # Bulk task operations
โ”‚       โ”œโ”€โ”€ report_generator.rb   # Analytics and reports
โ”‚       โ””โ”€โ”€ applescript/
โ”‚           โ”œโ”€โ”€ executor.rb       # AppleScript execution engine
โ”‚           โ””โ”€โ”€ generator.rb      # AppleScript code generation
โ”œโ”€โ”€ Gemfile                       # Ruby dependencies
โ”œโ”€โ”€ Gemfile.lock                  # Locked dependency versions

โ””โ”€โ”€ README.md                     # This documentation

๐Ÿค MCP Integration

This server implements the Model Context Protocol and can be used with any MCP-compatible client:

  • Claude Desktop - Most popular MCP client
  • Cursor IDE - AI-powered code editor with MCP support
  • VS Code - With MCP extensions
  • Zed Editor - Modern editor with built-in MCP support
  • Continue - VS Code extension for AI coding assistance
  • Custom Applications - Any tool implementing the MCP standard

See the MCP Client Configuration section above for detailed setup instructions for each client.

The server provides a natural language interface to comprehensive Things 3 task management through the standardized MCP protocol, making your task management available to any AI assistant or automation tool that supports MCP.

๐Ÿ“„ Dependencies

  • mcp (~> 0.1.0) - Model Context Protocol implementation
  • chronic (~> 0.10.2) - Natural language date parsing
  • debug, rubocop (development)

๐Ÿ“Š System Health

The server includes built-in health monitoring through:

  • Organization scoring (0-100 across multiple dimensions)
  • Project health analysis
  • Duplicate detection
  • Data integrity checks
  • Productivity trend analysis

Regular maintenance can be automated through the provided cleanup and analysis tools.