Read teams, spaces, lists and tasks; create, update and comment on tasks and track time.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
WRITE: create a new task in a list. `name` is required; the list is the {list_id} path param, not a body field. ClickUp REST: POST /list/{list_id}/task.
The task name (required).
The list id to create the task in (path param, not body).
Tag names to attach.
Parent task id — set to create this task as a subtask.
Status name (must be a valid status in the list).
Due date as Unix time in ms.
Task priority: 1=Urgent, 2=High, 3=Normal, 4=Low.
User ids to assign the task to (numeric).
Start date as Unix time in ms.
The task description / body text.
Whether due_date carries a time component (else date-only).
The server marks this tool as destructive. Running it may delete or overwrite data on the server or in any account you connected with your headers.
WRITE: create a new task in a list. `name` is required; the list is the {list_id} path param, not a body field. ClickUp REST: POST /list/{list_id}/task.
| Argument | Type | Description |
|---|---|---|
| name* | string | The task name (required). |
| tags | array | Tag names to attach. |
| parent | string | Parent task id — set to create this task as a subtask. |
| status | string | Status name (must be a valid status in the list). |
| list_id* | string | The list id to create the task in (path param, not body). |
| due_date | integer | Due date as Unix time in ms. |
| priority | integer | Task priority: 1=Urgent, 2=High, 3=Normal, 4=Low. |
| assignees | array | User ids to assign the task to (numeric). |
| start_date | integer | Start date as Unix time in ms. |
| description | string | The task description / body text. |
| due_date_time | boolean | Whether due_date carries a time component (else date-only). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"list_id",
"name"
],
"properties": {
"name": {
"type": "string",
"description": "The task name (required)."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tag names to attach."
},
"parent": {
"type": "string",
"description": "Parent task id — set to create this task as a subtask."
},
"status": {
"type": "string",
"description": "Status name (must be a valid status in the list)."
},
"list_id": {
"type": "string",
"description": "The list id to create the task in (path param, not body)."
},
"due_date": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Due date as Unix time in ms."
},
"priority": {
"type": "integer",
"maximum": 4,
"minimum": 1,
"description": "Task priority: 1=Urgent, 2=High, 3=Normal, 4=Low."
},
"assignees": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"description": "User ids to assign the task to (numeric)."
},
"start_date": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Start date as Unix time in ms."
},
"description": {
"type": "string",
"description": "The task description / body text."
},
"due_date_time": {
"type": "boolean",
"description": "Whether due_date carries a time component (else date-only)."
}
}
}WRITE: add a comment to a task. `comment_text` is required; the task is the {task_id} path param. ClickUp REST: POST /task/{task_id}/comment.
| Argument | Type | Description |
|---|---|---|
| task_id* | string | The task id to comment on (path param, not body). |
| assignee | integer | User id to assign the comment to (numeric). |
| notify_all | boolean | If true, notify everyone tagged/subscribed (else just the assignee). |
| comment_text* | string | The comment text (required). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"task_id",
"comment_text"
],
"properties": {
"task_id": {
"type": "string",
"description": "The task id to comment on (path param, not body)."
},
"assignee": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "User id to assign the comment to (numeric)."
},
"notify_all": {
"type": "boolean",
"description": "If true, notify everyone tagged/subscribed (else just the assignee)."
},
"comment_text": {
"type": "string",
"description": "The comment text (required)."
}
}
}Get the user associated with the current ClickUp API token. ClickUp REST: GET /user.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Get the comments on a list. ClickUp REST: GET /list/{list_id}/comment.
| Argument | Type | Description |
|---|---|---|
| list_id* | string | The list id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"list_id"
],
"properties": {
"list_id": {
"type": "string",
"description": "The list id."
}
}
}Get a single task by id. ClickUp REST: GET /task/{task_id}.
| Argument | Type | Description |
|---|---|---|
| task_id* | string | The task id. |
| include_subtasks | boolean | Include the task's subtasks (serialized true/false). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"task_id"
],
"properties": {
"task_id": {
"type": "string",
"description": "The task id."
},
"include_subtasks": {
"type": "boolean",
"description": "Include the task's subtasks (serialized true/false)."
}
}
}Get the comments on a task. ClickUp REST: GET /task/{task_id}/comment.
| Argument | Type | Description |
|---|---|---|
| task_id* | string | The task id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"task_id"
],
"properties": {
"task_id": {
"type": "string",
"description": "The task id."
}
}
}Get the tasks in a list, with optional filters and pagination. ClickUp REST: GET /list/{list_id}/task.
| Argument | Type | Description |
|---|---|---|
| page | integer | 0-indexed page number for pagination. |
| list_id* | string | The list id. |
| reverse | boolean | Reverse the sort order (serialized true/false). |
| archived | boolean | Include archived items — serialized as archived=true/false. Default false. |
| order_by | string | Sort field, e.g. 'created', 'updated', 'due_date', 'id'. |
| statuses | array | Filter by status names (repeated statuses[] params), e.g. ["open","in progress"]. |
| subtasks | boolean | Include subtasks (serialized true/false). |
| assignees | array | Filter by assignee user ids (repeated assignees[] params). |
| due_date_gt | integer | Only tasks due after this Unix time in ms. |
List the lists that live directly in a space (not inside a folder). ClickUp REST: GET /space/{space_id}/list.
| Argument | Type | Description |
|---|---|---|
| archived | boolean | Include archived items — serialized as archived=true/false. Default false. |
| space_id* | string | The space id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"space_id"
],
"properties": {
"archived": {
"type": "boolean",
"description": "Include archived items — serialized as archived=true/false. Default false."
},
"space_id": {
"type": "string",
"description": "The space id."
}
}
}List folders in a space. ClickUp REST: GET /space/{space_id}/folder.
| Argument | Type | Description |
|---|---|---|
| archived | boolean | Include archived items — serialized as archived=true/false. Default false. |
| space_id* | string | The space id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"space_id"
],
"properties": {
"archived": {
"type": "boolean",
"description": "Include archived items — serialized as archived=true/false. Default false."
},
"space_id": {
"type": "string",
"description": "The space id."
}
}
}List the lists inside a folder. ClickUp REST: GET /folder/{folder_id}/list.
| Argument | Type | Description |
|---|---|---|
| archived | boolean | Include archived items — serialized as archived=true/false. Default false. |
| folder_id* | string | The folder id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"folder_id"
],
"properties": {
"archived": {
"type": "boolean",
"description": "Include archived items — serialized as archived=true/false. Default false."
},
"folder_id": {
"type": "string",
"description": "The folder id."
}
}
}List spaces in a workspace (team). ClickUp REST: GET /team/{team_id}/space.
| Argument | Type | Description |
|---|---|---|
| team_id* | string | The workspace (team) id. |
| archived | boolean | Include archived items — serialized as archived=true/false. Default false. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"team_id"
],
"properties": {
"team_id": {
"type": "string",
"description": "The workspace (team) id."
},
"archived": {
"type": "boolean",
"description": "Include archived items — serialized as archived=true/false. Default false."
}
}
}List the workspaces (the ClickUp API calls these "teams") the token can access — their ids are the team_id used by other tools. ClickUp REST: GET /team.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Search/filter tasks across a whole workspace (team), optionally scoped to spaces/folders/lists. ClickUp's "Get Filtered Team Tasks". ClickUp REST: GET /team/{team_id}/task.
| Argument | Type | Description |
|---|---|---|
| page | integer | 0-indexed page number for pagination. |
| reverse | boolean | Reverse the sort order (serialized true/false). |
| team_id* | string | The workspace (team) id. |
| list_ids | array | Restrict to these list ids (repeated list_ids[] params). |
| order_by | string | Sort field, e.g. 'created', 'updated', 'due_date', 'id'. |
| statuses | array | Filter by status names (repeated statuses[] params), e.g. ["open","in progress"]. |
| assignees | array | Filter by assignee user ids (repeated assignees[] params). |
| space_ids | array | Restrict to these space ids (repeated space_ids[] params). |
| due_date_gt |
WRITE: update fields on an existing task. Only the fields you pass are changed. ClickUp REST: PUT /task/{task_id}.
| Argument | Type | Description |
|---|---|---|
| name | string | New task name. |
| parent | string | Parent task id (re-parent as a subtask). |
| status | string | New status name (must be valid for the list). |
| task_id* | string | The task id to update (path param, not body). |
| archived | boolean | Archive (true) or unarchive (false) the task. |
| due_date | integer | Due date as Unix time in ms. |
| priority | integer | Task priority: 1=Urgent, 2=High, 3=Normal, 4=Low. |
| start_date | integer | Start date as Unix time in ms. |
| description | string | New task description / body text. |
| due_date_time |
| due_date_lt | integer | Only tasks due before this Unix time in ms. |
| include_closed | boolean | Include closed tasks (serialized true/false). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"list_id"
],
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "0-indexed page number for pagination."
},
"list_id": {
"type": "string",
"description": "The list id."
},
"reverse": {
"type": "boolean",
"description": "Reverse the sort order (serialized true/false)."
},
"archived": {
"type": "boolean",
"description": "Include archived items — serialized as archived=true/false. Default false."
},
"order_by": {
"type": "string",
"description": "Sort field, e.g. 'created', 'updated', 'due_date', 'id'."
},
"statuses": {
"type": "array",
"items": {
"type": "string"
},
"description": "Filter by status names (repeated statuses[] params), e.g. [\"open\",\"in progress\"]."
},
"subtasks": {
"type": "boolean",
"description": "Include subtasks (serialized true/false)."
},
"assignees": {
"type": "array",
"items": {
"type": "string"
},
"description": "Filter by assignee user ids (repeated assignees[] params)."
},
"due_date_gt": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Only tasks due after this Unix time in ms."
},
"due_date_lt": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Only tasks due before this Unix time in ms."
},
"include_closed": {
"type": "boolean",
"description": "Include closed tasks (serialized true/false)."
}
}
}| integer |
| Only tasks due after this Unix time in ms. |
| due_date_lt | integer | Only tasks due before this Unix time in ms. |
| project_ids | array | Restrict to these folder/project ids (repeated project_ids[] params). |
| include_closed | boolean | Include closed tasks (serialized true/false). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"team_id"
],
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "0-indexed page number for pagination."
},
"reverse": {
"type": "boolean",
"description": "Reverse the sort order (serialized true/false)."
},
"team_id": {
"type": "string",
"description": "The workspace (team) id."
},
"list_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Restrict to these list ids (repeated list_ids[] params)."
},
"order_by": {
"type": "string",
"description": "Sort field, e.g. 'created', 'updated', 'due_date', 'id'."
},
"statuses": {
"type": "array",
"items": {
"type": "string"
},
"description": "Filter by status names (repeated statuses[] params), e.g. [\"open\",\"in progress\"]."
},
"assignees": {
"type": "array",
"items": {
"type": "string"
},
"description": "Filter by assignee user ids (repeated assignees[] params)."
},
"space_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Restrict to these space ids (repeated space_ids[] params)."
},
"due_date_gt": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Only tasks due after this Unix time in ms."
},
"due_date_lt": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Only tasks due before this Unix time in ms."
},
"project_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Restrict to these folder/project ids (repeated project_ids[] params)."
},
"include_closed": {
"type": "boolean",
"description": "Include closed tasks (serialized true/false)."
}
}
}| boolean |
| Whether due_date carries a time component (else date-only). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"task_id"
],
"properties": {
"name": {
"type": "string",
"description": "New task name."
},
"parent": {
"type": "string",
"description": "Parent task id (re-parent as a subtask)."
},
"status": {
"type": "string",
"description": "New status name (must be valid for the list)."
},
"task_id": {
"type": "string",
"description": "The task id to update (path param, not body)."
},
"archived": {
"type": "boolean",
"description": "Archive (true) or unarchive (false) the task."
},
"due_date": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Due date as Unix time in ms."
},
"priority": {
"type": "integer",
"maximum": 4,
"minimum": 1,
"description": "Task priority: 1=Urgent, 2=High, 3=Normal, 4=Low."
},
"start_date": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Start date as Unix time in ms."
},
"description": {
"type": "string",
"description": "New task description / body text."
},
"due_date_time": {
"type": "boolean",
"description": "Whether due_date carries a time component (else date-only)."
}
}
}