一个与addTaskManager iOS/macOS应用集成的MCP(模型上下文协议)服务器,实现了Dragos Roua创建的ADD(评估-决定-执行)框架。
此MCP服务器在尊重ADD框架严格的基于领域的限制的同时,为您的addTaskManager生产力工作流程提供AI辅助:
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 - 将任务移动到执行领域decide_move_task_to_assess_from_decide - 将任务从决定领域移动到评估领域decide_move_project_to_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 - 在决定领域查找停滞的项目(任务+项目)get_undecided_items_in_decide - 在决定领域查找未决定的项目(任务+项目)get_ready_items_in_decide - 在决定领域查找准备好执行的项目(任务+项目)get_tasks_today_in_do - 在执行领域查找今天完成的任务get_tasks_tomorrow_in_do - 在执行领域查找明天完成的任务get_tasks_soon_in_do - 在执行领域查找即将完成的任务get_tasks_overdue_in_do - 在执行领域查找逾期的任务moveToRealm - 将任务或项目移动到任何领域(评估/决定/执行)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并进行配置:
# 环境
NODE_ENV=production # 或 development
# FORCE_CLOUDKIT=true # 强制在开发环境中使用CloudKit
# CloudKit配置(必需)
CLOUDKIT_CONTAINER_ID=iCloud.com.yourapp.zentasktic
CLOUDKIT_API_TOKEN=your_api_token_here
CLOUDKIT_ENVIRONMENT=production # 或 development
CLOUDKIT_AUTH_METHOD=user # 或 server-to-server
# 生产安全配置
ENCRYPTION_KEY=your_32_byte_encryption_key_here
ALLOWED_ORIGINS=https://yourapp.com,https://localhost:3000
RATE_LIMIT_WINDOW_MS=900000 # 15分钟
RATE_LIMIT_MAX_REQUESTS=100
AUDIT_LOGGING=true
SESSION_TIMEOUT_MS=86400000 # 24小时
# 可选:用于服务器到服务器认证
# CLOUDKIT_SERVER_KEY=your_server_key_id
# CLOUDKIT_PRIVATE_KEY_PATH=/path/to/private/key.p8
# CLOUDKIT_PRIVATE_KEY_PASSPHRASE=your_passphrase
# 可选:自定义重定向URI
# CLOUDKIT_REDIRECT_URI=https://yourapp.com/auth/callback
CLOUDKIT_API_TOKEN添加到您的Claude Desktop MCP配置(macOS上的~/Library/Application Support/Claude/claude_desktop_config.json):
{
"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"
}
}
}
}
authenticate_user示例认证流程:
// Apple登录成功后
const authResult = await mcp.callTool('authenticate_user', {
webAuthToken: user.cloudKitWebAuthToken
});
// 现在您可以使用其他工具
const tasks = await mcp.callTool('get_tasks_by_realm', {
realm: 'assess'
});
服务器强制执行这些ADD框架限制:
# 克隆并安装
git clone https://github.com/dragosroua/addtaskmanager-mcp-server.git
cd addtaskmanager-mcp-server
npm install
# 设置环境
cp .env.example .env
# 使用您的CloudKit凭证编辑.env
# 开发模式,带有TypeScript编译
npm run dev
# 生产构建
npm run build
# 启动构建的服务器
npm start
# 代码质量
npm run lint
npm run typecheck
# 测试(当可用时)
npm test
src/
├── config/
│ └── production.ts # 基于环境的配置
├── services/
│ ├── CloudKitService.ts # CloudKit集成
│ └── UserAuthService.ts # 用户认证
├── types/
│ └── cloudkit.ts # TypeScript类型定义
└── index.ts # 主MCP服务器实现
dist/目录AI助手(Claude Desktop)→ MCP服务器 → CloudKit服务
↓
环境配置
安全控制
用户认证
↓
ADD框架规则
↓
addTaskManager数据
(用户iCloud容器)
ADD(评估-决定-执行)框架由Dragos Roua创建,作为GTD(完成事情)的替代方案。它强调:
了解更多:dragosroua.com