Task Trellis MCP
Task Trellis MCP is a server for organizing and managing AI coding projects through structured, hierarchical work items with built-in workflow and dependency management.
Create and Manage Project Hierarchy: Create projects, epics, features, and tasks with flexible hierarchical relationships (Project → Epic → Feature → Task, Feature → Task, or Standalone Task)
Modify and Retrieve Objects: Update object properties including body content, status, priority, and prerequisites; retrieve detailed information for any project object
Delete and List Objects: Remove objects with dependency validation; query and filter objects by type, scope, status, or priority
Task Workflow Management: Claim available tasks (ensuring prerequisites are met), complete them with summaries, and document file changes
Progress Tracking: Append logs to track progress and status updates for any object
System Operations: Initialize in local file-based or remote mode, configure project settings, and prune old closed objects
Provides integration with Task Trellis, a task management application for AI coding agents, offering tools like 'hello_world' that can be used to interact with the task management functionality.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Task Trellis MCP create a new project for building a weather dashboard"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Task Trellis MCP
Project planning and task management built specifically for AI agents
Task Trellis is an MCP server for project planning and task management built specifically for AI agents. It helps by breaking down complex projects and tracking their progress with built-in task management, complete with progress tracking, dependency management, and workflow automation. By default, all data is stored locally in Markdown files.
Primarily built as a much better alternative to managing markdown checklists. Task Trellis will make it easier to define requirements, specifications, and tasks in a structured way that the agents can actually use directly.
Full documentation is available in the docs folder.
Table of Contents
Related MCP server: gotask-mcp
At a Glance
Prompt | Result |
/task-trellis:create-project (my project details) | project created with epics, features and tasks defined and dependencies identified |
Complete the next available task | next open task with dependencies satisfied is claimed and worked on |
Work on all of the tasks for feature F-my-feature | all tasks for the specified feature are claimed and worked on |
Show me all open tasks in (my project) | list of all open tasks in the specified project |
After working on (feature), there's a bug. Look at what changed and fix it. | bug identified by examining all the files that were modified while working on that feature and fixed |
/task-trellis:create-features (feature details). Look at (other feature) and follow the same pattern | new feature created by mirroring the pattern of the other feature |
(after finding issue with design) Update all tasks in F-my-feature and update the design specifications | all tasks in the specified feature are updated to reflect the new design specifications |
Why Task Trellis?
Without Task Trellis
AI agents lose track of complex, multi-step projects
Agents spin out of control with no clear task structure
Tasks are often too large or vague, leading to confusion
No way to manage dependencies or prerequisites
No visibility into what's been completed vs. what's pending
Tasks get forgotten, duplicated, or done out of order
Zero coordination between multiple AI sessions
Complex projects become chaotic and overwhelming
With Task Trellis
Structured Breakdown: Automatically organize projects into hierarchical tasks (depending on the size of the effort required)
Project → Epic → Feature → Task
Smart Dependencies: Prevent tasks from starting until prerequisites are complete
Progress Tracking: Real-time visibility into what's done, in-progress, and pending
Session Continuity: Pick up exactly where you left off across AI conversations
Workflow Management: Built-in task claiming, completion, and validation workflows
File Change Tracking: Automatic documentation of what files were modified for each task
Learn from History: AI agents can reference past work to inform future tasks
Core Benefits
Focused Execution: AI agents work on one clearly-defined task at a time
Progress Visibility: Always know project status and what's next
Dependency Management: Automatic task ordering based on prerequisites
Audit Trail: Complete history of all work completed and changes made
Multi-Session Support: Seamlessly collaborate across different AI conversations
Productivity Boost: Reduce context switching and eliminate forgotten tasks
Usage
See full documentation at Task Trellis MCP Documentation
Basic Workflow
Create Tasks
Determine your starting point based on the expected size of your project
Project - For sprawling initiatives with many moving parts
Epic - For large feature groupings
Feature - For specific functionality
Task - For individual work items
Claim & Work on Tasks
AI agent claims next available task
Excludes tasks that have incomplete prerequisites
Grabs the next highest priority available task
Mark a task as
draftif you don't want it to be worked on yet - it won't be claimed when the tool looks for the next available task
Works on the specific task requirements
Marks task complete with file changes documented
Automatically tracks which files were modified
Logs summary of changes made
Work done in the future could reference this to better understand the current state of the project
Track Progress
View completed vs. pending work
See dependency relationships
Monitor overall project health
Installation and Configuration
See installation instructions.
Configuration
CLI Flags and Environment Variables
Flag / Env var | Description | Required |
| Override the project directory (default: | No |
| Same as | No |
| Override the shared data root (default: | No |
| Override the browser UI port (default: | No |
The MCP server resolves the project directory in this order: --projectDir flag → $TRELLIS_PROJECT_DIR → current working directory. Since Claude Code launches MCP servers with the workspace as CWD, no flag is normally needed.
Shared Data Directory Layout
Data is stored in ~/.trellis/ (shared across all sessions), not inside the repo directory.
~/.trellis/
projects/
<12-char-key>/ ← sha1(gitOriginUrl or absolutePath).slice(0,12)
p/ e/ f/ t/ ← issues (unchanged internal layout)
meta.json ← { "label": "<gitOriginUrl or absolutePath>" }Browser UI
When the first Claude Code session starts the MCP server, it binds http://127.0.0.1:3717 and logs:
Task Trellis UI: http://127.0.0.1:3717Subsequent sessions detect the port is taken and run STDIO-only.
The UI shows all projects under
~/.trellis/projects/and supports creating, editing, and deleting issues directly in the browser.When the leader session exits, the port is released automatically.
Project Tree Navigation
The project tree view includes several features for navigating and filtering issues:
Expand/Collapse: Click the chevron next to an issue to expand or collapse its children. Open/closed state is automatically saved per project.
Hide Completed: Click the filter icon (top toolbar) to toggle hiding completed (done/wont-do) issues. This preference is saved per project.
Search: Use the search box to filter issues by title or content. Search results are displayed flat and ignore the hide-completed preference.
Issue Details: Click any issue row to view and edit its full details in the side panel.
Breaking Changes
Breaking change:
--projectRootFolderhas been removed. Use--projectDirinstead.Breaking change: The
activateMCP tool has been removed. The project directory defaults to the current working directory; override with--projectDiror$TRELLIS_PROJECT_DIR.Note: Data previously stored in
<repo>/.trellis/is not migrated automatically. Move or recreate your data under~/.trellis/.
Available Tools
Core Issue Management
create_issue - Create projects, epics, features, or tasks with hierarchical relationships
update_issue - Modify issue properties, status, priority, prerequisites, or labels
get_issue - Retrieve detailed issue information with history and relationships
list_issues - Query and filter issues by type, status, priority, or scope (returns issue summaries)
delete_issue - Remove issues (with dependency validation)
replace_issue_body_regex - Make targeted body content edits using regex patterns
Task Workflow Management
claim_task - Claim available tasks for execution with automatic priority ordering
complete_task - Mark tasks complete with file change documentation
get_next_available_issue - Use this tool to find the next available issue that's ready to work on.
append_issue_log - Add progress notes and status updates to task history (occurs automatically on task completion)
append_modified_files - Record files modified during task execution with change descriptions (occurs automatically on task completion)
Attachment Management
add_attachment - Copy a file into the managed attachments folder for an issue (errors if the issue or source file does not exist, or a file with the same name already exists)
remove_attachment - Delete a named file from an issue's attachments folder (errors if the issue or file does not exist)
Attachments are returned as a list of filenames when calling get_issue and are linked in the browser UI detail view.
Project Files
write_project_file - Write a UTF-8 text file to the project's files directory. Overwrites by default; pass
failIfExists: trueto error on collision instead.read_project_file - Read a UTF-8 text file from the project's files directory.
list_project_files - List filenames in the project's files directory (returns
[]if the directory does not yet exist).delete_project_file - Delete a named file from the project's files directory.
Project files live at ~/.trellis/projects/<key>/files/<filename> and are scoped to the project — not tied to any individual issue. Filenames must not contain path separators or .. (path-traversal protection); v1 supports a flat namespace of UTF-8 text files.
Browser UI
get_ui_info - Returns the URL and port of the Task Trellis browser UI; use when the user asks about the UI or wants to view issues in a browser
System Management
prune_closed - Clean up old completed/cancelled issues for maintenance
Troubleshooting
Common Issues
Configuration issues:
Validate JSON syntax in MCP client configuration
Ensure absolute paths are used for
--projectDirRestart your MCP client after configuration changes
Getting Help
Issues: Report bugs or feature requests
Documentation: Check this README and docs
License
GPL-3.0-only - see LICENSE file for details.
Available Tools
11 toolsactivateA
Activates the task trellis system in local or remote mode
Use this tool to initialize and configure the task trellis system for operation. Must be called before any other task management operations can be performed.
Activation modes:
'local': Uses local file system for task storage and management
'remote': Connects to remote task trellis service via API
Local mode requirements:
'projectRoot': Absolute path to project directory where tasks will be stored
Creates local .task-trellis directory for data persistence
Suitable for single-user development workflows
No network dependencies once activated
Remote mode requirements:
'apiToken': Authentication token for remote service access
'remoteProjectId': Unique identifier for remote project instance
'url': Service endpoint (optional, uses default if not specified)
Enables collaborative task management across distributed teams
Requires network connectivity for all operations
Activation process:
Validates mode-specific parameters and connectivity
Initializes data storage (local directory or remote connection)
Verifies authentication and permissions
Sets up task trellis schema and configuration
Prepares system for task creation and management
Error conditions:
Invalid projectRoot path (local mode)
Authentication failure (remote mode)
Network connectivity issues (remote mode)
Insufficient file system permissions (local mode)
Must be successfully completed before using any other task trellis tools. Re-activation with different parameters switches modes and resets system state.
Inputs: mode (required), projectRoot, apiToken, url, +1 more.
append_issue_logA
Appends content to an issue's log in the task trellis system
Use this tool to add progress updates, notes, or activity records to an issue's audit trail. Essential for tracking work history, documenting decisions, and maintaining transparency in task execution.
Log entry purposes:
Record progress milestones and status changes
Document challenges encountered and solutions applied
Note important decisions or changes in approach
Track time spent or resources used
Log external dependencies or blockers
Record completion details and outcomes
Log content guidelines:
Use clear, descriptive entries with context
Include timestamps (automatically added by system)
Reference specific files, commits, or external resources when relevant
Note any changes to scope, requirements, or approach
Document lessons learned or insights gained
Activity tracking patterns:
Starting work: "Started implementation of feature X"
Progress updates: "Completed database schema changes, moving to API layer"
Blocking issues: "Blocked on external API access, contacted team"
Problem resolution: "Resolved memory leak by optimizing data structure"
Completion: "Task completed, all tests passing, PR submitted"
The log creates a permanent audit trail that helps with project retrospectives, debugging issues, and understanding work evolution over time.
Inputs: id (required), contents (required).
append_modified_filesA
Appends modified files information to a trellis issue in the task trellis system
Use this tool to record files that have been modified during task execution, along with descriptions of the modifications made. This helps maintain a comprehensive record of changes associated with each work item for tracking and audit purposes.
File modification tracking purposes:
Record which files were changed during task execution
Document the nature of changes made to each file
Maintain audit trail of file-level modifications
Support code review and change management processes
Enable impact analysis for future changes
Input requirements:
Issue ID: The unique identifier of the trellis issue to update
Files Changed: A record mapping file paths to descriptions of modifications
File path guidelines:
Use relative paths from project root (e.g., "src/components/Button.tsx")
Include file extensions for clarity
Use forward slashes for path separators
Description guidelines:
Provide clear, concise descriptions of what was changed
Focus on the purpose and impact of changes rather than implementation details
Use consistent terminology across related modifications
The tool automatically merges descriptions for files that were previously modified, creating a comprehensive change history for each file within the context of the trellis issue.
Inputs: id (required), filesChanged (required).
claim_taskA
Claims a task in the task trellis system
Use this tool to assign yourself to available tasks for execution. Essential for AI agents to pick up work items from the task queue and begin execution.
Claiming behavior:
Without 'taskId': Claims the next available task based on priority and readiness
With 'taskId': Claims a specific task by ID if available and ready
'scope': Limits claiming to tasks within a specific project or area
'force': Overrides normal claiming restrictions (use with caution)
Task readiness criteria:
Task status allows claiming (typically 'draft' or 'open' states)
All prerequisites are satisfied (prerequisite tasks completed)
Task is not already claimed by another agent
Task falls within specified scope if provided
Claiming workflow:
System evaluates available tasks against readiness criteria
Selects highest priority task that meets requirements
Updates task status to 'in-progress
Associates task with the claiming agent
Returns claimed task details for execution
Common patterns:
Claim any ready task: (no parameters)
Claim from project: scope='P-project-name'
Claim specific task: taskId='T-specific-task-id'
Force claim blocked task: taskId='T-task-id', force=true
Essential for autonomous task execution workflows where agents need to discover and claim work items dynamically.
Inputs: scope, taskId, force.
complete_taskA
Completes a task in the task trellis system
Use this tool to mark a task as finished and record completion details. Critical for task lifecycle management and maintaining accurate project status.
Required completion data:
'taskId': Unique identifier of the task being completed
'summary': Concise description of what was accomplished
'filesChanged': Map of modified files with descriptions of changes made
Completion process:
Validates task is in a completable state ('in-progress')
Updates task status to 'done'
Records completion timestamp and summary
Associates file changes with the task for traceability
Updates parent-child relationships and dependency chains
Triggers any dependent tasks that were waiting for this completion
File change tracking:
Key: relative file path from project root
Value: description of changes made to that file
Example: {'src/api/users.ts': 'Added user authentication endpoints', 'tests/auth.test.ts': 'Added comprehensive auth test coverage'}
Best practices:
Provide clear, actionable summaries that explain the outcome
Document all meaningful file changes for future reference
Complete tasks only when all acceptance criteria are met
Verify dependent tasks can now proceed before completion
Include any important notes or lessons learned in the summary
Task completion automatically notifies dependent tasks and may trigger workflow progression for related work items.
Inputs: taskId (required), summary (required), filesChanged (required).
create_issueA
Creates a new issue in the task trellis system
Use this tool to create new issues such as tasks, projects, or other work items within the task management hierarchy. Issues can have parent-child relationships and dependencies through prerequisites.
Available issue types and hierarchy requirements:
'project': Top-level containers, cannot have a parent
'epic': Can have no parent or a project as a parent
'feature': Can have no parent or an epic as a parent
'task': Can have no parent or a feature as a parent
Supported hierarchy structures:
Full hierarchy: project → epic → feature → task
Simplified: epic → feature → task
Simplified: feature → task
Standalone: epic
Standalone: task
Available status values:
'draft': Initial state for new issues
'open': Ready to begin work (default)
'open': Ready to begin work
'in-progress': Currently being worked on
'done': Completed successfully
'wont-do': Cancelled or decided against
Available priority values:
'high': Critical or urgent work
'medium': Standard priority (default)
'low': Nice-to-have or future work
Key aspects:
Issues support hierarchical organization via parent relationships
Prerequisites define execution order dependencies between issues
Parent-child relationships must follow the hierarchy rules above
The system validates parent types during creation
Best practices:
Use descriptive titles that clearly indicate the work to be done
Follow the hierarchy constraints for proper organization
Set appropriate status based on current work state
Define prerequisites to ensure proper task ordering
Include detailed descriptions to provide context for the work
Inputs: type (required), title (required), parent, priority, +3 more.
delete_issueA
Deletes an issue from the task trellis system
Use this tool to permanently remove issues from the task hierarchy. Exercise caution as deletion affects related issues and cannot be easily undone.
Safety considerations:
Standard deletion validates relationships and prevents deletion of issues with dependencies
Issues with children or that serve as prerequisites for other issues may be protected
Use 'force=true' to bypass safety checks for administrative cleanup
Consider updating status to 'cancelled' instead of deletion for audit trail preservation
Deletion impacts:
Removes issue and all associated metadata permanently
Updates parent-child relationships by removing deleted issue from parent's children list
Other issues referencing this as a prerequisite may become invalid
Historical references in logs and activity trails are preserved but point to non-existent issue
Best practices:
Verify issue has no active dependencies before deletion
Use list/get tools to understand relationships before deletion
Prefer status updates to 'cancelled' over deletion for important work items
Use force deletion only for cleanup of test data or administrative maintenance
This operation is irreversible - ensure you have the correct issue ID before proceeding.
Inputs: id (required), force.
get_issueA
Gets an issue from the task trellis system
Use this tool to retrieve detailed information about a specific issue by its unique ID. Returns the complete issue data including metadata, relationships, content, and activity history.
Key information retrieved:
Issue metadata (type, title, status, priority, timestamps)
Hierarchical relationships (parent, children, prerequisites)
Content body and description
Activity log and change history
File associations and modifications
Current state and progress indicators
Usage scenarios:
Review task details before starting work
Check issue status and dependencies
Examine change history and activity logs
Understand parent-child relationships
Verify prerequisite completion
Access associated file changes
Essential for understanding the full context of a work item before making modifications or planning next steps.
Inputs: id (required).
get_next_available_issueA
Gets the next available issue of a specific type
Use this tool to find the next available issue that's ready to work on. Essential for discovering what work is available when you're ready to start on a new project, epic, feature, or task.
Behavior:
Returns the highest priority available issue of the specified type
Does not modify task status or claim ownership
Finds issues that are ready to work on (all prerequisites complete)
Helps you discover what work is available without having to browse through all issues
Available issue types:
'project': Top-level containers
'epic': Large features within projects
'feature': Specific functionality within epics
'task': Individual work items
Required parameters:
'issueType': Must specify exactly one object type (project, epic, feature, or task)
Optional parameters:
'scope': Limits search to issues within a specific project or area (e.g., 'P-project-name')
Usage patterns:
Find next project to work on: issueType='project'
Find which epic to tackle next in a project: issueType='epic', scope='P-project-name'
Discover what feature needs work: issueType='feature'
Get the next task ready for development: issueType='task'
Find work within a specific project scope: issueType='task', scope='P-specific-project'
Return format:
Success: Returns complete issue object with all metadata, prerequisites, and readiness status
No issues available: Returns appropriate message indicating no available issues of the specified type
Error cases: Returns error details with specific failure reasons
Essential for discovering what work is ready to be done. Use this when you need to know what project, epic, feature, or task you should work on next without having to manually browse through all the available issues.
Inputs: issueType (required), scope.
list_issuesA
Lists issues from the task trellis system
Use this tool to retrieve and filter issues based on various criteria. Essential for discovering existing work items, understanding project structure, and finding issues that need attention.
Available issue types:
'project': Top-level containers
'epic': Large features within projects
'feature': Specific functionality within epics
'task': Individual work items
Available status values:
'draft': Initial state for new issues
'open': Ready to begin work (default for new issues)
'in-progress': Currently being worked on
'done': Completed successfully
'wont-do': Cancelled or decided against
Available priority values:
'high': Critical or urgent work
'medium': Standard priority
'low': Nice-to-have or future work
Key filtering options:
'type': Filter by issue category (project, epic, feature, task) - accepts single value or array
'scope': Limit results to a specific project or area of work
'status': Find issues in particular states (draft, open, in-progress, done, wont-do) - accepts single value or array
'priority': Filter by importance level (high, medium, low) - accepts single value or array
'includeClosed': Whether to show completed/archived issues (defaults to false)
Usage patterns:
List all tasks in progress: type='task', status='in-progress'
Find high priority work: priority='high', includeClosed=false
Review project scope: type='project', scope='specific-project'
Audit completed work: includeClosed=true, status='done'
Find cancelled items: status='wont-do', includeClosed=true
List features and tasks: type=['feature', 'task']
List all open objects: status='open' (no type filter)
Multiple statuses: status=['open', 'in-progress']
Multiple priorities: priority=['high', 'medium']
The results provide issue summaries (TrellisObjectSummary instances) containing id, type, title, status, priority, parent, prerequisites, childrenIds, created, and updated fields to enable efficient filtering and further operations.
Inputs: type, scope, status, priority, +1 more.
update_issueA
Updates an existing issue in the task trellis system
Use this tool to modify properties of existing issues such as changing status, priority, prerequisites, or content. Essential for managing work item lifecycle and maintaining project state.
Available status values:
'draft': Initial state for new issues
'open': Ready to begin work (default for new issues)
'in-progress': Currently being worked on
'done': Completed successfully
'wont-do': Cancelled or decided against
Available priority values:
'high': Critical or urgent work
'medium': Standard priority
'low': Nice-to-have or future work
Updatable properties:
'title': Title of the work item
'status': Progress state (follows workflow: draft → open → in-progress → done)
'priority': Importance level (high, medium, low)
'prerequisites': Dependency relationships (add/remove prerequisite issues)
'body': Detailed description or content of the work item
'force': Bypass certain validation checks when necessary
Common update patterns:
Update title: title='New task title'
Mark task as ready: status='open'
Start working: status='in-progress'
Change priority: priority='high'
Add dependencies: prerequisites=[...existing, 'new-prereq-id']
Update description: body='detailed work description'
Complete work: status='done'
Cancel work: status='wont-do'
The update maintains issue integrity by validating relationships and preserving audit trail. Use 'force=true' only when bypassing standard validation is necessary for administrative operations.
Updates automatically refresh the 'updated' timestamp while preserving creation metadata and change history.
Inputs: id (required), title, priority, prerequisites, +3 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 11 tools
Most tools have distinct purposes, such as create_issue, get_issue, and delete_issue. However, append_issue_log and append_modified_files could be confusing as both involve appending data to issues, with overlapping use cases for tracking changes. The descriptions help clarify that one is for general logs and the other for file modifications, but the boundary is not entirely clear.
All tool names follow a consistent snake_case pattern with clear verb_noun structures, such as create_issue, list_issues, and update_issue. The naming is predictable and readable throughout, with no deviations or mixed conventions.
With 11 tools, the count is well-scoped for a task management system. It covers essential operations like activation, CRUD for issues, task claiming/completion, and logging, without being overly complex or too sparse. Each tool serves a clear purpose in the domain.
The tool set provides comprehensive coverage for task management, including system activation, full CRUD lifecycle for issues (create, get, update, delete, list), task workflow (claim, complete), and logging (append logs, file changes). There are no obvious gaps; it supports hierarchical structures, dependencies, and audit trails effectively.
Maintenance
Related MCP Connectors
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
MCP server for progressive tool usage at any scale (see https://klavis.ai)
Related MCP Servers
- AlicenseAqualityDmaintenanceAn MCP server that enables AI assistants to interact with the Taskwarrior command-line task management tool. It allows users to list, create, modify, and organize tasks using projects, tags, and annotations through natural language.132MIT
- AlicenseAqualityDmaintenanceAn MCP server that enables AI agents to list and run tasks defined in Taskfile.yml, useful for automated development workflows.24MIT
- FlicenseAqualityDmaintenanceA modular MCP server that provides custom tools for AI assistants to interact with the DemoTool project codebase, starting with a hello world tool.7-
- AlicenseNot gradedqualityDmaintenanceAn MCP server that wraps the Taskwarrior CLI to allow AI assistants to create, query, modify, and manage tasks directly from agentic coding tools.11 npmMIT