タスクフロー MCP 🔄✅
AI アシスタントを使用してタスクを計画および実行するためのタスク管理モデル コンテキスト プロトコル (MCP) サーバー。
🌟 概要
TaskFlow MCPは、AIアシスタントがユーザーのリクエストを管理可能なタスクに分解し、完了状況を追跡するのを支援する専用サーバーです。ユーザー承認ステップを含む構造化されたワークフローを適用することで、タスクが適切に追跡され、ユーザーがプロセスを制御できるようにします。
Related MCP server: Divide and Conquer MCP Server
✨ 特徴
📋タスク計画:複雑なリクエストを管理可能なタスクに分解する
🔍サブタスク:タスクをより小さく、管理しやすいサブタスクに分割します
📊進捗状況の追跡:視覚的な進捗表を使用して、タスク、サブタスク、リクエストのステータスを追跡します。
👍ユーザー承認: 品質と管理を確保するためにユーザー承認手順を実施します
💾永続性: セッション間でタスクとリクエストを永続的に保存します
🔄柔軟な管理:必要に応じてタスクやサブタスクを追加、更新、削除できます
📝詳細レポート:タスクの詳細と進捗表を表示
📤エクスポートオプション: タスクプランとステータスレポートをMarkdown、JSON、またはHTML形式でエクスポートします
📦依存関係: バージョン情報を使用してプロジェクトおよびタスクレベルの依存関係を追跡します
📌メモ: 重要な情報や設定についてプロジェクトレベルのメモを追加します
🚀 インストール
グローバルインストール
npm install -g @pinkpixel/taskflow-mcpローカルインストール
npm install @pinkpixel/taskflow-mcp🛠️ 使用方法
サーバーの起動
グローバルにインストールされている場合:
taskflow-mcpローカルにインストールされている場合:
npx taskflow-mcp構成
デフォルトでは、TaskFlow MCPはタスクを~/Documents/tasks.jsonに保存します。TASK_MANAGER_FILE_PATH 環境変数TASK_MANAGER_FILE_PATH設定することで、この設定を変更できます。
TASK_MANAGER_FILE_PATH=/path/to/tasks.json taskflow-mcpMCP構成
TaskFlow MCPをAIアシスタントと連携して使用するには、MCPクライアントをサーバーに接続するように設定する必要があります。以下の内容を含むmcp_config.jsonファイルを作成してください。
{
"mcpServers": {
"taskflow": {
"command": "npx",
"args": ["-y", "@pinkpixel/taskflow-mcp"],
"env": {
"TASK_MANAGER_FILE_PATH": "/path/to/tasks.json"
}
}
}
}🔄ワークフロー
TaskFlow MCP は特定のワークフローを強制します。
タスクの計画: ユーザーリクエストをタスクに分割します (オプションでサブタスクを追加)
次のタスクを取得: 次の保留中のタスクを取得します
サブタスクを完了する: タスクにサブタスクがある場合は、タスクを完了としてマークする前に各サブタスクを完了します。
タスクを完了としてマーク: タスクを完了としてマークします (すべてのサブタスクが最初に完了している必要があります)
承認待ち: 完了したタスクのユーザー承認を待ちます
繰り返し: すべてのタスクが完了するまで次のタスクを続行します
最終承認: リクエスト全体に対するユーザーの承認を得る
AI アシスタントがこのワークフローに一貫して従うようにするには、アシスタントの指示に追加できるシステム プロンプトのexample-system-prompt.mdファイルを参照してください。
🧰 利用可能なツール
TaskFlow MCP は、AI アシスタントに次のツールを公開します。
plan_task
新しいユーザー リクエストを登録し、それに関連するタスク (オプションのサブタスクを含む) を計画します。
{
"originalRequest": "Create a new website for my business",
"outputPath": "C:/Users/username/Documents/website-project-plan.md",
"dependencies": [
{
"name": "Node.js",
"version": ">=14.0.0",
"description": "JavaScript runtime"
},
{
"name": "npm",
"version": ">=6.0.0",
"description": "Package manager"
}
],
"notes": [
{
"title": "Package Manager Preference",
"content": "User prefers pnpm over npm for package management."
},
{
"title": "Design Guidelines",
"content": "Follow the company's brand guidelines for colors and typography."
}
],
"tasks": [
{
"title": "Design homepage",
"description": "Create a design for the homepage with logo, navigation, and hero section",
"dependencies": [
{
"name": "Figma",
"description": "Design tool"
}
],
"subtasks": [
{
"title": "Design logo",
"description": "Create a logo that represents the business brand"
},
{
"title": "Design navigation",
"description": "Create a user-friendly navigation menu"
}
]
},
{
"title": "Implement HTML/CSS",
"description": "Convert the design to HTML and CSS",
"dependencies": [
{
"name": "HTML5",
"description": "Markup language"
},
{
"name": "CSS3",
"description": "Styling language"
}
]
}
]
}get_next_task
リクエストの次の保留中のタスクを取得します。
{
"requestId": "req-1"
}mark_task_done
タスクを完了としてマークします。
{
"requestId": "req-1",
"taskId": "task-1",
"completedDetails": "Created a modern design with a clean layout"
}approve_task_completion
完了したタスクを承認します。
{
"requestId": "req-1",
"taskId": "task-1"
}approve_request_completion
リクエスト全体を完了として承認します。
{
"requestId": "req-1"
}open_task_details
特定のタスクに関する詳細を取得します。
{
"taskId": "task-1"
}list_requests
システム内のすべてのリクエストを一覧表示します。
{}add_tasks_to_request
既存のリクエストにさらにタスクを追加します。
{
"requestId": "req-1",
"tasks": [
{
"title": "Add contact form",
"description": "Create a contact form with validation"
}
]
}update_task
タスクのタイトルまたは説明を更新します。
{
"requestId": "req-1",
"taskId": "task-1",
"title": "Design responsive homepage",
"description": "Create a responsive design for the homepage"
}delete_task
リクエストからタスクを削除します。
{
"requestId": "req-1",
"taskId": "task-1"
}add_subtasks
既存のタスクにサブタスクを追加します。
{
"requestId": "req-1",
"taskId": "task-1",
"subtasks": [
{
"title": "Design logo",
"description": "Create a logo that represents the business brand"
},
{
"title": "Design navigation",
"description": "Create a user-friendly navigation menu"
}
]
}mark_subtask_done
サブタスクを完了としてマークします。
{
"requestId": "req-1",
"taskId": "task-1",
"subtaskId": "subtask-1"
}update_subtask
サブタスクのタイトルまたは説明を更新します。
{
"requestId": "req-1",
"taskId": "task-1",
"subtaskId": "subtask-1",
"title": "Design modern logo",
"description": "Create a modern logo that represents the business brand"
}delete_subtask
タスクからサブタスクを削除します。
{
"requestId": "req-1",
"taskId": "task-1",
"subtaskId": "subtask-1"
}export_task_status
リクエスト内のすべてのタスクの現在のステータスをファイルにエクスポートします。より信頼性の高いファイル作成のため、絶対パスの使用をお勧めします。
{
"requestId": "req-1",
"outputPath": "C:/Users/username/Documents/task-status.md",
"format": "markdown"
}add_note
リクエストにメモを追加します。
{
"requestId": "req-1",
"title": "Package Manager Preference",
"content": "User prefers pnpm over npm for package management."
}update_note
既存のメモを更新します。
{
"requestId": "req-1",
"noteId": "note-1",
"title": "Package Manager Preference",
"content": "User prefers pnpm over npm and yarn for package management."
}delete_note
リクエストからメモを削除します。
{
"requestId": "req-1",
"noteId": "note-1"
}add_dependency
リクエストまたはタスクに依存関係を追加します。
{
"requestId": "req-1",
"taskId": "task-1",
"dependency": {
"name": "react",
"version": "^18.2.0",
"description": "JavaScript library for building user interfaces",
"url": "https://reactjs.org"
}
}📚 ドキュメント
プロジェクトのアーキテクチャと実装の詳細については、 OVERVIEW.mdファイルを参照してください。
📝 ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。
🤝 貢献する
貢献を歓迎します!ガイドラインについては、 CONTRIBUTING.mdファイルをご覧ください。
📜 変更履歴
このプロジェクトの変更履歴については、 CHANGELOG.mdファイルを参照してください。
🙏 謝辞
Pink Pixel が ❤️ を込めて作りました