Skip to main content
Glama
README.md
# Task Master

> šŸŽÆ **Simplified Trello-style task management for MCP** - Pure MCP functionality with 11 essential tools for efficient CRUD task management, eliminating complex LLM-dependent features.

<div align="center">

[![Version](https://img.shields.io/badge/version-2.0.0-blue.svg)](https://github.com/yourusername/mcp-task-master)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?logo=typescript&logoColor=white)](https://www.typescriptlang.org/)

**[Quick Start](#-quick-start)** • **[Documentation](#-documentation)** • **[MCP Tools](#-mcp-tools)**

</div>

## šŸš€ Quick Start

### Prerequisites
- Node.js 18+
- An MCP client (Claude Desktop, VSCode with MCP extension, etc.)

### Installation

1. **Clone and build**
   ```bash
   git clone https://github.com/yourusername/mcp-task-master
   cd mcp-task-master
   npm install && npm run build
   ```

2. **Configure MCP client**

   Add to your MCP client configuration (e.g., `~/.claude/config.json`):
   ```json
   {
     "mcpServers": {
       "task-master": {
         "command": "node",
         "args": ["/path/to/mcp-task-master/dist/index.js"],
         "env": {
           "DATA_DIR": "/path/to/your/task/data"
         }
       }
     }
   }
   ```

3. **Start using**
   ```bash
   # List all tasks
   list_tasks --status all

   # Create a task (via Dashboard)
   start_dashboard
   ```

## ✨ Key Features

- **šŸŽÆ Simplified**: Reduced from 19 to 11 essential MCP tools (42% reduction)
- **⚔ Pure MCP**: No complex LLM dependencies, focusing on true MCP efficiency
- **🌐 Bilingual**: Korean/English support
- **šŸ“Š Dashboard**: Real-time React-based web interface
- **šŸ”„ Trello-style**: Intuitive CRUD task management

## šŸ›  MCP Tools (11 Essential Tools)

### šŸ’¼ Core Task Management (7 tools)
- **`list_tasks`** - List all tasks by status with Trello-style emojis
- **`execute_task`** - Simplified task execution guide
- **`get_task_detail`** - View complete task information
- **`query_task`** - Search tasks by keywords or ID
- **`update_task`** - Modify task content and properties
- **`delete_task`** - Remove specific tasks
- **`clear_all_tasks`** - Clear all tasks with backup

### šŸ“Š Dashboard Management (4 tools)
- **`start_dashboard`** - Launch React web interface
- **`stop_dashboard`** - Stop dashboard server
- **`status_dashboard`** - Check server status
- **`list_dashboard_projects`** - View registered projects
- **`add_dashboard_project`** - Register new projects
- **`create_tasks_in_project`** - Create project-specific tasks

## šŸ“š Documentation

### Task Data Model (Simplified)
```typescript
interface Task {
  id: string;                    // UUID
  name: string;                  // Task name
  description: string;           // Task description
  notes?: string;               // Additional notes
  status: TaskStatus;           // pending | in_progress | completed | blocked
  dependencies: TaskDependency[]; // Task dependencies
  createdAt: Date;              // Creation date
  updatedAt: Date;              // Last modified
  completedAt?: Date;           // Completion date
  summary?: string;             // Completion summary
  relatedFiles?: RelatedFile[]; // Related files
  agent?: string;              // Assigned agent
}
```

### Environment Variables
```bash
# Required
DATA_DIR="/path/to/task/data"

# Optional
LANG="ko"                    # Language (ko/en)
ENABLE_GUI="false"          # Enable web dashboard
WEB_PORT="3000"            # Dashboard port
```

## šŸŽ® Usage Examples

### Basic Task Management
```bash
# List all tasks
list_tasks --status all

# Search tasks
query_task --query "fix bug" --page 1

# Get task details
get_task_detail --taskId "your-task-id"

# Update task
update_task --taskId "your-task-id" --name "New Task Name"
```

### Dashboard Operations
```bash
# Start web dashboard
start_dashboard --port 9998

# Check dashboard status
status_dashboard

# Create project tasks
create_tasks_in_project --projectName "MyProject" --tasks '[{"title":"Task 1", "priority":"High"}]'
```

## šŸ— Architecture

```
src/
ā”œā”€ā”€ index.ts                 # MCP server entry point (11 tools)
ā”œā”€ā”€ models/taskModel.ts      # Simplified data models & CRUD
ā”œā”€ā”€ messages/                # Bilingual message system
│   ā”œā”€ā”€ korean.ts           # Korean messages
│   └── english.ts          # English messages
ā”œā”€ā”€ tools/
│   ā”œā”€ā”€ task/              # 7 core task tools
│   └── dashboard/         # 4 dashboard tools
ā”œā”€ā”€ types/index.ts          # Simplified type definitions
└── utils/                  # Common utilities
```

## šŸš€ Performance Improvements

| Metric | Before | After | Improvement |
|--------|---------|-------|-------------|
| **MCP Tools** | 19 | 11 | 42% reduction |
| **Code Size** | Complex | ~49KB removed | Significant |
| **Template Files** | 140+ | Direct messages | Streamlined |
| **Language Support** | 3 languages | 2 languages | Focused |
| **Memory Usage** | High | Reduced | LLM system removed |

## ⚔ What Was Removed

### Complex LLM-dependent features:
- āŒ `plan_task` - Complex task planning
- āŒ `analyze_task` - Codebase analysis
- āŒ `split_tasks` - Task decomposition (large files)
- āŒ `verify_task` - Complex quality verification
- āŒ `reflect_task` - Task retrospection
- āŒ `process_thought` - Thought processing
- āŒ `research_mode` - Research mode
- āŒ `init_project_rules` - Project rules initialization

### Simplified data model:
- āŒ `implementationGuide` - Complex implementation guides
- āŒ `verificationCriteria` - Quality verification criteria
- āŒ `analysisResult` - LLM-based analysis results
- āŒ Complex template system (140+ files)

## šŸ¤ Contributing

1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request

## šŸ“„ License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## šŸ™ Acknowledgments

- Built for the [Model Context Protocol (MCP)](https://modelcontextprotocol.io/)
- Inspired by Trello's simplicity and effectiveness
- Focused on pure MCP efficiency without LLM complexity

---

<div align="center">

**Task Master** - *Simplified. Efficient. Pure MCP.*

[⭐ Star this repo](https://github.com/yourusername/mcp-task-master) if you find it useful!

</div>