Skip to main content
Glama

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 content

  • assess_edit_task - Edit task content

  • assess_create_project - Create new projects

  • assess_edit_project - Edit project title

  • assess_create_idea - Capture new ideas

  • assess_create_collection - Create new collection

  • assess_create_context - Create new context

  • assess_edit_idea - Edit idea title

  • assess_add_task_to_project - Add an existing task to a project

  • assess_add_task_to_idea - Add an existing task to an idea

  • assess_remove_task_from_project - Remove a task assigned to a project

  • assess_remove_task_from_idea - Remove a task assigned to an idea

  • assess_archive_task_to_collection - Archive a task to an existing collection

  • assess_archive_project_to_collection - Archive a project to an existing collection

Decide Realm Operations

  • decide_assign_context - Assign contexts to tasks/projects

  • decide_set_project_interval - Set a project interval (start date and end date)

  • decide_set_task_due_date - Set due date to a task

  • decide_set_task_alert - Set task alerts

  • decide_move_task_to_do - Move task to Do realm

  • decide_move_task_to_assess_from_decide - Move task to Assess realm

  • decide_move_project_to_do - Move project to Do realm

  • decide_move_project_to_assess_from_decide - Move project to Assess realm

Do Realm Operations

  • do_mark_task_as_done - Mark tasks as completed

  • do_mark_project_as_done - Mark projects as completed

Query Operations

  • get_tasks_by_realm - Filter tasks by realm

  • get_projects_by_realm - Filter projects by realm

  • get_ideas - Get all ideas

  • get_collections - Get all collections

  • get_tasks_by_context - Filter by context

  • get_stalled_items_in_decide - Find stalled items (task + projects) in Decide

  • get_undecided_items_in_decide - Find undecided items (task + projects) in Decide

  • get_ready_items_in_decide - Find ready to do items (task + projects) in Decide

  • get_tasks_today_in_do - Find tasks done today in Do

  • get_tasks_tomorrow_in_do - Find tasks done tomorrow in Do

  • get_tasks_soon_in_do - Find tasks done soon in Do

  • get_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)

npm install -g @dragosroua/addtaskmanager-mcp-server

From Source

git clone https://github.com/dragosroua/addtaskmanager-mcp-server.git cd addtaskmanager-mcp-server npm install npm run build

Configuration

Environment Variables

The server supports both development and production configurations. Copy .env.example to .env and configure:

# Environment NODE_ENV=production # or development # FORCE_CLOUDKIT=true # Force CloudKit in development # CloudKit Configuration (Required) CLOUDKIT_CONTAINER_ID=iCloud.com.yourapp.zentasktic CLOUDKIT_API_TOKEN=your_api_token_here CLOUDKIT_ENVIRONMENT=production # or development CLOUDKIT_AUTH_METHOD=user # or server-to-server # Security Configuration (Production) ENCRYPTION_KEY=your_32_byte_encryption_key_here ALLOWED_ORIGINS=https://yourapp.com,https://localhost:3000 RATE_LIMIT_WINDOW_MS=900000 # 15 minutes RATE_LIMIT_MAX_REQUESTS=100 AUDIT_LOGGING=true SESSION_TIMEOUT_MS=86400000 # 24 hours # Optional: For server-to-server authentication # CLOUDKIT_SERVER_KEY=your_server_key_id # CLOUDKIT_PRIVATE_KEY_PATH=/path/to/private/key.p8 # CLOUDKIT_PRIVATE_KEY_PASSPHRASE=your_passphrase # Optional: Custom redirect URI # CLOUDKIT_REDIRECT_URI=https://yourapp.com/auth/callback

CloudKit Dashboard Setup

  1. Log into CloudKit Dashboard

  2. Select your addTaskManager container

  3. Go to API Access → Server-to-Server Keys

  4. Create a new JavaScript API token

  5. Add your web app's domain to allowed origins

  6. 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):

{ "mcpServers": { "addTaskManager": { "command": "node", "args": ["/path/to/addtaskmanager-mcp-server/dist/index.js"], "env": { "NODE_ENV": "production", "CLOUDKIT_CONTAINER_ID": "iCloud.com.yourapp.zentasktic", "CLOUDKIT_API_TOKEN": "your_api_token_here", "CLOUDKIT_ENVIRONMENT": "production", "ENCRYPTION_KEY": "your_32_byte_encryption_key_here" } } } }

For development:

{ "mcpServers": { "addTaskManager": { "command": "npm", "args": ["run", "dev"], "cwd": "/path/to/addtaskmanager-mcp-server", "env": { "NODE_ENV": "development", "CLOUDKIT_CONTAINER_ID": "iCloud.com.yourapp.zentasktic", "CLOUDKIT_API_TOKEN": "your_api_token_here" } } } }

Usage with Web App

  1. Implement Apple Sign-In on your web app

  2. Get user's CloudKit web auth token

  3. Call authenticate_user with the token

  4. Start using realm-specific operations

Example authentication flow:

// After Apple Sign-In success const authResult = await mcp.callTool('authenticate_user', { webAuthToken: user.cloudKitWebAuthToken }); // Now you can use other tools const tasks = await mcp.callTool('get_tasks_by_realm', { realm: 'assess' });

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

# Clone and install git clone https://github.com/dragosroua/addtaskmanager-mcp-server.git cd addtaskmanager-mcp-server npm install # Setup environment cp .env.example .env # Edit .env with your CloudKit credentials # Development mode with TypeScript compilation npm run dev # Production build npm run build # Start built server npm start # Code quality npm run lint npm run typecheck # Test (when available) npm test

Project Structure

src/ ├── config/ │ └── production.ts # Environment-based configuration ├── services/ │ ├── CloudKitService.ts # CloudKit integration │ └── UserAuthService.ts # User authentication ├── types/ │ └── cloudkit.ts # TypeScript type definitions └── index.ts # Main MCP server implementation

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

AI Assistant (Claude Desktop) → MCP Server → CloudKit Services ↓ Environment Config Security Controls User Authentication ↓ ADD Framework Rules ↓ addTaskManager Data (User's iCloud Container)

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

Related MCP Servers

  • -
    security
    F
    license
    -
    quality
    Enables integration with Things3, allowing the creation and management of tasks and projects via the MCP protocol, including synchronization with Agenda projects.
    Last updated -
    39
    • Apple
  • A
    security
    A
    license
    A
    quality
    Provides 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 -
    12
    12
    MIT License
    • Apple
  • A
    security
    A
    license
    A
    quality
    Adds 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 -
    2
    23
    MIT License
  • A
    security
    F
    license
    A
    quality
    Enables AI assistants to manage tasks through YAML-based storage with subtask suggestions, status updates, and Mermaid Gantt chart generation. Supports hierarchical task structures with attributes like dependencies, milestones, and parallel execution.
    Last updated -
    26
    6
    1
    • Apple
    • Linux

View all related MCP servers

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dragosroua/addtaskmanager-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server