@taazkareem/clickup-mcp-server 0.4.1 → 0.4.3

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.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 taazkareem
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -45,16 +45,11 @@ A Model Context Protocol (MCP) server for integrating ClickUp tasks with AI appl
45
45
 
46
46
  ## Installation
47
47
 
48
- ### Using npx (Recommended)
48
+ ### Using npx
49
49
  ```bash
50
50
  npx @taazkareem/clickup-mcp-server
51
51
  ```
52
52
 
53
- ### Global Installation
54
- ```bash
55
- npm install -g @taazkareem/clickup-mcp-server
56
- ```
57
-
58
53
  ## Configuration
59
54
 
60
55
  1. Get your ClickUp API key from [ClickUp Settings](https://app.clickup.com/settings/apps)
@@ -64,7 +59,7 @@ CLICKUP_API_KEY=your_api_key_here
64
59
  TEAM_ID=your_team_id_here
65
60
  ```
66
61
 
67
- ## Using with Cursor AI Composer
62
+ ## Using with Cursor AI Composer Agent
68
63
 
69
64
  To add this server to Cursor AI Composer, follow these steps:
70
65
 
@@ -72,17 +67,13 @@ To add this server to Cursor AI Composer, follow these steps:
72
67
  2. Add the following command under MCP Servers:
73
68
 
74
69
  ```bash
75
- npx -y @taazkareem/clickup-mcp-server \
70
+ npx -y @taazkareem/clickup-mcp-server --stdio \
76
71
  --env CLICKUP_API_KEY=your_api_key_here \
77
72
  --env TEAM_ID=your_team_id_here
78
73
  ```
79
74
  3. Replace `your_api_key_here` and `your_team_id_here` with your actual ClickUp credentials.
80
75
  4. Click on 'Save' to add the server.
81
76
 
82
- You can get these values from:
83
- - `CLICKUP_API_KEY`: Get from [ClickUp Settings > Apps](https://app.clickup.com/settings/apps)
84
- - `TEAM_ID`: Your ClickUp Team ID (found in the URL when viewing your workspace or via API)
85
-
86
77
  > **Security Note**: Your API key will be stored securely and will not be exposed to AI models.
87
78
 
88
79
  ### Available Tools
package/build/index.js CHANGED
@@ -585,13 +585,12 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
585
585
  if (!args.taskId) {
586
586
  throw new Error("taskId is required");
587
587
  }
588
- const dueDate = args.due_date ? new Date(args.due_date).getTime() : undefined;
589
588
  const task = await clickup.updateTask(args.taskId, {
590
589
  name: args.name,
591
590
  description: args.description,
592
591
  status: args.status,
593
592
  priority: args.priority,
594
- due_date: dueDate
593
+ due_date: args.due_date
595
594
  });
596
595
  return {
597
596
  content: [{
@@ -659,24 +658,37 @@ server.setRequestHandler(GetPromptRequestSchema, async (request) => {
659
658
  throw error;
660
659
  }
661
660
  });
662
- // Start the server
663
- console.log('Setting up transport...');
664
- const transport = new StdioServerTransport();
665
- // Connect the server to the transport
666
- console.log('Connecting server to transport...');
667
- server.connect(transport).catch(error => {
668
- console.error('Error connecting server to transport:', error);
669
- process.exit(1);
670
- });
671
- // Handle process signals
672
- process.on('SIGINT', () => {
673
- console.log('Received SIGINT. Shutting down...');
674
- transport.close();
675
- });
676
- process.on('SIGTERM', () => {
677
- console.log('Received SIGTERM. Shutting down...');
678
- transport.close();
679
- });
661
+ if (process.argv.includes('--stdio')) {
662
+ console.log('Starting server in stdio mode...');
663
+ // Set up stdio transport
664
+ const transport = new StdioServerTransport();
665
+ // Connect server with better error handling
666
+ server.connect(transport)
667
+ .then(() => {
668
+ console.log('Server connected successfully to stdio transport');
669
+ // Keep the process alive
670
+ process.stdin.resume();
671
+ // Handle process termination
672
+ process.on('SIGINT', () => {
673
+ console.log('Received SIGINT. Shutting down...');
674
+ transport.close();
675
+ process.exit(0);
676
+ });
677
+ process.on('SIGTERM', () => {
678
+ console.log('Received SIGTERM. Shutting down...');
679
+ transport.close();
680
+ process.exit(0);
681
+ });
682
+ })
683
+ .catch(error => {
684
+ console.error('Failed to connect server to transport:', error);
685
+ process.exit(1);
686
+ });
687
+ }
688
+ else {
689
+ console.log('Starting server in standard mode...');
690
+ // Add your non-stdio server initialization here if needed
691
+ }
680
692
  // Prevent unhandled promise rejections from crashing the server
681
693
  process.on('unhandledRejection', (error) => {
682
694
  console.error('Unhandled promise rejection:', error);
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@taazkareem/clickup-mcp-server",
3
- "version": "0.4.1",
3
+ "version": "0.4.3",
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",
7
7
  "bin": {
8
- "clickup-mcp-server": "build/index.js"
8
+ "clickup-mcp-server": "./build/index.js"
9
9
  },
10
10
  "files": [
11
11
  "build",
@@ -15,6 +15,7 @@
15
15
  "scripts": {
16
16
  "build": "tsc && node -e \"require('fs').chmodSync('build/index.js', '755')\"",
17
17
  "start": "node build/index.js",
18
+ "serve": "node build/index.js --stdio",
18
19
  "dev": "tsc -w",
19
20
  "prepare": "npm run build",
20
21
  "prepublishOnly": "npm test",