Taskqueue について
Taskqueueは、複数段階の作業をプロジェクトと追跡可能なタスクに整理するMCPサーバーで、AIアシスタントと利用者を対象としています。タスク状態の管理、人による承認ポイント、作業を確認・管理するCLIを備えています。
主な機能
- 01複数タスクを含むプロジェクト計画
- 02タスク状態と進捗の追跡
- 03人によるタスク承認
- 04完了プロジェクトの承認
- 05CLIでの確認と管理
活用シーン
- 01依頼をプロジェクトタスクに分割
- 02AIエージェントのタスク進捗を追跡
- 03承認前に完了作業を確認
MCP 対応
MCPサーバーは、プロジェクトやタスクの作成、更新、完了記録、プロジェクトの確定などの管理ツールをMCPクライアントに公開します。承認はCLIから利用者が管理できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
14掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| state | enum | いいえ | プロジェクトの状態で絞り込みます。'open'(未完了のタスクがある)、'pending_approval'(承認待ちのタスクがある)、'completed'(すべてのタスクが完了し承認済み)、または 'all'(絞り込みなし)。open | pending_approval | completed | all |
詳細
MCP Task Manager
MCP Task Manager(npm package: taskqueue-mcp)は、AI タスク管理用の Model Context Protocol(MCP)サーバーです。このツールを使うと、AI アシスタントが複数ステップのタスクを構造化して処理できます。また、ユーザー承認のチェックポイントを任意で設定できます。
機能
- 複数ステップによるタスク計画
- 進捗の追跡
- 完了したタスクのユーザー承認
- プロジェクト完了の承認
- タスクの詳細表示
- タスクのステータス管理
- タスクの確認と管理に使える高機能な CLI
基本設定
通常は、Claude Desktop、Cursor、またはその他の MCP クライアントで、次のようにツールを設定します。
{
"tools": {
"taskqueue": {
"command": "npx",
"args": ["-y", "taskqueue-mcp"]
}
}
}
CLI ユーティリティを使用するには、パッケージをグローバルにインストールしてから、次のコマンドを実行します。
npx taskqueue --help
使用可能なコマンドとオプションが表示されます。
高度な設定
タスクマネージャーは、プロジェクト計画の生成に複数の LLM プロバイダーをサポートしています。使用するプロバイダーに応じて、次の環境変数を 1 つ以上設定できます。
OPENAI_API_KEY:OpenAI モデル(例:GPT-4)の使用に必要ですGOOGLE_GENERATIVE_AI_API_KEY:Google の Gemini モデルの使用に必要ですDEEPSEEK_API_KEY:Deepseek モデルの使用に必要です
CLI を使ってプロジェクト計画を生成するには、シェルで次の環境変数を設定します。
export OPENAI_API_KEY="your-api-key"
export GOOGLE_GENERATIVE_AI_API_KEY="your-api-key"
export DEEPSEEK_API_KEY="your-api-key"
または、MCP ツールの呼び出しでプロジェクト計画を生成できるように、MCP クライアントの設定に環境変数を含めることもできます。
{
"tools": {
"taskqueue": {
"command": "npx",
"args": ["-y", "taskqueue-mcp"],
"env": {
"OPENAI_API_KEY": "your-api-key",
"GOOGLE_GENERATIVE_AI_API_KEY": "your-api-key",
"DEEPSEEK_API_KEY": "your-api-key"
}
}
}
}
使用可能な MCP ツール
TaskManager は現在、各操作専用に設計されたツールを備えた、直接的なツールインターフェースを使用しています。
プロジェクト管理ツール
list_projects:システム内のすべてのプロジェクトを一覧表示しますread_project:特定のプロジェクトの詳細を取得しますcreate_project:初期タスクを含む新しいプロジェクトを作成しますdelete_project:プロジェクトを削除しますadd_tasks_to_project:既存のプロジェクトに新しいタスクを追加しますfinalize_project:すべてのタスクが完了した後にプロジェクトを確定します
タスク管理ツール
list_tasks:特定のプロジェクトのすべてのタスクを一覧表示しますread_task:特定のタスクの詳細を取得しますcreate_task:プロジェクトに新しいタスクを作成しますupdate_task:タスクのプロパティ(タイトル、説明、ステータス)を変更しますdelete_task:プロジェクトからタスクを削除しますapprove_task:完了したタスクを承認しますget_next_task:プロジェクト内の次の未着手タスクを取得しますmark_task_done:詳細を添えてタスクを完了としてマークします
タスクのステータスとワークフロー
タスクにはステータスフィールドがあり、次のいずれかを指定できます。
not started:タスクはまだ開始されていませんin progress:タスクは現在作業中ですdone:タスクは完了しています(completedDetailsが必要です)
ステータス遷移ルール
システムは、タスクのステータス遷移に次のルールを適用します。
- タスクは、有効な遷移が定義された特定のワークフローに従います。
not startedからは、in progressにのみ移行できますin progressからは、doneに移行するか、not startedに戻せますdoneからは、追加作業が必要な場合にin progressに戻せます
- タスクを「done」としてマークする場合、完了内容を記録するために
completedDetailsフィールドを指定する必要があります - 承認済みのタスクは変更できません
- すべてのタスクが完了し、承認された場合にのみ、プロジェクトを承認できます
これらのルールにより、タスクの進捗の整合性を維持し、完了した作業を適切に記録できます。
使用ワークフロー
このタスクマネージャーを使用する LLM の一般的なワークフローは次のとおりです。
create_project:初期タスクを指定してプロジェクトを開始しますget_next_task:最初の未完了タスクを取得します- タスクに取り組みます
mark_task_done:詳細を記載してタスクを完了済みにします- 承認を待ちます(ユーザーは CLI から
approve_taskを呼び出す必要があります) get_next_task:次の未完了タスクを取得します- すべてのタスクが完了するまで、手順 3~6 を繰り返します
finalize_project:プロジェクトを完了します(ユーザーの承認が必要です)
CLI コマンド
CLI を使用するには、パッケージをグローバルにインストールする必要があります。
npm install -g taskqueue-mcp
または、--package=taskqueue-mcp フラグを指定して npx から CLI を実行し、パッケージを指定できます。
npx --package=taskqueue-mcp taskqueue --help
タスクの承認
デフォルトでは、AI エージェントがタスクやプロジェクトを「done」にすると、自動的に承認されます。タスクの手動承認を必須にするには、プロジェクト作成時に autoApprove を false に設定してください。
タスクの承認は、CLI を通じて人間のユーザーのみが行えます。
npx taskqueue approve-task -- <projectId> <taskId>
オプション:
-f, --force:タスクが完了済みとしてマークされていなくても、強制的に承認します
注:--force を使用しない場合、承認を受けるには、AI エージェントがタスクを「done」にし、完了の詳細を記載している必要があります。
タスクとプロジェクトの一覧表示
CLI には、すべてのプロジェクトとタスクを一覧表示するコマンドがあります。
npx taskqueue list-tasks
特定のプロジェクトの詳細を表示するには、次のコマンドを実行します。
npx taskqueue list-tasks -- -p <projectId>
このコマンドは、システム内のすべてのプロジェクト、または特定のプロジェクトに関する次の情報を表示します。
- プロジェクト ID と初期プロンプト
- 完了状況
- タスクの詳細(タイトル、説明、ステータス、承認状況)
- 進捗状況(承認済み/完了済み/全タスク数)
データスキーマと保存
ファイルの場所
タスクマネージャーは、サーバーと CLI の両方からアクセスできる JSON ファイルにデータを保存します。
デフォルトのプラットフォーム固有の保存先は次のとおりです。
- Linux:
~/.local/share/taskqueue-mcp/tasks.json - macOS:
~/Library/Application Support/taskqueue-mcp/tasks.json - Windows:
%APPDATA%\taskqueue-mcp\tasks.json
タスクデータの保存先にカスタムファイルパスを使用することは推奨されません。MCP サーバーと CLI の両方で同じパスを設定する必要があり、設定しないと互いに連携できないためです。ただし、カスタムパスを使用する場合は、MCP クライアントの設定で TASK_MANAGER_FILE_PATH 環境変数を設定できます。
{
"tools": {
"taskqueue": {
"command": "npx",
"args": ["-y", "taskqueue-mcp"],
"env": {
"TASK_MANAGER_FILE_PATH": "/path/to/tasks.json"
}
}
}
}
その後、CLI を実行する前に、シェルで同じパスをエクスポートしてください。
export TASK_MANAGER_FILE_PATH="/path/to/tasks.json"
データスキーマ
JSON ファイルでは、次の構造が使用されます。
TaskManagerFile
├── projects: Project[]
├── projectId: string # Format: "proj-{number}"
├── initialPrompt: string # Original user request text
├── projectPlan: string # Additional project details
├── completed: boolean # Project completion status
├── autoApprove: boolean # Set `false` to require manual user approval
└── tasks: Task[] # Array of tasks
├── id: string # Format: "task-{number}"
├── title: string # Short task title
├── description: string # Detailed task description
├── status: string # Task status: "not started", "in progress", or "done"
├── approved: boolean # Task approval status
├── completedDetails: string # Completion information (required when status is "done")
├── toolRecommendations: string # Suggested tools that might be helpful for this task
└── ruleRecommendations: string # Suggested rules/guidelines to follow for this task
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。