clickup mcp server
An enhanced Model Context Protocol server that enables AI assistants to interact with ClickUp workspaces, supporting task relationships, comments, checklists, and workspace management through natural language.
An enhanced Model Context Protocol server that enables AI assistants to interact with ClickUp workspaces, supporting task relationships, comments, checklists, and workspace management through natural language.
This is an enhanced version of the ClickUp MCP Server originally created by TaazKareem.
This fork adds new features and improves the architecture of the original ClickUp MCP Server:
Remove dependencies when they're no longer needed
Task Links: Connect related tasks without creating dependencies
Remove links when they're no longer relevant
Task Tags: Organize tasks with tags
Remove tags from tasks when needed
Comments API: Comprehensive comment management
Delete checklists when no longer needed
Checklist Items: Manage individual items within checklists
We've made the codebase more modular and maintainable:
Improved code organization and maintainability
Type-Driven Development:
Improved code completion and error detection
Tool Integration Layer:
Made adding new tools more straightforward
Deployment Configuration:
The original server provides tools for:
npm install
.env.example
to .env
and add your ClickUp API key and team IDnpm run build
node build/index.js
This repository includes configuration for easy deployment on Railway:
CLICKUP_API_KEY
: Your ClickUp API keyCLICKUP_TEAM_ID
: Your ClickUp team IDThis server can be used with AI assistants that support the Model Context Protocol (MCP). Once connected, the assistant can use all the tools to interact with your ClickUp workspace.
"clickup": {
"command": "curl",
"args": ["-s", "https://your-railway-app-url.railway.app"],
"env": {
"CLICKUP_API_KEY": "your_clickup_api_key_here",
"CLICKUP_TEAM_ID": "your_clickup_team_id_here"
}
}
https://your-railway-app-url.railway.app
with your actual Railway app URLThis server is designed to be easily extensible. Follow these steps to add new ClickUp API tools:
src/types/
):Example: export interface NewToolData { param1: string; param2: number; }
Implement Service Methods (in src/services/
):
Example:
public async newToolMethod(param1: string, param2: number): Promise<any> {
try {
const url = `/some/api/endpoint`;
const response = await this.axiosInstance.post(url, { param1, param2 });
return response.data;
} catch (error) {
console.error('Error in new tool method:', error);
throw error;
}
}
Define Tool Schema (in src/services/clickup-tools-integration.ts
):
Example:
{
name: "new_tool_name",
description: "Description of what the tool does and when to use it",
inputSchema: {
type: "object",
properties: {
param1: {
type: "string",
description: "Description of parameter 1"
},
param2: {
type: "number",
description: "Description of parameter 2"
}
},
required: ["param1"]
}
}
Implement Tool Handler (in src/services/clickup-tools-integration.ts
):
handleRelationshipTool
function (or create a new handler)Example:
case "new_tool_name": {
const data = args as NewToolData;
return await relationshipsService.newToolMethod(
data.param1,
data.param2
);
}
Update the Main Server (if needed, in src/index.ts
):
Let's say you want to add support for ClickUp's Time Tracking API:
src/types/clickup-timetracking.ts
with interfaces for time entriessrc/services/clickup-timetracking.ts
with methods to interact with time tracking endpointssrc/services/clickup-timetracking-integration.ts
with tool definitions and handlerssrc/index.ts
to import and initialize your new service and toolsThis modular approach makes it easy to add new functionality without modifying existing code, following the Open/Closed Principle.
This is your set of directives.
Begin by welcoming the user to the ClickUp MCP Server interactive guide, explaining that you're ready to help them leverage this enhanced integration for AI assistants.
Offer to elaborate on any aspect such as: - How to set up the server locally or deploy it on Railway step by step - How to connect the server to Claude or other AI assistants - How to utilize the task relationship features (dependencies, links, tags) - How to work with the comments API across tasks, lists, and chat views - How to extend the server with new ClickUp API tools
Ask if they need the solution adapted for specific use cases like project management, product development, content calendars, or other workflows.
Keep explanations clear and accessible without overwhelming users with technical details unless requested.
Initiate your task now.
This project is licensed under the MIT License - see the [LICENSE] file for details.