task-manager-mcp-wrapper
Version:
Complete task management and assignment MCP servers with 16 AI-powered tools for intelligent task planning, scheduling, risk prediction, team collaboration, and automated workflow management
358 lines (271 loc) • 9.15 kB
Markdown
# API Reference - Task Manager MCP Servers
## Overview
This document provides detailed API reference for both Task Management and Task Assignment MCP servers.
## Task Management MCP Server
### Tools
#### `analyze_task_input`
Analyzes natural language task input and extracts structured information.
**Parameters:**
- `task_description` (string, required): Natural language description of the task
- `project_id` (string, optional): ID of the associated project
- `due_date` (string, optional): ISO format due date
- `priority_hint` (string, optional): Priority hint for the task
**Returns:** `TaskAnalysisResult`
```json
{
"tasks": [
{
"id": "task_1",
"name": "Task Name",
"description": "Detailed description",
"priority": 2,
"time_cost": 4.0,
"importance": 4,
"benefit": 8,
"marginal_cost": 2
}
],
"total_estimated_time": 4.0,
"priority_distribution": {"high": 1},
"risk_summary": "Analysis summary"
}
```
#### `get_schedule_recommendation`
Generates intelligent scheduling recommendations for tasks.
**Parameters:**
- `project_id` (string, optional): Filter tasks by project
- `available_hours_per_day` (float, default: 8.0): Available working hours per day
- `start_date` (string, optional): ISO format start date
**Returns:** `ScheduleRecommendation`
```json
{
"recommended_order": ["task_1", "task_2"],
"estimated_completion_date": "2024-02-15T17:00:00",
"critical_path": ["task_1"],
"parallel_opportunities": [["task_3", "task_4"]]
}
```
#### `predict_task_risks`
Predicts potential risks for a specific task and suggests mitigation strategies.
**Parameters:**
- `task_id` (string, required): ID of the task to analyze
- `include_mitigation` (bool, default: true): Whether to include mitigation strategies
**Returns:** `RiskAssessment`
```json
{
"task_id": "task_1",
"risk_level": 3,
"risk_factors": ["Large time estimate", "Dependencies"],
"mitigation_strategies": ["Break into subtasks", "Reduce dependencies"],
"probability": 0.6,
"impact": 4
}
```
#### `create_reminder`
Creates a reminder for a task.
**Parameters:**
- `task_id` (string, required): ID of the task
- `reminder_type` (string, required): Type of reminder ("start", "deadline", "progress")
- `scheduled_time` (string, optional): ISO format scheduled time
- `message` (string, optional): Custom reminder message
**Returns:** `Reminder`
```json
{
"id": "reminder_1",
"task_id": "task_1",
"reminder_type": "deadline",
"message": "Deadline approaching for: Task Name",
"scheduled_time": "2024-02-14T09:00:00",
"sent": false
}
```
#### `update_task_progress`
Updates task progress and dynamically adjusts estimates.
**Parameters:**
- `task_id` (string, required): ID of the task
- `progress` (float, required): Progress percentage (0.0-1.0)
- `time_spent` (float, default: 0.0): Time spent since last update
- `notes` (string, default: ""): Progress notes
- `updated_by` (string, default: "user"): Who updated the progress
**Returns:** `ProgressUpdate`
```json
{
"task_id": "task_1",
"progress": 0.5,
"time_spent": 2.0,
"notes": "Halfway complete",
"updated_by": "user",
"timestamp": "2024-02-10T14:30:00"
}
```
#### `get_next_task_recommendation`
Gets intelligent recommendation for the next task to work on.
**Parameters:**
- `available_time` (float, default: 2.0): Available time in hours
- `current_context` (string, default: ""): Current work context
- `exclude_task_ids` (list, optional): Task IDs to exclude
**Returns:** `TaskRecommendation`
```json
{
"task_id": "task_1",
"score": 85.5,
"reasoning": "High priority task that fits available time",
"context": {
"available_time": 2.0,
"task_time_cost": 1.5
}
}
```
### Resources
#### `task://{task_id}`
Get detailed information about a specific task.
**Example:** `task://task_1`
Returns formatted task details including status, progress, dependencies, and metadata.
#### `project://{project_id}/summary`
Get comprehensive summary of a project and its tasks.
**Example:** `project://proj_1/summary`
Returns project overview with task statistics, progress tracking, and upcoming deadlines.
### Prompts
#### `task_review_prompt`
Generates a prompt for reviewing and analyzing a completed task.
**Parameters:**
- `task_id` (string, required): ID of the completed task
#### `risk_mitigation_prompt`
Generates a prompt for developing risk mitigation strategies.
**Parameters:**
- `task_id` (string, required): ID of the task to analyze
## Task Assignment MCP Server
### Tools
#### `decompose_complex_task`
Decomposes a complex task into manageable subtasks.
**Parameters:**
- `task_id` (string, required): ID of the task to decompose
- `max_subtasks` (int, default: 5): Maximum number of subtasks
- `target_time_per_subtask` (float, default: 4.0): Target time per subtask in hours
**Returns:** `TaskDecompositionResult`
```json
{
"parent_task_id": "task_1",
"subtasks": [
{
"id": "task_1_sub_1",
"name": "Subtask 1",
"description": "First part of the task",
"time_cost": 4.0
}
],
"decomposition_reasoning": "AI-powered decomposition based on complexity",
"estimated_total_time": 12.0
}
```
#### `recommend_task_assignment`
Recommends the best resource to assign a task to.
**Parameters:**
- `task_id` (string, required): ID of the task to assign
- `consider_workload` (bool, default: true): Whether to consider current workload
- `prefer_human` (bool, default: false): Whether to prefer human resources
**Returns:** `AssignmentRecommendation`
```json
{
"task_id": "task_1",
"recommended_resource_id": "human_001",
"resource_type": "human",
"confidence_score": 0.85,
"reasoning": "Best skill match with good availability",
"estimated_completion_time": 3.5,
"skill_match_score": 0.9,
"availability_score": 0.8
}
```
#### `assign_task_to_resource`
Assigns a task to a specific resource.
**Parameters:**
- `task_id` (string, required): ID of the task
- `resource_id` (string, required): ID of the resource
- `start_date` (string, optional): ISO format start date
- `notes` (string, default: ""): Assignment notes
**Returns:** Assignment result object
```json
{
"task_id": "task_1",
"resource_id": "human_001",
"resource_name": "Alice Johnson",
"assignment_date": "2024-02-10T10:00:00",
"estimated_completion": "2024-02-12T14:00:00",
"notes": "Assigned based on skill match",
"status": "assigned"
}
```
#### `create_collaboration_plan`
Creates a collaboration plan for complex tasks requiring multiple resources.
**Parameters:**
- `task_id` (string, required): ID of the task
- `required_skills` (list, optional): List of required skills
- `max_team_size` (int, default: 4): Maximum team size
**Returns:** `TeamCollaborationPlan`
```json
{
"task_id": "task_1",
"collaboration_type": "parallel_development",
"team_members": ["human_001", "human_002"],
"coordination_strategy": "Divide into parallel workstreams",
"communication_plan": "Daily standup meetings",
"milestone_schedule": [
{
"milestone": "Milestone 1",
"date": "2024-02-12T17:00:00",
"deliverable": "Progress checkpoint 1",
"responsible": "human_001"
}
]
}
```
#### `review_daily_report`
Reviews and scores a team member's daily report.
**Parameters:**
- `team_member_id` (string, required): ID of the team member
- `report_content` (string, required): Content of the daily report
- `report_date` (string, optional): ISO format report date
**Returns:** `DailyReportReview`
```json
{
"report_date": "2024-02-10T00:00:00",
"team_member_id": "human_001",
"productivity_score": 8.5,
"quality_score": 9.0,
"collaboration_score": 7.5,
"overall_score": 8.3,
"feedback": "Excellent work with strong attention to quality",
"improvement_areas": ["Increase team interaction"],
"achievements": ["High productivity", "Strong quality focus"]
}
```
### Resources
#### `resource://{resource_id}`
Get detailed information about a specific resource (human or agent).
**Example:** `resource://human_001`
Returns resource details including skills, availability, cost, and current assignments.
#### `team://{project_id}/workload`
Get team workload summary for a project.
**Example:** `team://proj_1/workload`
Returns workload distribution across team members and unassigned tasks.
### Prompts
#### `assignment_optimization_prompt`
Generates a prompt for optimizing task assignments across a project.
**Parameters:**
- `project_id` (string, required): ID of the project to analyze
#### `team_performance_analysis_prompt`
Generates a prompt for analyzing team performance trends.
**Parameters:**
- `team_member_ids` (list, required): List of team member IDs to analyze
## Error Handling
All tools return appropriate error messages for:
- Invalid parameters
- Missing resources
- Non-existent tasks/projects
- API failures (when AI features are used)
## Rate Limits
When using AI features (with OpenAI API):
- Respect OpenAI's rate limits
- Implement exponential backoff for retries
- Fallback to rule-based implementations when API is unavailable