Reference

MCP tools reference

Every tool the connector exposes — 108 across 13 domains. Read-only and destructive hints follow MCP annotations, so clients can render the right confirmations.

readnever changes anythingwritecreates or updatesdestructivedeletes — clients confirm first
tasks.assignwrite

Assign or unassign a task. Pass `assigneeId: null` to clear.

ParameterTypeRequiredDescription
workspaceSlugstringrequiredWorkspace slug (from workspaces.list).
taskIdstringrequired
assigneeIdanyrequiredUser id to assign, or null to unassign.
tasks.assignee_countsread

Count a project's tasks per assignee, with the same filters as `tasks.list`. Unassigned tasks are left out.

ParameterTypeRequiredDescription
workspaceSlugstringrequiredWorkspace slug (from workspaces.list).
projectIdstringrequiredProject id.
idsstring[]optionalRestrict to these task ids.
searchstringoptionalFree-text search over tasks.
statusIdstringoptionalSingle-status filter; prefer statusIds.
statusIdsstring[]optionalTasks in ANY of these statuses.
excludeStatusIdsstring[]optional
prioritystring: urgent | high | normal | low | lowestoptionalSingle-priority filter; prefer priorities.
prioritiesstring[]optional
excludePrioritiesstring[]optional
assigneeIdsstring[]optional
excludeAssigneeIdsstring[]optional
assigneeIsEmptybooleanoptionalOnly unassigned tasks.
assigneeIsNotEmptybooleanoptional
creatorIdsstring[]optional
excludeCreatorIdsstring[]optional
labelIdsstring[]optionalTasks with ANY of these labels.
labelIdsAllstring[]optionalTasks with ALL of these labels.
excludeLabelIdsstring[]optional
labelsIsEmptybooleanoptional
labelsIsNotEmptybooleanoptional
milestoneIdstringoptionalSingle-milestone filter; prefer milestoneIds.
milestoneIdsstring[]optional
excludeMilestoneIdsstring[]optional
milestoneIsEmptybooleanoptional
milestoneIsNotEmptybooleanoptional
dueOnstringoptional
dueBeforestringoptionalExclusive upper bound (YYYY-MM-DD).
dueAfterstringoptionalExclusive lower bound (YYYY-MM-DD).
dueFromstringoptionalInclusive lower bound (YYYY-MM-DD).
dueTostringoptionalInclusive upper bound (YYYY-MM-DD).
dueIsEmptybooleanoptional
dueIsNotEmptybooleanoptional
titleContainsstringoptionalCase-insensitive title search.
titleStartsWithstringoptional
titleNotContainsstringoptional
tasks.bulk_deletedestructive

Permanently delete many tasks at once. Each task is authorized on its own, as a single delete would be.

ParameterTypeRequiredDescription
workspaceSlugstringrequiredWorkspace slug (from workspaces.list).
taskIdsstring[]requiredTask ids (1–500, unique). May span projects of the workspace; each task is authorized on its own.
tasks.bulk_updatewrite

Apply one change to many tasks at once: set status, priority, assignee, due date or milestone, and add / remove / clear labels. Each task is authorized on its own, as a single update would be.

ParameterTypeRequiredDescription
workspaceSlugstringrequiredWorkspace slug (from workspaces.list).
taskIdsstring[]requiredTask ids (1–500, unique). May span projects of the workspace; each task is authorized on its own.
changesobjectoptionalFields to set on every task; omitted fields are left alone.
changes.statusIdstringoptional
changes.priorityanyoptionalnull is stored as normal.
changes.assigneeIdanyoptional
changes.dueDateanyoptional
changes.milestoneIdanyoptionalMust belong to each task's own project.
labelsobjectoptionalLabel operations. `clear` and `remove` apply before `add`.
labels.addstring[]optional
labels.removestring[]optional
labels.clearbooleanoptional
tasks.countread

Count the tasks in a project that match the same filters as `tasks.list` (limit, offset and sort do not apply).

