Things 3 Extended
A desktop extension for the Things 3 task manager, providing advanced features like task movement, editing, and backups.
Things 3 Extended MCP Server - DXT Extension
A comprehensive Desktop Extension (DXT) for Things 3 task management integration with enhanced capabilities including task movement, editing, and backup functionality.
Features
📋 Viewing Operations
view_inbox- View all tasks in Things 3 inboxview_today- View all tasks scheduled for todayview_projects- View all projects in Things 3view_areas- View all areas in Things 3
➕ Creation Operations
create_task- Create new tasks with full metadata (notes, dates, tags, checklists)create_project- Create new projects with areas and schedulingcreate_area- Create new organizational areas
🔄 Task Movement Operations
move_task_to_inbox- Move tasks from today/other lists back to inboxmove_task_to_today- Schedule inbox tasks for todaymove_task_to_project- Assign tasks to specific projectsmove_task_to_area- Move tasks to specific areas
✏️ Editing Operations
edit_task- Modify existing task properties (title, notes, dates, tags)edit_project- Update project details and metadata
🔍 Management Operations
search_tasks- Search tasks by title or contentcomplete_task- Mark tasks as completed
💾 Backup & Restore Operations
backup_things3- Create comprehensive backup of all Things 3 datarestore_things3- Load backup data (analysis and reference)
Installation
Prerequisites
- macOS (required for Things 3)
- Things 3 application installed
- Node.js 18.0.0 or higher
- DXT-compatible host (Claude Desktop, etc.)
Install Dependencies
cd server
npm install
Package as DXT Extension
Since DXT CLI is not yet publicly available, create the package manually:
# Create DXT package (ZIP format)
zip -r things3-mcp-dxt-extension-v1.0.0.dxt . -x "*.git*" "*.DS_Store*" "*.dxt" ".claude/*" "reddit_post.md"
Important: Exclude .claude/ directory to avoid installation errors in Claude Desktop.
Add to Host Application
Add the extension to your MCP-compatible host's configuration:
{
"mcpServers": {
"things3-extended": {
"command": "node",
"args": ["/path/to/extension/server/index.js"]
}
}
}
Usage Examples
Task Management Workflow
// View what's in your inbox
await callTool("view_inbox");
// Create a new task
await callTool("create_task", {
title: "Review quarterly reports",
notes: "Focus on sales and marketing metrics",
when: "today",
tags: "work,review"
});
// Move task from today to a specific project
await callTool("move_task_to_project", {
title: "Review quarterly reports",
project: "Q4 Planning"
});
// Edit the task to add a deadline
await callTool("edit_task", {
current_title: "Review quarterly reports",
deadline: "2024-12-31"
});
Backup & Recovery
// Create backup
await callTool("backup_things3", {
backup_path: "/Users/username/Desktop/things3_backup.json"
});
// Analyze backup contents
await callTool("restore_things3", {
backup_path: "/Users/username/Desktop/things3_backup.json"
});
Technical Implementation
Architecture
- MCP Protocol: Uses
@modelcontextprotocol/sdkfor communication - AppleScript Integration: Direct interaction with Things 3 via AppleScript
- URL Schemes: Leverages Things 3 URL schemes for creation operations
- Error Handling: Comprehensive timeout and error management
Security Features
- Input sanitization for AppleScript injection prevention
- URL encoding for special characters
- Timeout protection (10 second limit)
- Safe string escaping
Performance Considerations
- Async operations throughout
- Efficient AppleScript execution
- JSON parsing with fallback defaults
- Memory-efficient data handling
API Reference
Task Creation Parameters
{
title: string, // Required
notes: string, // Optional
when: string, // Optional - "today", "tomorrow", "2024-12-31"
deadline: string, // Optional - Date string
tags: string, // Optional - Comma-separated
list: string, // Optional - Project/area name
checklist: string // Optional - Checklist items
}
Backup Data Structure
{
timestamp: "2024-12-01T10:00:00Z",
version: "1.0.0",
data: {
inbox: [...], // Array of inbox tasks
today: [...], // Array of today's tasks
projects: [...], // Array of projects
areas: [...] // Array of areas
}
}
Troubleshooting
Common Issues
-
"Things 3 not responding"
- Ensure Things 3 is running
- Check macOS permissions for AppleScript
-
"Task not found" errors
- Search uses partial matching
- Check exact task titles
- Tasks may be in different lists
-
Backup/restore failures
- Verify file path permissions
- Ensure sufficient disk space
- Check JSON syntax in backup files
Debug Mode
Set NODE_ENV=development for detailed logging:
NODE_ENV=development node server/index.js
License
MIT License - See LICENSE file for details.
Repository
GitHub: https://github.com/upup666/things3-mcp-dxt-extension
Contributing
Contributions welcome! Please follow the existing code style and add tests for new features.
Issues & Support
Report issues at: https://github.com/upup666/things3-mcp-dxt-extension/issues
🚀 Ready to supercharge your Things 3 workflow with AI assistance!
Related Servers
physbound
PhysBound is a specialized "Physics Linter" for AI that deterministically validates RF and thermodynamic claims against hard physical limits, preventing hallucinations in engineering workflows.
WooCommerce MCP Server
An MCP server for integrating with the WooCommerce e-commerce platform.
DalexorMI
Dalexor MI is an advanced project memory system designed to provide AI coding assistants with **Contextual Persistence**. Unlike standard RAG (Retrieval-Augmented Generation) systems that perform surface-level keyword searches, Dalexor MI maps the **logical evolution** of a codebase, tracking how symbols, dependencies, and architectural decisions shift over time.
Feishu MCP Server
Access and manage Feishu documents for AI coding tools, enabling structured content retrieval, editing, and search.
Knit MCP
Connect with 10,000+ tools across HRIS, ATS, CRM, Accounting, Calendar, Meeting, Ticketing, and more categories.
GoHighLevel
Integrate GoHighLevel with AI assistants like Claude and ChatGPT using a private API key.
Lunch Roulette MCP Server
Manages and randomly selects from a list of lunch restaurants, storing choices and visit statistics locally.
Godspeed MCP
Manage tasks and projects with the Godspeed Task Management API.
ShipBoss
An intelligent shipping assistant for managing shipments, requiring a ShipBoss API token.
Obsidian
Interact with your Obsidian vault using the Local REST API plugin, enabling LLMs to access and manage your notes.