Skip to main content
Glama
DiversioTeam

ClickUp MCP Server

by DiversioTeam

list_tasks

Retrieve tasks from ClickUp lists, folders, or spaces with filtering options for status, assignee, and closed tasks.

Instructions

List tasks in a list, folder, or space

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
list_idNoList ID
folder_idNoFolder ID
space_idNoSpace ID
statusesNoFilter by statuses
assigneesNoFilter by assignee IDs
include_closedNoInclude closed tasks

Implementation Reference

  • The core handler function for the
    async def list_tasks(
        self,
        list_id: Optional[str] = None,
        folder_id: Optional[str] = None,
        space_id: Optional[str] = None,
        statuses: Optional[List[str]] = None,
        assignees: Optional[List[int]] = None,
        include_closed: bool = False,
        **kwargs: Any,
    ) -> Dict[str, Any]:
        """List tasks with filters."""
        tasks = await self.client.get_tasks(
            list_id=list_id,
            folder_id=folder_id,
            space_id=space_id,
            statuses=statuses,
            assignees=assignees,
            include_closed=include_closed,
        )
    
        return {
            "tasks": [
                {
                    "id": task.id,
                    "name": task.name,
                    "status": task.status.status,
                    "assignees": [u.username for u in task.assignees],
                    "url": format_task_url(task.id),
                }
                for task in tasks
            ],
            "count": len(tasks),
        }
  • Input schema and description for the list_tasks tool used in MCP tool definitions.
    Tool(
        name="list_tasks",
        description="List tasks in a list, folder, or space",
        inputSchema={
            "type": "object",
            "properties": {
                "list_id": {"type": "string", "description": "List ID"},
                "folder_id": {"type": "string", "description": "Folder ID"},
                "space_id": {"type": "string", "description": "Space ID"},
                "statuses": {
                    "type": "array",
                    "items": {"type": "string"},
                    "description": "Filter by statuses",
                },
                "assignees": {
                    "type": "array",
                    "items": {"type": "integer"},
                    "description": "Filter by assignee IDs",
                },
                "include_closed": {
                    "type": "boolean",
                    "description": "Include closed tasks",
                },
            },
        },
    ),
  • Internal registration of all tools including list_tasks in the ClickUpTools class _tools dictionary, used for dispatching tool calls.
    self._tools: Dict[str, Callable] = {
        "create_task": self.create_task,
        "get_task": self.get_task,
        "update_task": self.update_task,
        "delete_task": self.delete_task,
        "list_tasks": self.list_tasks,
        "search_tasks": self.search_tasks,
        "get_subtasks": self.get_subtasks,
        "get_task_comments": self.get_task_comments,
        "create_task_comment": self.create_task_comment,
        "get_task_status": self.get_task_status,
        "update_task_status": self.update_task_status,
        "get_assignees": self.get_assignees,
        "assign_task": self.assign_task,
        "list_spaces": self.list_spaces,
        "list_folders": self.list_folders,
        "list_lists": self.list_lists,
        "find_list_by_name": self.find_list_by_name,
        # Bulk operations
        "bulk_update_tasks": self.bulk_update_tasks,
        "bulk_move_tasks": self.bulk_move_tasks,
        # Time tracking
        "get_time_tracked": self.get_time_tracked,
        "log_time": self.log_time,
        # Templates
        "create_task_from_template": self.create_task_from_template,
        "create_task_chain": self.create_task_chain,
        # Analytics
        "get_team_workload": self.get_team_workload,
        "get_task_analytics": self.get_task_analytics,
        # User management
        "list_users": self.list_users,
        "get_current_user": self.get_current_user,
        "find_user_by_name": self.find_user_by_name,
    }
  • MCP server handler for listing tools, which returns the tool definitions including list_tasks.
    @self.server.list_tools()
    async def list_tools() -> List[Tool]:
        """List all available tools."""
        return self.tools.get_tool_definitions()

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/DiversioTeam/clickup-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server