ParameterTypeRequiredDescription
workspaceSlugstringrequiredWorkspace slug (from workspaces.list).
projectIdstringrequiredProject id.
idsstring[]optionalRestrict to these task ids.
searchstringoptionalFree-text search over tasks.
statusIdstringoptionalSingle-status filter; prefer statusIds.
statusIdsstring[]optionalTasks in ANY of these statuses.
excludeStatusIdsstring[]optional
prioritystring: urgent | high | normal | low | lowestoptionalSingle-priority filter; prefer priorities.
prioritiesstring[]optional
excludePrioritiesstring[]optional
assigneeIdsstring[]optional
excludeAssigneeIdsstring[]optional
assigneeIsEmptybooleanoptionalOnly unassigned tasks.
assigneeIsNotEmptybooleanoptional
creatorIdsstring[]optional
excludeCreatorIdsstring[]optional
labelIdsstring[]optionalTasks with ANY of these labels.
labelIdsAllstring[]optionalTasks with ALL of these labels.
excludeLabelIdsstring[]optional
labelsIsEmptybooleanoptional
labelsIsNotEmptybooleanoptional
milestoneIdstringoptionalSingle-milestone filter; prefer milestoneIds.
milestoneIdsstring[]optional
excludeMilestoneIdsstring[]optional
milestoneIsEmptybooleanoptional
milestoneIsNotEmptybooleanoptional
dueOnstringoptional
dueBeforestringoptionalExclusive upper bound (YYYY-MM-DD).
dueAfterstringoptionalExclusive lower bound (YYYY-MM-DD).
dueFromstringoptionalInclusive lower bound (YYYY-MM-DD).
dueTostringoptionalInclusive upper bound (YYYY-MM-DD).
dueIsEmptybooleanoptional
dueIsNotEmptybooleanoptional
titleContainsstringoptionalCase-insensitive title search.
titleStartsWithstringoptional
titleNotContainsstringoptional
tasks.createwrite

Create a task in a project. Auto-assigns the caller and auto-subscribes them to the task. Defaults to the workspace's default status when statusId is omitted.

ParameterTypeRequiredDescription
workspaceSlugstringrequiredWorkspace slug (from workspaces.list).
projectIdstringrequired
bodyobjectrequired
body.titlestringrequired
body.descriptionanyoptionalTask description as a BlockNote / TipTap JSON block array (same shape as comments.create content). null clears.
body.statusIdstringoptional
body.prioritystring: urgent | high | normal | low | lowestoptionalOptional priority; defaults to normal.
body.assigneeIdanyoptional
body.dueDateanyoptionalISO 8601 date (YYYY-MM-DD). null clears.
body.milestoneIdanyoptional
tasks.deletedestructive

Delete a task. Comments / linked-docs follow the existing cascade.

ParameterTypeRequiredDescription
workspaceSlugstringrequiredWorkspace slug (from workspaces.list).
taskIdstringrequired
tasks.getread

Fetch a single task's full detail.

ParameterTypeRequiredDescription
workspaceSlugstringrequiredWorkspace slug (from workspaces.list).
taskIdstringrequired
tasks.get_by_numberread

