Labsco
MCP SERVER

Things 3

by mattsafaii

Drives Things 3 on macOS through AppleScript — create and query tasks in plain language, then run weekly reviews and bulk clean-ups the app itself has no button for.

Project & Task Management
Summary
Grant the two macOS permissions first, then it just works.

The task tools are the ordinary part; the reason to install this is the second half of the list — bulk tag standardisation, duplicate detection and weekly review generation over a Things database that has drifted for years. Everything routes through AppleScript, so the client needs Accessibility and Automation rights before a single call succeeds.

What it is

A Ruby MCP server that talks to Things 3 over AppleScript. Your assistant asks in words, the server generates the AppleScript, Things 3 does the work. It is macOS-only, because Things 3 is.

What you get
  • Everyday task work: `add_task`, `list_tasks`, `update_task`, `complete_task`, `move_task`, `search_tasks`, `list_projects`
  • Dates written the way you say them — "next Friday", "in 3 days" — parsed by the Chronic gem, with `parse_date` to check what a phrase resolves to before you commit
  • Bulk operations across many tasks at once: `bulk_create_tasks`, `bulk_update_tasks`, `bulk_move_tasks`, `bulk_tag_operations`, `bulk_import_tasks`
  • Reviews and reporting: `weekly_review`, `project_status_report`, `productivity_insights`, `next_week_planning`
  • Database hygiene: `find_duplicate_tasks`, `standardize_tags`, `cleanup_orphaned_tasks`, `cleanup_stale_tasks`, `analyze_project_health`, `organization_score`
  • The README counts 33 tools in total, grouped into those categories
Requirements

macOS with Things 3 installed and running, Ruby 3.0.0 or higher, and `bundle install` in the cloned repo. Point your client at the `things3-mcp-server` executable by absolute path. macOS will ask for two permissions the first time: add your MCP client under Security & Privacy → Privacy → Accessibility, and enable Things3 for it under Privacy → Automation. Restart the client after granting them or calls come back as permission denied. AppleScript operations time out at 30 seconds, so keep bulk batches modest.