addTaskManager MCP 服务器
与addTaskManager iOS/macOS应用程序集成的MCP(模型上下文协议)服务器,实现了Dragos Roua创建的ADD(评估-决定-执行)框架。
概述
此MCP服务器为您的addTaskManager生产力工作流程提供AI帮助,同时遵守ADD框架的严格领域限制:
- 评估领域:创建和编辑任务/项目/想法,但不能指定上下文或截止日期
- 决定领域:分配上下文、截止日期和警报,但无法编辑内容
- 做王国:仅将项目标记为完整(否则为只读)
特性
认证
- 安全的Apple登录集成
- 个人数据访问的CloudKit.js身份验证
- 用户特定的数据隔离
评估领域运营
assess_create_task-创建具有可编辑内容的新任务assess_edit_task-编辑任务内容assess_create_project-创建新项目assess_edit_project-编辑项目标题assess_create_idea-捕捉新想法assess_create_collection-创建新收藏assess_create_context-创建新上下文assess_edit_idea-编辑创意标题assess_add_task_to_project-将现有任务添加到项目中assess_add_task_to_idea-将现有任务添加到想法中assess_remove_task_from_project-删除分配给项目的任务assess_remove_task_from_idea-删除分配给某个想法的任务assess_archive_task_to_collection-将任务存档到现有集合assess_archive_project_to_collection-将项目存档到现有集合
决定领域操作
decide_assign_context-为任务/项目分配上下文decide_set_project_interval-设置项目间隔(开始日期和结束日期)decide_set_task_due_date-为任务设置截止日期decide_set_task_alert-设置任务警报decide_move_task_to_do-将任务移动到Do领域decide_move_task_to_assess_from_decide-将任务移动到评估领域decide_move_project_to_do-将项目移动到Do领域decide_move_project_to_assess_from_decide-将项目移动到评估领域
执行领域操作
do_mark_task_as_done-将任务标记为已完成do_mark_project_as_done-将项目标记为已完成
查询操作
get_tasks_by_realm-按领域筛选任务get_projects_by_realm-按领域筛选项目get_ideas-获取所有想法get_collections-获取所有收藏get_tasks_by_context-按上下文筛选get_stalled_items_in_decide-在Decide中查找停滞的项目(任务+项目)get_undecided_items_in_decide-在Decide中查找未决定的项目(任务+项目)get_ready_items_in_decide-在Decide中查找待办事项(任务+项目)get_tasks_today_in_do-在Do中查找今天完成的任务get_tasks_tomorrow_in_do-在Do中查找明天完成的任务get_tasks_soon_in_do-在Do中查找即将完成的任务get_tasks_overdue_in_do-在Do中查找过期任务
一般操作
moveToRealm-将任务或项目移动到任何领域(评估/决定/执行)
安装
来自npm(即将推出)
npm install -g @dragosroua/addtaskmanager-mcp-server来源
git clone https://github.com/dragosroua/addtaskmanager-mcp-server.git
cd addtaskmanager-mcp-server
npm install
npm run build配置
环境变量
服务器支持开发和生产配置。复制 .env.example 向 .env 并配置:
# 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/callbackCloudKit仪表板设置
- 登录到 CloudKit仪表板
- 选择您的addTaskManager容器
- 转到API访问→ 服务器到服务器密钥
- 创建新的JavaScript API令牌
- 将web应用程序的域添加到允许的来源
- 将API令牌复制到
CLOUDKIT_API_TOKEN
使用Claude Desktop
添加到您的Claude Desktop MCP配置(~/Library/Application Support/Claude/claude_desktop_config.json 在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"
}
}
}
}发展:
{
"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"
}
}
}
}使用Web应用程序
- 在您的web应用程序上实施Apple登录
- 获取用户的CloudKit web身份验证令牌
- 呼叫
authenticate_user使用令牌 - 开始使用特定领域的操作
身份验证流程示例:
// 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框架限制:
评估领域
- ✅ 创建/编辑任务内容(标题、正文)
- ✅ 创建项目和想法
- ❌ 指定上下文或截止日期
- ❌ 标记为完成
决定领域
- ✅ 为任务/项目分配上下文
- ✅ 设置到期日期和警报
- ✅ 在领域之间移动项目
- ❌ 编辑任务/项目内容
- ❌ 标记为完成
做王国
- ✅ 将任务/项目标记为已完成
- ✅ 查看项目(只读)
- ❌ 编辑任何内容
- ❌ 指定上下文或日期
发展
# 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项目结构
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开发说明
- 使用ESM模块(package.json中的类型:“模块”)
- TypeScript编译为
dist/目录 - 支持开发和生产CloudKit环境
- 考虑安全因素的基于环境的配置
- CloudKit集成的全面类型定义
建筑
AI Assistant (Claude Desktop) → MCP Server → CloudKit Services
↓
Environment Config
Security Controls
User Authentication
↓
ADD Framework Rules
↓
addTaskManager Data
(User's iCloud Container)组件概述
- MCP服务器:模型上下文协议服务器实现
- CloudKit集成:生产就绪的CloudKit Web服务客户端
- 认证:基于Apple ID的用户身份验证和会话管理
- 安全层:加密、速率限制、审计日志、CORS保护
- ADD框架:基于领域的业务逻辑实施
- 类型安全:全面的TypeScript定义
安全
- 基于环境的安全:开发/生产的不同安全配置文件
- 用户认证:使用CloudKit web身份验证令牌进行Apple ID身份验证
- 会话管理:具有可配置超时的安全会话处理
- 数据加密:敏感数据的可配置加密密钥
- 速率限制:可配置的请求速率限制,具有用户特定的限制
- CORS保护:可配置的允许web应用程序集成源
- 审计日志:用于安全监控的全面操作日志
- 数据隔离:用户只能访问自己的addTaskManager数据
- 领域执法:ADD框架规则防止未经授权的操作
关于ADD框架
ADD(评估-决定-执行)框架由Dragos Roua创建,作为GTD(完成任务)的替代方案。它强调:
- 顺序处理:项目按顺序流过领域
- 认知负荷管理:每个领域都有特定的、有限的功能
- 均衡生产力:在保持创造力和幸福感的同时保持效率
了解更多: dragosroua.com
