TaskFlow MCP 🔄✅
AI 어시스턴트를 사용하여 작업을 계획하고 실행하기 위한 작업 관리 모델 컨텍스트 프로토콜(MCP) 서버입니다.
🌟 개요
TaskFlow MCP는 AI 비서가 사용자 요청을 관리 가능한 작업으로 세분화하고 완료 여부를 추적할 수 있도록 지원하는 전문 서버입니다. 사용자 승인 단계를 포함하는 체계적인 워크플로를 통해 작업이 제대로 추적되고 사용자가 프로세스를 제어할 수 있도록 보장합니다.
Related MCP server: Divide and Conquer MCP Server
✨ 특징
📋 작업 계획 : 복잡한 요청을 관리 가능한 작업으로 분해
🔍 하위 작업 : 작업을 더 작고 관리하기 쉬운 하위 작업으로 나눕니다.
📊 진행 상황 추적 : 시각적 진행 상황 표를 통해 작업, 하위 작업 및 요청의 상태를 추적합니다.
👍 사용자 승인 : 품질과 통제를 보장하기 위해 사용자 승인 단계를 시행합니다.
💾 지속성 : 세션 간 지속성을 위해 작업 및 요청을 디스크에 저장합니다.
🔄 유연한 관리 : 필요에 따라 작업 및 하위 작업을 추가, 업데이트 또는 삭제합니다.
📝 상세 보고 : 작업 세부 정보 및 진행률 표 보기
📤 내보내기 옵션 : 작업 계획 및 상태 보고서를 Markdown, JSON 또는 HTML 형식으로 내보내기
📦 종속성 : 버전 정보를 사용하여 프로젝트 및 작업 수준 종속성을 추적합니다.
📌 메모 : 중요한 정보 및 기본 설정에 대한 프로젝트 수준 메모를 추가합니다.
🚀 설치
글로벌 설치
지엑스피1
로컬 설치
npm install @pinkpixel/taskflow-mcp🛠️ 사용법
서버 시작
전역적으로 설치된 경우:
taskflow-mcp로컬로 설치된 경우:
npx taskflow-mcp구성
기본적으로 TaskFlow MCP는 작업을 ~/Documents/tasks.json 에 저장합니다. TASK_MANAGER_FILE_PATH 환경 변수를 설정하여 이 설정을 변경할 수 있습니다.
TASK_MANAGER_FILE_PATH=/path/to/tasks.json taskflow-mcpMCP 구성
AI 어시스턴트와 함께 TaskFlow MCP를 사용하려면 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 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.
🤝 기여하기
기여를 환영합니다! 자세한 내용은 CONTRIBUTING.md 파일을 참조하세요.
📜 변경 사항
이 프로젝트의 변경 내역은 CHANGELOG.md 파일을 참조하세요.
🙏 감사의 말
모델 컨텍스트 프로토콜(MCP) 로 구축됨
Pink Pixel 에서 제작
Pink Pixel에서 ❤️로 만들었습니다