A Model Context Protocol server for ClickUp API interaction and automation.
clickup-mcp-server: A ClickUp MCP Server
Overview
A Model Context Protocol server for ClickUp API interaction and automation. This server provides tools for AI systems to read, create, and update tasks, lists, and spaces in ClickUp.
This MCP server enables AI tools like Claude to interact with your ClickUp workspace, helping automate task management, project planning, and other workflows.
Features
This MCP server provides comprehensive integration with ClickUp, offering the following capabilities:
Task Management
- Create, update, and delete tasks
- Move and duplicate tasks between lists and boards
- Set task properties including due dates, priorities, and tags
- Create, view, and manage subtasks
- Add comments and attachments to tasks
- Support for both single and bulk task operations
- Task grouping and filtering by status
Workspace Organization
- Navigate and manage workspaces, spaces, folders, and lists
- Create, update, and delete spaces and folders
- Organize lists within spaces and folders
- View comprehensive workspace hierarchy
- Navigate efficiently through workspace using path notation
- Create lists in spaces or inside folders
Formatting and Display
- Full markdown support for task descriptions and comments
- HTML conversion for proper rendering in ClickUp
- Formatted display of task details, lists, and hierarchies
- Enhanced display of complex project structures
Developer Experience
- Comprehensive error handling and validation
- Clear, consistent API responses
- Detailed documentation for all tools
- Easy integration with Claude and other AI systems
Tools
The server provides the following tools for interacting with ClickUp:
Workspace/Team Tools
get_workspaces- Gets all workspaces/teams
- Input: None
- Returns: List of workspaces with IDs and names
navigate_workspace- Navigates through workspace hierarchy using path notation
- Input:
path(string): Path through workspace hierarchy (team_id/space_name/folder_name/list_name)
- Returns: Details of the target entity and its full path
Space Tools
get_spaces- Gets all spaces in a workspace
- Input:
workspace_id(string): ID of the workspace/team
- Returns: List of spaces with IDs and names
create_space- Creates a new space in a workspace
- Inputs:
workspace_id(string): ID of the workspace/teamname(string): Name of the new space
- Returns: Details of the created space
get_space_hierarchy- Gets the full hierarchy of a space including folders and lists
- Input:
space_id(string): ID of the space
- Returns: Complete hierarchical structure of the space
Folder Tools
get_folders- Gets all folders in a space
- Input:
space_id(string): ID of the space
- Returns: List of folders with IDs and names
create_folder- Creates a new folder in a space
- Inputs:
space_id(string): ID of the spacename(string): Name of the new folder
- Returns: Details of the created folder
update_folder- Updates a folder's name
- Inputs:
folder_id(string): ID of the folder to updatename(string): New name for the folder
- Returns: Updated folder details
delete_folder- Deletes a folder
- Input:
folder_id(string): ID of the folder to delete
- Returns: Confirmation of deletion
List/Board Tools
get_lists- Gets all lists/boards in a space
- Input:
space_id(string): ID of the space
- Returns: List of lists/boards with IDs and names
create_list- Creates a new list/board in a space or folder
- Inputs:
space_id(string): ID of the spacename(string): Name of the new list/boardfolder_id(string, optional): ID of the folder (if creating list in a folder)
- Returns: Details of the created list/board
organize_lists- Organizes lists by their location (in space or in folders)
- Inputs:
space_id(string): ID of the spacefolder_id(string, optional): ID of a specific folder
- Returns: Lists organized by their containing folder
Task Tools
get_tasks
- Gets all tasks in a list/board
- Input:
list_id(string): ID of the list/board
- Returns: List of tasks with IDs, names, and other details
get_tasks_by_status- Gets tasks with a specific status in a list/board
- Inputs:
list_id(string): ID of the list/boardstatus(string): Status to filter tasks by
- Returns: List of tasks with the specified status
create_task- Creates a new task in a list/board
- Inputs:
list_id(string): ID of the list/boardname(string): Name of the taskdescription(string, optional): Task descriptionpriority(number, optional): Task priority (1-4)due_date(number, optional
Tools (15)
get_workspacesGets all workspaces/teams with their IDs and names.navigate_workspaceNavigates through workspace hierarchy using path notation (team_id/space_name/folder_name/list_name).get_spacesGets all spaces in a specific workspace.create_spaceCreates a new space in a workspace.get_space_hierarchyGets the full hierarchy of a space including folders and lists.get_foldersGets all folders in a space.create_folderCreates a new folder in a space.update_folderUpdates a folder's name.delete_folderDeletes a folder.get_listsGets all lists/boards in a space.create_listCreates a new list/board in a space or folder.organize_listsOrganizes lists by their location in space or in folders.get_tasksGets all tasks in a list/board with IDs and names.get_tasks_by_statusGets tasks with a specific status in a list/board.create_taskCreates a new task in a list/board with optional description and priority.Environment Variables
CLICKUP_API_KEYrequiredPersonal API key for ClickUp authenticationConfiguration
{
"mcpServers": {
"clickup": {
"command": "npx",
"args": [
"-y",
"@imjoshnewton/clickup-mcp-server"
],
"env": {
"CLICKUP_API_KEY": "your_api_key_here"
}
}
}
}