list_tasks
Lists tasks of the organization, newest first. Filter by status, priority, project and parent task. Returns the complete task rows. Requirements: role Viewer or higher, key scope "read" or higher, module "Tasks" enabled.
- status
- Optional · string · todo | in_progress | done | backlog | list_only — Only tasks with this status.
- priority
- Optional · string · low | medium | high | critical — Only tasks with this priority.
- projectId
- Optional · string — Only entries of this project.
- parentTaskId
- Optional · string — Only subtasks of this task.
- limit
- Optional · number — Maximum number of results (default 50, max 200).
get_task
Returns a single task by ID. If the task does not exist or belongs to another organization, the error "Task not found" is returned. Requirements: role Viewer or higher, key scope "read" or higher, module "Tasks" enabled.
- id
- Required · string — ID of the task.
create_task
Creates a task. Without assigneeId it is assigned to you; an explicitly sent null leaves it unassigned. The task number is assigned per organization, atomically and sequentially. Project, milestone, parent task and assignees must belong to the same organization, otherwise an error is returned. The task is also indexed for semantic similarity search. Returns the created task row. Requirements: role Member or higher, key scope "write" or higher, module "Tasks" enabled.
- name
- Required · string — Task title.
- description
- Optional · string — Description as free text.
- status
- Optional · string · todo | in_progress | done | backlog — Initial status. Default: todo.
- priority
- Optional · string · low | medium | high | critical — Task priority.
- projectId
- Optional · string — ID of the assigned project.
- milestoneId
- Optional · string — ID of the milestone.
- dueDate
- Optional · string — Due date (ISO 8601).
- tags
- Optional · string[] — Tags as a list.
- assigneeId
- Optional · string — Internal user ID of the assignee (field userId from list_members). Default: yourself.
- assigneeIds
- Optional · string[] — Several assignees as a list of internal user IDs (field userId from list_members).
- parentTaskId
- Optional · string — ID of the parent task (makes this task a subtask).
update_task
Updates an existing task; only the fields you send are changed. A task cannot be its own parent. An empty string for parentTaskId turns it back into a top-level task. References are checked against the organization again; when name, description, category or tags change, the search index is refreshed. Returns the updated row. Requirements: role Member or higher, key scope "write" or higher, module "Tasks" enabled.
- id
- Required · string — ID of the task.
- name
- Optional · string — New title.
- description
- Optional · string — Description as free text.
- status
- Optional · string · todo | in_progress | done | backlog — New status.
- priority
- Optional · string · low | medium | high | critical — New priority.
- projectId
- Optional · string — ID of the assigned project.
- milestoneId
- Optional · string — ID of the milestone.
- dueDate
- Optional · string — New due date (ISO 8601); an empty value removes it.
- tags
- Optional · string[] — Tags as a list.
- assigneeId
- Optional · string — Internal user ID of the assignee (field userId from list_members).
- assigneeIds
- Optional · string[] — Several assignees as a list of internal user IDs (field userId from list_members).
- parentTaskId
- Optional · string — ID of the parent task. An empty string clears the link.
delete_task
Permanently deletes a task. Requires at least the Admin role and a key with the delete scope. Requirements: role Admin or higher, key scope "delete" or higher, module "Tasks" enabled.
- id
- Required · string — ID of the task.
find_similar_tasks
Decision Context Layer: semantic search for earlier, similar tasks – either by free text (query) or starting from an existing task (taskId; the task itself is excluded). Returns similarTasks with estimated and actually logged hours, matching knowledgebase snippets (kbHits) and a degraded flag. Basis for effort estimates, prioritisation and sprint planning. Your task visibility rules apply. Either query or taskId is required. Requirements: role Viewer or higher, key scope "read" or higher, module "Tasks" enabled.
- query
- Optional · string — Free-text description of the work to find comparable tasks for.
- taskId
- Optional · string — ID of an existing task to find similar ones for (alternative to query).
- limit
- Optional · number — Maximum number of results (default 6, max 20).
- onlyDone
- Optional · boolean · Default: false — Restrict to completed tasks (best for estimate-vs-actual comparison). Default: false.
- includeKb
- Optional · boolean · Default: true — Also returns matching knowledgebase snippets (default: true).
estimate_task_effort
AI effort estimate: suggests hours for a new (query) or existing task (taskId) based on comparable completed tasks, preferring logged time over planned time. The result contains a range, confidence and the tasks the estimate is based on. With too few comparable tasks the AI estimates from typical real-world effort (method="ai-general"). estimate is null only when the AI is unavailable. The result is AI-generated – review it before adopting it. Requirements: role Viewer or higher, key scope "read" or higher, module "Tasks" enabled.
- query
- Optional · string — Free-text description of the work to estimate.
- taskId
- Optional · string — ID of an existing task to estimate (alternative to query).
list_projects
Lists all projects of the organization, newest first. Requirements: role Viewer or higher, key scope "read" or higher, module "Projects" enabled.
- limit
- Optional · number — Maximum number of results (default 50, max 200).
get_project
Returns a single project by ID. Requirements: role Viewer or higher, key scope "read" or higher, module "Projects" enabled.
- id
- Required · string — ID of the project.
create_project
Creates a project; you are stored as its creator. Only the name is required. Requirements: role Member or higher, key scope "write" or higher, module "Projects" enabled.
- name
- Required · string — Project name.
- description
- Optional · string — Description as free text.
- category
- Optional · string — Category as free text.
- color
- Optional · string — Project color as hex value, e.g. #6366f1.
- hourlyRate
- Optional · number — Hourly rate of the project.
- budgetHours
- Optional · number — Hour budget of the project.
update_project
Updates a project; only the fields you send are changed. Requirements: role Member or higher, key scope "write" or higher, module "Projects" enabled.
- id
- Required · string — ID of the project.
- name
- Optional · string — New project name.
- description
- Optional · string — Description as free text.
- category
- Optional · string — Category as free text.
- color
- Optional · string — New project color as hex value.
- hourlyRate
- Optional · number — New hourly rate of the project.
- budgetHours
- Optional · number — Hour budget of the project.
delete_project
Permanently deletes a project. Requires at least the Admin role and a key with the delete scope. Requirements: role Admin or higher, key scope "delete" or higher, module "Projects" enabled.
- id
- Required · string — ID of the project.
list_milestones
Lists milestones of the organization, newest first; filter by status and phase. This tool has no module switch and is always available. Requirements: role Viewer or higher, key scope "read" or higher, no module switch (always available).
- status
- Optional · string · upcoming | in-progress | completed | delayed — Only milestones with this status.
- phase
- Optional · string · pre-mvp | mvp | pmf | growth | custom — Only milestones of this phase.
- limit
- Optional · number — Maximum number of results (default 50, max 200).
get_milestone
Returns a single milestone by ID. Requirements: role Viewer or higher, key scope "read" or higher, no module switch (always available).
- id
- Required · string — ID of the milestone.
create_milestone
Creates a milestone; you are stored as its creator. Without further input it starts with phase custom and status upcoming. Requirements: role Member or higher, key scope "write" or higher, no module switch (always available).
- title
- Required · string — Title.
- description
- Optional · string — Description as free text.
- phase
- Optional · string · pre-mvp | mvp | pmf | growth | custom — Phase. Default: custom.
- status
- Optional · string · upcoming | in-progress | completed | delayed — Initial status. Default: upcoming.
- targetDate
- Optional · string — Target date (ISO 8601).
update_milestone
Updates a milestone. When the status is set to completed, the tool automatically stores the current date as completion date. Requirements: role Member or higher, key scope "write" or higher, no module switch (always available).
- id
- Required · string — ID of the milestone.
- title
- Optional · string — Title.
- description
- Optional · string — Description as free text.
- phase
- Optional · string · pre-mvp | mvp | pmf | growth | custom — New phase.
- status
- Optional · string · upcoming | in-progress | completed | delayed — New status. completed sets the completion date.
- targetDate
- Optional · string — New target date (ISO 8601); an empty value removes it.
delete_milestone
Deletes a milestone. Requires at least the Admin role and a key with the delete scope. Requirements: role Admin or higher, key scope "delete" or higher, no module switch (always available).
- id
- Required · string — ID of the milestone.
Common pitfalls
Default assignment
create_task assigns you when you send no assigneeId. To leave the task unassigned, explicitly send null.
Membership is checked
Project, milestone, parent task and assignees must belong to the same organization; otherwise an error such as "projectId does not belong to this organization" is returned.
Status values differ
list_tasks additionally knows the status list_only; when creating and updating, todo, in_progress, done and backlog are allowed.
Deleting is permanent
delete_task and delete_project delete permanently and require the Admin role and the delete scope.