Fetch a task by the number shown in the app (#42) within its project — the way people refer to tasks.

ParameterTypeRequiredDescription
workspaceSlugstringrequiredWorkspace slug (from workspaces.list).
projectIdstringrequiredProject id.
numberintegerrequiredDisplay number shown in the app as #42.
tasks.listread

List tasks in a project. Filters: status / priority / assignee / creator / label / milestone (include, exclude, is-empty variants), due-date ranges, and title search (titleContains). Array filters combine as AND across fields, OR within a field. Pagination: limit (default 50, max 200), offset; use `tasks.count` for the filtered total.

ParameterTypeRequiredDescription
workspaceSlugstringrequiredWorkspace slug (from workspaces.list).
projectIdstringrequiredProject id.
idsstring[]optionalRestrict to these task ids.
searchstringoptionalFree-text search over tasks.
statusIdstringoptionalSingle-status filter; prefer statusIds.
statusIdsstring[]optionalTasks in ANY of these statuses.
excludeStatusIdsstring[]optional
prioritystring: urgent | high | normal | low | lowestoptionalSingle-priority filter; prefer priorities.
prioritiesstring[]optional
excludePrioritiesstring[]optional
assigneeIdsstring[]optional
excludeAssigneeIdsstring[]optional
assigneeIsEmptybooleanoptionalOnly unassigned tasks.
assigneeIsNotEmptybooleanoptional
creatorIdsstring[]optional
excludeCreatorIdsstring[]optional
labelIdsstring[]optionalTasks with ANY of these labels.
labelIdsAllstring[]optionalTasks with ALL of these labels.
excludeLabelIdsstring[]optional
labelsIsEmptybooleanoptional
labelsIsNotEmptybooleanoptional
milestoneIdstringoptionalSingle-milestone filter; prefer milestoneIds.
milestoneIdsstring[]optional
excludeMilestoneIdsstring[]optional
milestoneIsEmptybooleanoptional
milestoneIsNotEmptybooleanoptional
dueOnstringoptional
dueBeforestringoptionalExclusive upper bound (YYYY-MM-DD).
dueAfterstringoptionalExclusive lower bound (YYYY-MM-DD).
dueFromstringoptionalInclusive lower bound (YYYY-MM-DD).
dueTostringoptionalInclusive upper bound (YYYY-MM-DD).
dueIsEmptybooleanoptional
dueIsNotEmptybooleanoptional
titleContainsstringoptionalCase-insensitive title search.
titleStartsWithstringoptional
titleNotContainsstringoptional
sortstring: created_at | updated_at | due_date | priority | status | title | number | pinnedoptional`pinned` puts the caller's pinned tasks first.
orderstring: asc | descoptional
limitintegeroptional
offsetintegeroptional
tasks.list_workspaceread

List tasks across every project of a workspace, optionally limited to a due-date range (dueFrom / dueTo) and one assignee. For full filtering use `tasks.list` per project.

ParameterTypeRequiredDescription
workspaceSlugstringrequiredWorkspace slug (from workspaces.list).
dueFromstringoptionalInclusive lower bound on dueDate (YYYY-MM-DD). Either bound limits the result to tasks that have a due date.
dueTostringoptionalInclusive upper bound on dueDate (YYYY-MM-DD).
assigneeIdstringoptional
limitintegeroptional
tasks.mutewrite

Silence a task's notifications even where they would arrive automatically. The only way to opt out of a task you are assigned to.

ParameterTypeRequiredDescription
workspaceSlugstringrequiredWorkspace slug (from workspaces.list).
taskIdstringrequired
tasks.pinwrite

Pin a task for the caller only (pins are private). Idempotent. List pinned-first with `tasks.list` `sort: pinned`.

ParameterTypeRequiredDescription
workspaceSlugstringrequiredWorkspace slug (from workspaces.list).
taskIdstringrequired
tasks.pinned_listread

List the ids of every task the caller has pinned in a workspace.

ParameterTypeRequiredDescription
workspaceSlugstringrequiredWorkspace slug (from workspaces.list).
limitintegeroptional
offsetintegeroptional
tasks.set_labelswrite

Replace the full label set on a task. Pass an empty array to clear all labels.

ParameterTypeRequiredDescription
workspaceSlugstringrequiredWorkspace slug (from workspaces.list).
taskIdstringrequired
labelIdsstring[]requiredFull label set for the task. Replaces existing labels. Pass [] to clear.
tasks.set_statuswrite

Move a task to a different status. Sugar over `tasks.update` for the agent's most common write — pair with `comments.create` for narration.

ParameterTypeRequiredDescription
workspaceSlugstringrequiredWorkspace slug (from workspaces.list).
taskIdstringrequired
statusIdstringrequiredTarget status id (from `statuses.list`).
tasks.unmutewrite

Lift a mute and restore whatever watch state applied before it.

ParameterTypeRequiredDescription
workspaceSlugstringrequiredWorkspace slug (from workspaces.list).
taskIdstringrequired
tasks.unpinwrite

Remove the caller's pin from a task. Idempotent.

ParameterTypeRequiredDescription
workspaceSlugstringrequiredWorkspace slug (from workspaces.list).
taskIdstringrequired
tasks.unwatchwrite

Drop an explicit watch. A task still watched automatically (assignee, author) keeps notifying — use tasks.mute to silence those.

ParameterTypeRequiredDescription
workspaceSlugstringrequiredWorkspace slug (from workspaces.list).
taskIdstringrequired
tasks.updatewrite

Partial update on a task (title, description, status, priority, assignee, due date, milestone). Status changes, assignee changes, and field edits emit activity-log entries and notifications to watchers.

ParameterTypeRequiredDescription
workspaceSlugstringrequiredWorkspace slug (from workspaces.list).
taskIdstringrequired
bodyobjectrequired
body.titlestringoptional
body.descriptionanyoptionalTask description as a BlockNote / TipTap JSON block array (same shape as comments.create content). null clears.
body.statusIdstringoptional
body.prioritystring: urgent | high | normal | low | lowestoptionalPriority.
body.assigneeIdanyoptional
body.dueDateanyoptionalISO 8601 date (YYYY-MM-DD). null clears.
body.milestoneIdanyoptional
body.positionnumberoptionalSort position within the task's status column.
tasks.watchwrite

Explicitly subscribe to a task's notifications. Idempotent.

ParameterTypeRequiredDescription
workspaceSlugstringrequiredWorkspace slug (from workspaces.list).
taskIdstringrequired
tasks.watch_getread

Get the caller's watch state for a task: watching, muted, and whether the watch is automatic (`auto` — derived from being assignee or author).

ParameterTypeRequiredDescription
workspaceSlugstringrequiredWorkspace slug (from workspaces.list).
taskIdstringrequired
tasks.watched_listread

List the ids of every task the caller watches in a workspace (muted ones included) — for marking watch state across a task list without a request per task.

ParameterTypeRequiredDescription
workspaceSlugstringrequiredWorkspace slug (from workspaces.list).
limitintegeroptional
offsetintegeroptional

Each tool advertises its full JSON schema via tools/list — for exact arguments use your client's tool inspector; in Claude Code that's /mcp