clickup-mcp-server
Version:
A Model Context Protocol (MCP) server that provides a standardized interface for AI assistants to interact with the ClickUp API
160 lines (159 loc) • 4.09 kB
TypeScript
import { ClickUpClient } from './index.js';
export interface Task {
id: string;
name: string;
description?: string;
status?: {
status: string;
color: string;
};
date_created?: string;
date_updated?: string;
date_closed?: string;
creator?: {
id: number;
username: string;
email: string;
};
assignees?: Array<{
id: number;
username: string;
email: string;
}>;
priority?: {
id: string;
priority: string;
color: string;
};
due_date?: string | null;
start_date?: string | null;
time_estimate?: number | null;
time_spent?: number | null;
custom_fields?: Array<any>;
list?: {
id: string;
name: string;
};
folder?: {
id: string;
name: string;
};
space?: {
id: string;
name: string;
};
url: string;
subtasks?: Task[];
parent?: string;
top_level_parent?: string;
}
export interface CreateTaskParams {
name: string;
description?: string;
assignees?: number[];
tags?: string[];
status?: string;
priority?: number;
due_date?: number;
due_date_time?: boolean;
time_estimate?: number;
start_date?: number;
start_date_time?: boolean;
notify_all?: boolean;
parent?: string;
links_to?: string;
check_required_custom_fields?: boolean;
custom_fields?: Array<{
id: string;
value: any;
}>;
}
export interface UpdateTaskParams {
name?: string;
description?: string;
assignees?: number[];
status?: string;
priority?: number;
due_date?: number;
due_date_time?: boolean;
time_estimate?: number;
start_date?: number;
start_date_time?: boolean;
notify_all?: boolean;
parent?: string;
custom_fields?: Array<{
id: string;
value: any;
}>;
}
export interface GetTasksParams {
page?: number;
order_by?: string;
reverse?: boolean;
subtasks?: boolean;
statuses?: string[];
include_closed?: boolean;
assignees?: number[];
due_date_gt?: number;
due_date_lt?: number;
date_created_gt?: number;
date_created_lt?: number;
date_updated_gt?: number;
date_updated_lt?: number;
custom_fields?: Array<{
field_id: string;
operator: string;
value: any;
}>;
}
export declare class TasksClient {
private client;
constructor(client: ClickUpClient);
/**
* Get tasks from a specific list
* @param listId The ID of the list to get tasks from
* @param params Optional parameters for filtering tasks
* @returns A list of tasks
*/
getTasksFromList(listId: string, params?: GetTasksParams): Promise<{
tasks: Task[];
}>;
/**
* Get a specific task by ID
* @param taskId The ID of the task to get
* @param params Optional parameters (include_subtasks)
* @returns The task details
*/
getTask(taskId: string, params?: {
include_subtasks?: boolean;
}): Promise<Task>;
/**
* Create a new task in a list
* @param listId The ID of the list to create the task in
* @param params The task parameters
* @returns The created task
*/
createTask(listId: string, params: CreateTaskParams): Promise<Task>;
/**
* Update an existing task
* @param taskId The ID of the task to update
* @param params The task parameters to update
* @returns The updated task
*/
updateTask(taskId: string, params: UpdateTaskParams): Promise<Task>;
/**
* Delete a task
* @param taskId The ID of the task to delete
* @returns Success message
*/
deleteTask(taskId: string): Promise<{
success: boolean;
}>;
/**
* Get subtasks of a specific task
* @param taskId The ID of the task to get subtasks for
* @returns A list of subtasks
*/
getSubtasks(taskId: string): Promise<Task[]>;
}
export declare const createTasksClient: (client: ClickUpClient) => TasksClient;