This document describes how to use mcp-tasks for agent-driven task execution.
mcp-tasks provides a structured workflow where you plan tasks for an agent to execute. Tasks are organized into categories, with each category having its own execution instructions and task tracking.
mcp-tasks supports two workflow modes:
Choose task-id based when you need to control execution order, or category-based when you want to process queued tasks sequentially within a category.
Ask the agent to create tasks, or use the add-task tool directly:
# Ask agent to create a task
"Create a simple task to add user profile endpoint"
# Agent uses add-task tool, returns task-id: 123
The agent will use the add-task tool to create an EDN record with all required fields in .mcp-tasks/tasks.ednl.
Execute specific tasks using their ID:
/mcp-tasks:execute-task 123
The agent will:
work-on tool to set up the task environmentcomplete-task tool to mark the task as completeAfter each task completion:
When to use: Direct control over task execution order, working on specific tasks regardless of their position in the queue.
Tasks are stored in EDN format in .mcp-tasks/tasks.ednl. Use the
add-task tool to add tasks:
# Add a task via MCP tool
# The tool will create an EDN record with all required fields
Key points:
:id, :status, :title,
:description, :category, etc.:category are processed in order from top to bottom:description fieldTasks in tasks.ednl are processed in order from top to bottom. The
agent will always process the first task with matching :category and
:status :open.
To reorder tasks, you can manually edit tasks.ednl or use the
add-task tool with prepend: true to add high-priority tasks at the
beginning.
Execute the next task in a category by running:
/mcp-tasks:category-<category>
Examples:
/mcp-tasks:category-simple - Process next simple task/mcp-tasks:category-feature - Process next feature task/mcp-tasks:category-bugfix - Process next bugfix taskThe agent will:
:status :open:status :closed)After each task completion:
When to use: Sequential processing of multiple tasks within a category, queue-based task management.
For more complex workflows and features, see these guides:
Categories allow you to organize tasks by type and apply different execution strategies.
The system discovers categories automatically from:
tasks.ednl - Each task's :category field defines its category.mcp-tasks/prompts/ - Optional category-specific
execution instructions (e.g., simple.md, medium.md)Create a new category by adding a task with that category:
# Use the add-task tool with your custom category name
# Example: {:category "my-category" :title "My first task" ...}
The category will be automatically discovered from existing tasks, and you can run:
/mcp-tasks:next-my-category
Override default task execution by adding a prompt file:
.mcp-tasks/prompts/<category>.md
This file should contain specific instructions for how tasks in this category should be executed.
Edit the task's :category field in tasks.ednl:
# Open tasks.ednl and change the :category field
vim .mcp-tasks/tasks.ednl
# Find the task and change {:category "simple" ...} to {:category "feature" ...}
Check what has been accomplished:
cat .mcp-tasks/complete.ednl
Completed tasks have :status :closed and include the full task
specification as an EDN map.
Tasks can be as simple or detailed as needed:
Simple task:
{:id 1
:status :open
:title "Add error logging to the API module"
:description ""
:category "simple"
:type :task
:design ""
:meta {}
:relations []}
Detailed task:
{:id 2
:status :open
:title "Implement user authentication system"
:description "Use JWT tokens for session management
Support email/password login
Add password reset flow
Include rate limiting on login endpoints
Write comprehensive tests"
:category "medium"
:type :feature
:design ""
:meta {}
:relations []}
The agent will read and consider all details in the :title and
:description fields when implementing the task.
Task not processing:
cat .mcp-tasks/tasks.ednl:status :open:category fieldCategory not found:
tasks.ednladd-task toolChanges not committed:
.mcp-tasks/ repoCan you improve this documentation?Edit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |