@taazkareem/clickup-mcp-server 0.2.4 → 0.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,36 @@
1
+ # Use a Node.js base image
2
+ FROM node:18-alpine AS builder
3
+
4
+ # Set the working directory
5
+ WORKDIR /app
6
+
7
+ # Copy package files and TypeScript config
8
+ COPY package.json package-lock.json tsconfig.json ./
9
+
10
+ # Copy the source files
11
+ COPY src/ ./src/
12
+
13
+ # Install dependencies and build
14
+ RUN npm install
15
+ RUN npm run build
16
+
17
+ # Use a smaller image for the runtime
18
+ FROM node:18-alpine AS runtime
19
+
20
+ # Set the working directory
21
+ WORKDIR /app
22
+
23
+ # Copy the build output and node_modules from the builder stage
24
+ COPY --from=builder /app/build ./build
25
+ COPY --from=builder /app/node_modules ./node_modules
26
+ COPY --from=builder /app/package.json ./
27
+
28
+ # Set environment variables (these will be overridden by Smithery)
29
+ ENV CLICKUP_API_KEY=placeholder
30
+ ENV CLICKUP_TEAM_ID=placeholder
31
+
32
+ # Expose the port if needed
33
+ EXPOSE 8080
34
+
35
+ # Define the command to run the application
36
+ CMD ["node", "build/index.js"]
package/LICENSE CHANGED
@@ -19,3 +19,9 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
19
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
20
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
21
  SOFTWARE.
22
+
23
+ Disclaimer: This software makes use of third-party APIs and may reference trademarks
24
+ or brands owned by third parties. The use of such APIs or references does not imply
25
+ any affiliation with or endorsement by the respective companies. All trademarks and
26
+ brand names are the property of their respective owners. This project is an independent
27
+ work and is not officially associated with or sponsored by any third-party company mentioned.
package/README.md CHANGED
@@ -1,4 +1,6 @@
1
- # ClickUp MCP Server
1
+ <img src="https://clickup.com/assets/brand/logo-v3-clickup-dark.svg" alt="ClickUp" height="40" style="vertical-align: middle; margin-top: -4px;">
2
+
3
+ # MCP Server
2
4
 
3
5
  A Model Context Protocol (MCP) server for integrating ClickUp tasks with AI applications. This server allows AI agents to interact with ClickUp tasks, spaces, lists, and folders through a standardized protocol.
4
6
 
@@ -22,30 +24,31 @@ npx -y @taazkareem/clickup-mcp-server \
22
24
  ## Features
23
25
 
24
26
  - 🎯 **Task Management**
25
- - Create, update, and delete tasks
26
- - Move and duplicate tasks between lists, spaces, and folders
27
- - Bulk task operations
28
- - Task details
27
+ - Create, update, and delete individual tasks
28
+ - Move and duplicate tasks between lists, spaces, and folders
29
+ - Create multiple tasks in bulk
30
+ - View and modify task details and properties
29
31
 
30
32
  - 📂 **Workspace Organization**
31
- - Hierarchical tree structure with clear relationships
32
- - Efficient navigation with path tracking
33
- - List and folder management in spaces
34
- - Smart caching to reduce API calls
35
- - Name/ID-based item lookup
36
-
37
-
38
- - 🔄 **Smart Integration**
39
- - Case-insensitive name lookups
40
- - Markdown support
41
- - Automatic rate limiting
42
- - Error handling
43
-
44
- - 🤖 **AI Assistance**
45
- - Task analysis and insights
46
- - Status summaries and priorities
47
- - Description assistance
48
- - Relationship mapping
33
+ - Navigate complete workspace hierarchy (spaces, folders, lists)
34
+ - Tree structure with clear relationships
35
+ - Create and manage lists and folders
36
+ - Efficient path-based navigation
37
+
38
+ - 🔄 **Integration Features**
39
+ - Name or ID-based item lookup
40
+ - Case-insensitive name matching
41
+ - Markdown formatting support
42
+ - Built-in API rate limiting
43
+ - Comprehensive error handling
44
+ - Clear parameter validation
45
+
46
+ - 🤖 **AI-Powered Analysis**
47
+ - Task status summaries and overviews
48
+ - Priority analysis and recommendations
49
+ - Structured description generation
50
+ - Task relationship mapping
51
+ - Workspace organization insights
49
52
 
50
53
  ## Available Tools
51
54
 
package/build/index.js CHANGED
@@ -57,7 +57,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
57
57
  },
58
58
  {
59
59
  name: "create_task",
60
- description: "Create a new task in ClickUp. Supports direct name-based lookup for lists - no need to know the list ID. -Status will use ClickUp defaults if not specified. If the specified list doesn't exist, you can create it using create_list or create_list_in_folder.",
60
+ description: "Create a new task in ClickUp. Supports direct name-based lookup for lists - no need to know the list ID. Status will use ClickUp defaults if not specified. If the specified list doesn't exist, you can create it using create_list or create_list_in_folder.",
61
61
  inputSchema: {
62
62
  type: "object",
63
63
  properties: {
@@ -71,7 +71,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
71
71
  },
72
72
  name: {
73
73
  type: "string",
74
- description: "Name of the task"
74
+ description: "Name of the task. Put a relevant emoji followed by a blank space before the name."
75
75
  },
76
76
  description: {
77
77
  type: "string",
@@ -87,7 +87,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
87
87
  },
88
88
  priority: {
89
89
  type: "number",
90
- description: "Priority of the task (1-4), 1 is highest priority, 4 is lowest priority. -If not specified, the task will not set a priority."
90
+ description: "Priority of the task (1-4), 1 is urgent/highest priority, 4 is lowest priority. Only set this if priority is explicitly mentioned in the user's request."
91
91
  },
92
92
  dueDate: {
93
93
  type: "string",
@@ -99,7 +99,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
99
99
  },
100
100
  {
101
101
  name: "create_bulk_tasks",
102
- description: "Create multiple tasks in a ClickUp list. Supports direct name-based lookup for lists - no need to know the list ID. -Tasks will use ClickUp default status if not specified. If the specified list doesn't exist, you can create it using create_list or create_list_in_folder.",
102
+ description: "Create multiple tasks in a ClickUp list. Supports direct name-based lookup for lists - no need to know the list ID. Tasks will use ClickUp default status if not specified. If the specified list doesn't exist, you can create it using create_list or create_list_in_folder.",
103
103
  inputSchema: {
104
104
  type: "object",
105
105
  properties: {
@@ -135,7 +135,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
135
135
  },
136
136
  priority: {
137
137
  type: "number",
138
- description: "Priority level (1-4), 1 is highest priority, 4 is lowest priority"
138
+ description: "Priority level (1-4), 1 is urgent/highest priority, 4 is lowest priority. Only set this if priority is explicitly mentioned in the user's request."
139
139
  },
140
140
  dueDate: {
141
141
  type: "string",
@@ -184,7 +184,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
184
184
  },
185
185
  priority: {
186
186
  type: "number",
187
- description: "Priority of the list (1-4)"
187
+ description: "Priority of the list (1-4). Only set this if priority is explicitly mentioned in the user's request."
188
188
  },
189
189
  assignee: {
190
190
  type: "number",
@@ -354,7 +354,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
354
354
  },
355
355
  priority: {
356
356
  type: "number",
357
- description: "New priority of the task (1-4)"
357
+ description: "New priority of the task (1-4). Only set this if priority is explicitly mentioned in the user's request."
358
358
  },
359
359
  dueDate: {
360
360
  type: "string",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taazkareem/clickup-mcp-server",
3
- "version": "0.2.4",
3
+ "version": "0.2.6",
4
4
  "description": "ClickUp MCP Server - Integrate ClickUp tasks with AI through Model Context Protocol",
5
5
  "type": "module",
6
6
  "main": "build/index.js",
@@ -10,7 +10,9 @@
10
10
  "files": [
11
11
  "build",
12
12
  "README.md",
13
- "LICENSE"
13
+ "LICENSE",
14
+ "Dockerfile.smithery",
15
+ "smithery.yaml"
14
16
  ],
15
17
  "scripts": {
16
18
  "build": "tsc && node -e \"require('fs').chmodSync('build/index.js', '755')\"",
package/smithery.yaml ADDED
@@ -0,0 +1,23 @@
1
+ # Smithery configuration file: https://smithery.ai/docs/config#smitheryyaml
2
+
3
+ dockerfile: Dockerfile.smithery
4
+
5
+ startCommand:
6
+ type: stdio
7
+ configSchema:
8
+ # JSON Schema defining the configuration options for the MCP.
9
+ type: object
10
+ required:
11
+ - clickupApiKey
12
+ - clickupTeamId
13
+ properties:
14
+ clickupApiKey:
15
+ type: string
16
+ description: Your ClickUp API key.
17
+ clickupTeamId:
18
+ type: string
19
+ description: Your ClickUp Team ID.
20
+ commandFunction:
21
+ # A function that produces the CLI command to start the MCP on stdio.
22
+ |-
23
+ (config) => ({ command: 'node', args: ['build/index.js'], env: { CLICKUP_API_KEY: config.clickupApiKey, CLICKUP_TEAM_ID: config.clickupTeamId } })