Integrates with Apple's ecosystem through Apple Sign-In authentication and CloudKit services for secure access to user data stored in iCloud containers
Provides direct integration with iCloud CloudKit services for managing personal productivity data within the addTaskManager iOS/macOS app, including tasks, projects, ideas, and collections stored in the user's iCloud container
addTaskManager MCP Server
An MCP (Model Context Protocol) server that integrates with the addTaskManager iOS/macOS app, implementing the ADD (Assess-Decide-Do) framework created by Dragos Roua.
Overview
This MCP server provides AI assistance for your addTaskManager productivity workflow while respecting the strict realm-based restrictions of the ADD framework:
- Assess Realm: Create and edit tasks/projects/ideas, but cannot assign contexts or due dates
- Decide Realm: Assign contexts, due dates, and alerts, but cannot edit content
- Do Realm: Mark items as complete only (read-only otherwise)
Features
Authentication
- Secure Apple Sign-In integration
- CloudKit.js authentication for personal data access
- User-specific data isolation
Assess Realm Operations
assess_create_task
- Create new tasks with editable contentassess_edit_task
- Edit task contentassess_create_project
- Create new projectsassess_edit_project
- Edit project titleassess_create_idea
- Capture new ideasassess_create_collection
- Create new collectionassess_create_context
- Create new contextassess_edit_idea
- Edit idea titleassess_add_task_to_project
- Add an existing task to a projectassess_add_task_to_idea
- Add an existing task to an ideaassess_remove_task_from_project
- Remove a task assigned to a projectassess_remove_task_from_idea
- Remove a task assigned to an ideaassess_archive_task_to_collection
- Archive a task to an existing collectionassess_archive_project_to_collection
- Archive a project to an existing collection
Decide Realm Operations
decide_assign_context
- Assign contexts to tasks/projectsdecide_set_project_interval
- Set a project interval (start date and end date)decide_set_task_due_date
- Set due date to a taskdecide_set_task_alert
- Set task alertsdecide_move_task_to_do
- Move task to Do realmdecide_move_task_to_assess_from_decide
- Move task to Assess realmdecide_move_project_to_do
- Move project to Do realmdecide_move_project_to_assess_from_decide
- Move project to Assess realm
Do Realm Operations
do_mark_task_as_done
- Mark tasks as completeddo_mark_project_as_done
- Mark projects as completed
Query Operations
get_tasks_by_realm
- Filter tasks by realmget_projects_by_realm
- Filter projects by realmget_ideas
- Get all ideasget_collections
- Get all collectionsget_tasks_by_context
- Filter by contextget_stalled_items_in_decide
- Find stalled items (task + projects) in Decideget_undecided_items_in_decide
- Find undecided items (task + projects) in Decideget_ready_items_in_decide
- Find ready to do items (task + projects) in Decideget_tasks_today_in_do
- Find tasks done today in Doget_tasks_tomorrow_in_do
- Find tasks done tomorrow in Doget_tasks_soon_in_do
- Find tasks done soon in Doget_tasks_overdue_in_do
- Find tasks overdue in Do
General Operations
moveToRealm
- Move a task or project to any realm (assess/decide/do)
Installation
From npm (Coming Soon)
From Source
Configuration
Environment Variables
The server supports both development and production configurations. Copy .env.example
to .env
and configure:
CloudKit Dashboard Setup
- Log into CloudKit Dashboard
- Select your addTaskManager container
- Go to API Access → Server-to-Server Keys
- Create a new JavaScript API token
- Add your web app's domain to allowed origins
- Copy the API token to
CLOUDKIT_API_TOKEN
Usage with Claude Desktop
Add to your Claude Desktop MCP configuration (~/Library/Application Support/Claude/claude_desktop_config.json
on macOS):
For development:
Usage with Web App
- Implement Apple Sign-In on your web app
- Get user's CloudKit web auth token
- Call
authenticate_user
with the token - Start using realm-specific operations
Example authentication flow:
ADD Framework Rules
The server enforces these ADD framework restrictions:
Assess Realm
- ✅ Create/edit task content (title, body)
- ✅ Create projects and ideas
- ❌ Assign contexts or due dates
- ❌ Mark as complete
Decide Realm
- ✅ Assign contexts to tasks/projects
- ✅ Set due dates and alerts
- ✅ Move items between realms
- ❌ Edit task/project content
- ❌ Mark as complete
Do Realm
- ✅ Mark tasks/projects as complete
- ✅ View items (read-only)
- ❌ Edit any content
- ❌ Assign contexts or dates
Development
Project Structure
Development Notes
- Uses ESM modules (type: "module" in package.json)
- TypeScript compiled to
dist/
directory - Supports both development and production CloudKit environments
- Environment-based configuration with security considerations
- Comprehensive type definitions for CloudKit integration
Architecture
Component Overview
- MCP Server: Model Context Protocol server implementation
- CloudKit Integration: Production-ready CloudKit Web Services client
- Authentication: Apple ID-based user authentication with session management
- Security Layer: Encryption, rate limiting, audit logging, CORS protection
- ADD Framework: Realm-based business logic enforcement
- Type Safety: Comprehensive TypeScript definitions
Security
- Environment-Based Security: Different security profiles for development/production
- User Authentication: Apple ID authentication with CloudKit web auth tokens
- Session Management: Secure session handling with configurable timeouts
- Data Encryption: Configurable encryption keys for sensitive data
- Rate Limiting: Configurable request rate limiting with user-specific limits
- CORS Protection: Configurable allowed origins for web app integration
- Audit Logging: Comprehensive operation logging for security monitoring
- Data Isolation: Users can only access their own addTaskManager data
- Realm Enforcement: ADD framework rules prevent unauthorized operations
About the ADD Framework
The ADD (Assess-Decide-Do) framework was created by Dragos Roua as an alternative to GTD (Getting Things Done). It emphasizes:
- Sequential Processing: Items flow through realms in order
- Cognitive Load Management: Each realm has specific, limited functions
- Balanced Productivity: Maintains efficiency while preserving creativity and well-being
Learn more: dragosroua.com
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
Integrates with the addTaskManager iOS/macOS app to manage tasks, projects, and ideas through the ADD (Assess-Decide-Do) framework. Enforces realm-based restrictions where users can create/edit content in Assess, assign contexts/dates in Decide, and mark items complete in Do.
Related MCP Servers
- -securityFlicense-qualityEnables integration with Things3, allowing the creation and management of tasks and projects via the MCP protocol, including synchronization with Agenda projects.Last updated -30Python
- AsecurityAlicenseAqualityProvides API access to a locally-hosted task management system with features for creating, updating, and organizing tasks, including support for urgency levels, effort estimates, subtasks, and bi-directional sync with Obsidian markdown files.Last updated -128PythonMIT License
- AsecurityFlicenseAqualityInteract with Routine (https://routine.co/): manage calendars, tasks, notes, etc.Last updated -7142TypeScript
- AsecurityAlicenseAqualityAdds persistent task management to AI coding assistants in IDEs, allowing them to track multi-step tasks across sessions and maintain organized workflow with project-scoped todo lists.Last updated -216PythonMIT License