🚀 addTaskManager MCP Server
addTaskManager MCP Serverは、addTaskManager iOS/macOSアプリと統合されたMCP(Model Context Protocol)サーバーです。このサーバーは、Dragos Rouaによって作成されたADD(Assess - Decide - Do)フレームワークを実装しており、生産性向上のためのAI支援を提供します。
🚀 クイックスタート
このMCPサーバーは、addTaskManagerの生産性ワークフローにAI支援を提供します。ただし、ADDフレームワークの厳格な領域ベースの制限を尊重しています。
✨ 主な機能
認証
- 安全なApple Sign - Inの統合
- 個人データアクセスのためのCloudKit.js認証
- ユーザー固有のデータ分離
評価領域(Assess Realm)の操作
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 Realm)の操作
decide_assign_context - タスク/プロジェクトにコンテキストを割り当てる
decide_set_project_interval - プロジェクトの期間(開始日と終了日)を設定
decide_set_task_due_date - タスクに期限日を設定
decide_set_task_alert - タスクのアラートを設定
decide_move_task_to_do - タスクを実行領域(Do realm)に移動
decide_move_task_to_assess_from_decide - タスクを評価領域(Assess realm)に移動
decide_move_project_to_do - プロジェクトを実行領域(Do realm)に移動
decide_move_project_to_assess_from_decide - プロジェクトを評価領域(Assess realm)に移動
実行領域(Do Realm)の操作
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にコピーして、以下のように設定します。
NODE_ENV=production
CLOUDKIT_CONTAINER_ID=iCloud.com.yourapp.zentasktic
CLOUDKIT_API_TOKEN=your_api_token_here
CLOUDKIT_ENVIRONMENT=production
CLOUDKIT_AUTH_METHOD=user
ENCRYPTION_KEY=your_32_byte_encryption_key_here
ALLOWED_ORIGINS=https://yourapp.com,https://localhost:3000
RATE_LIMIT_WINDOW_MS=900000
RATE_LIMIT_MAX_REQUESTS=100
AUDIT_LOGGING=true
SESSION_TIMEOUT_MS=86400000
CloudKitダッシュボードの設定
- CloudKitダッシュボードにログインします。
- addTaskManagerコンテナを選択します。
- APIアクセス → サーバー間キーに移動します。
- 新しいJavaScript APIトークンを作成します。
- ウェブアプリのドメインを許可されたオリジンに追加します。
- APIトークンを
CLOUDKIT_API_TOKENにコピーします。
💻 使用例
Claude Desktopでの使用
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"
}
}
}
}
ウェブアプリでの使用
- ウェブアプリでApple Sign - Inを実装します。
- ユーザーのCloudKitウェブ認証トークンを取得します。
- トークンを使用して
authenticate_userを呼び出します。
- 領域固有の操作を開始します。
認証フローの例:
const authResult = await mcp.callTool('authenticate_user', {
webAuthToken: user.cloudKitWebAuthToken
});
const tasks = await mcp.callTool('get_tasks_by_realm', {
realm: 'assess'
});
ADDフレームワークのルール
サーバーは、以下のADDフレームワークの制限を強制します。
評価領域(Assess Realm)
- ✅ タスク内容(タイトル、本文)の作成/編集
- ✅ プロジェクトとアイデアの作成
- ❌ コンテキストまたは期限日の割り当て
- ❌ 完了としてマーク
決定領域(Decide Realm)
- ✅ タスク/プロジェクトにコンテキストを割り当てる
- ✅ 期限日とアラートの設定
- ✅ アイテムを領域間で移動する
- ❌ タスク/プロジェクト内容の編集
- ❌ 完了としてマーク
実行領域(Do Realm)
- ✅ タスク/プロジェクトを完了としてマーク
- ✅ アイテムの閲覧(読み取り専用)
- ❌ 内容の編集
- ❌ コンテキストまたは日付の割り当て
🔧 技術詳細
開発
git clone https://github.com/dragosroua/addtaskmanager-mcp-server.git
cd addtaskmanager-mcp-server
npm install
cp .env.example .env
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サーバー実装
開発に関する注意事項
- ESMモジュールを使用しています(package.jsonでtype: "module")
- TypeScriptは,
dist/ディレクトリにコンパイルされます
- 開発環境と本番環境の両方のCloudKit環境をサポートしています
- セキュリティを考慮した環境ベースの設定
- CloudKit統合のための包括的な型定義
アーキテクチャ
AIアシスタント(Claude Desktop) → MCPサーバー → CloudKitサービス
↓
環境設定
セキュリティコントロール
ユーザー認証
↓
ADDフレームワークのルール
↓
addTaskManagerデータ
(ユーザーのiCloudコンテナ)
コンポーネントの概要
- MCPサーバー:Model Context Protocolサーバーの実装
- CloudKit統合:本番環境で使用可能なCloudKit Web Servicesクライアント
- 認証:Apple IDに基づくユーザー認証とセッション管理
- セキュリティ層:暗号化、レート制限、監査ログ、CORS保護
- ADDフレームワーク:領域ベースのビジネスロジックの強制
- 型安全性:包括的なTypeScript定義
📄 ライセンス
ドキュメントにライセンス情報が記載されていないため、このセクションは表示されません。
🔧 セキュリティ
- 環境ベースのセキュリティ:開発環境と本番環境で異なるセキュリティプロファイル
- ユーザー認証:CloudKitウェブ認証トークンを使用したApple ID認証
- セッション管理:設定可能なタイムアウトを持つ安全なセッション処理
- データ暗号化:機密データのための設定可能な暗号化キー
- レート制限:ユーザー固有の制限を持つ設定可能なリクエストレート制限
- CORS保護:ウェブアプリ統合のための設定可能な許可オリジン
- 監査ログ:セキュリティ監視のための包括的な操作ログ
- データ分離:ユーザーは自分のaddTaskManagerデータのみにアクセスできます
- 領域の強制:ADDフレームワークのルールにより、不正な操作が防止されます
ADDフレームワークについて
ADD(Assess - Decide - Do)フレームワークは、Dragos Rouaによって作成された、GTD(Getting Things Done)の代替案としてのフレームワークです。このフレームワークは以下を強調しています。
- 逐次処理:アイテムは順番に領域を流れます。
- 認知負荷管理:各領域には特定の、限られた機能があります。
- バランスの取れた生産性:効率を維持しながら、創造性と幸福を保ちます。
詳細はdragosroua.comを参照してください。