Skip to content

Commit 539d1ba

Browse files
committed
feat: Add member management tools and enhance task assignment capabilities
🎯 Major Features Added: - Member Management Tools: get_workspace_members, find_member_by_name, resolve_assignees - Enhanced Task Assignment: Added assignees parameter to update_task and update_bulk_tasks - Time Tracking Tools: Complete time tracking functionality (get_current_time_entry, start_time_tracking, add_time_entry, get_task_time_entries) - SSE Server Transport: Server-Sent Events transport implementation ✅ Member Management: - get_workspace_members: Retrieve all workspace members with details - find_member_by_name: Find members by name or email with fuzzy matching - resolve_assignees: Convert user IDs/emails/names to assignee objects - Full integration with task creation and updates ✅ Enhanced Task Assignment: - Added assignees parameter to update_task and update_bulk_tasks tools - Support for user IDs, emails, or usernames in all assignment operations - Complete assignment workflow: create AND update tasks with assignees - Flexible assignment resolution across all transport types ✅ Time Tracking Tools: - get_current_time_entry: Check active timer status - start_time_tracking: Start timer for tasks - add_time_entry: Add manual time entries - get_task_time_entries: Retrieve task time history - Natural language and timestamp support ✅ SSE Transport: - Server-Sent Events transport implementation - Real-time streaming capabilities - Enhanced client examples and documentation 📚 Documentation Updates: - Updated README with new features and examples - Comprehensive changelog with all improvements - Release notes detailing new capabilities - Updated feature matrix and usage examples 🧪 Testing: - All member management tools tested and verified working - Assignment functionality tested across create/update operations - Time tracking tools implemented (may require workspace configuration) - SSE transport tested and functional This commit represents the authoritative version with all latest improvements.
1 parent a9f035d commit 539d1ba

File tree

10 files changed

+406
-1190
lines changed

10 files changed

+406
-1190
lines changed

README.md

Lines changed: 23 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
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.
88

9-
> 🚀 **Status Update:** v0.8.0 is now available with Server-Sent Events (SSE) transport support for web integrations, plus complete Time Tracking and Document Management features.
9+
> 🚀 **Status Update:** v0.8.0 is now available with HTTP Streamable transport support, Legacy SSE Support, Member Management tools, and more.
1010
1111
## Setup
1212

@@ -59,9 +59,9 @@ Additionally, you can use the `DISABLED_TOOLS` environment variable or `--env DI
5959

6060
Please disable tools you don't need if you are having issues with the number of tools or any context limitations
6161

62-
## Running with HTTP and SSE Transport Support
62+
## Running with HTTP Transport Support
6363

64-
The server supports both modern **Streamable HTTP** transport and legacy **SSE (Server-Sent Events)** transport for backwards compatibility.
64+
The server supports both modern **HTTP Streamable** transport (MCP Inspector compatible) and legacy **SSE (Server-Sent Events)** transport for backwards compatibility.
6565

6666
```json
6767
{
@@ -76,7 +76,7 @@ The server supports both modern **Streamable HTTP** transport and legacy **SSE (
7676
"CLICKUP_API_KEY": "your-api-key",
7777
"CLICKUP_TEAM_ID": "your-team-id",
7878
"ENABLE_SSE": "true",
79-
"PORT": "8000"
79+
"PORT": "3231"
8080
}
8181
}
8282
}
@@ -90,15 +90,15 @@ The server supports both modern **Streamable HTTP** transport and legacy **SSE (
9090
### Command Line Usage
9191

9292
```bash
93-
npx -y @taazkareem/clickup-mcp-server@latest --env CLICKUP_API_KEY=your-api-key --env CLICKUP_TEAM_ID=your-team-id --env ENABLE_SSE=true --env PORT=8000
93+
npx -y @taazkareem/clickup-mcp-server@latest --env CLICKUP_API_KEY=your-api-key --env CLICKUP_TEAM_ID=your-team-id --env ENABLE_SSE=true --env PORT=3231
9494
```
9595

9696
Available configuration options:
9797

9898
| Option | Description | Default |
9999
| ------ | ----------- | ------- |
100-
| `ENABLE_SSE` | Enable the SSE transport | `false` |
101-
| `SSE_PORT` | Port for the SSE server | `3000` |
100+
| `ENABLE_SSE` | Enable the HTTP/SSE transport | `false` |
101+
| `PORT` | Port for the HTTP server | `3231` |
102102
| `ENABLE_STDIO` | Enable the STDIO transport | `true` |
103103

104104
#### n8n Integration
@@ -109,7 +109,7 @@ To integrate with n8n:
109109
2. In n8n, add a new "MCP AI Tool" node
110110
3. Configure the node with:
111111
- Transport: SSE
112-
- Server URL: `http://localhost:3000` (or your server address)
112+
- Server URL: `http://localhost:3231` (or your server address)
113113
- Tools: Select the ClickUp tools you want to use
114114

115115
#### Example Client
@@ -118,7 +118,7 @@ An example SSE client is provided in the `examples` directory. To run it:
118118

119119
```bash
120120
# Start the server with SSE enabled
121-
ENABLE_SSE=true SSE_PORT=3000 npx -y @taazkareem/clickup-mcp-server@latest --env CLICKUP_API_KEY=your-api-key --env CLICKUP_TEAM_ID=your-team-id
121+
ENABLE_SSE=true PORT=3231 npx -y @taazkareem/clickup-mcp-server@latest --env CLICKUP_API_KEY=your-api-key --env CLICKUP_TEAM_ID=your-team-id
122122

123123
# In another terminal, run the example client
124124
cd examples
@@ -134,11 +134,11 @@ npm run sse-client
134134
| ⏱️ **Time Tracking** | 🌳 **Workspace Organization** |
135135
| • View time entries for tasks<br>• Start/stop time tracking on tasks<br>• Add manual time entries<br>• Delete time entries<br>• View currently running timer<br>• Track billable and non-billable time | • Navigate spaces, folders, and lists<br>• Create and manage folders<br>• Organize lists within spaces<br>• Create lists in folders<br>• View workspace hierarchy<br>• Efficient path navigation |
136136
| 📄 **Document Management** | 👥 **Member Management** |
137-
| • Document Listing through all workspace<br>• Document Page listing<br>• Document Page Details<br>• Document Creation<br>• Document page update (append & prepend) | • Find workspace members by name or email<br>• Resolve assignees for tasks<br>• View member details and permissions<br>• Assign tasks to users during creation<br>• Support for user IDs, emails, or usernames<br>• Team-wide user management |
138-
|**Integration Features** | |
139-
| • Global name or ID-based lookups<br>• Case-insensitive matching<br>• Markdown formatting support<br>• Built-in rate limiting<br>• Error handling and validation<br>• Comprehensive API coverage | |
137+
| • Document Listing through all workspace<br>• Document Page listing<br>• Document Page Details<br>• Document Creation<br>• Document page update (append & prepend) | • Find workspace members by name or email<br>• Resolve assignees for tasks<br>• View member details and permissions<br>• Assign tasks to users during creation and updates<br>• Support for user IDs, emails, or usernames<br>• Team-wide user management |
138+
|**Integration Features** | 🏗️ **Architecture & Performance** |
139+
| • Global name or ID-based lookups<br>• Case-insensitive matching<br>• Markdown formatting support<br>• Built-in rate limiting<br>• Error handling and validation<br>• Comprehensive API coverage | **70% codebase reduction** for improved performance<br>• **Unified architecture** across all transport types<br>• **Zero code duplication**<br>• **HTTP Streamable transport** (MCP Inspector compatible)<br>• **Legacy SSE support** for backwards compatibility |
140140

141-
## Available Tools
141+
## Available Tools (36 Total)
142142

143143
| Tool | Description | Required Parameters |
144144
| ------------------------------------------------------------------ | ------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
@@ -194,8 +194,9 @@ See [full documentation](docs/api-reference.md) for optional parameters and adva
194194

195195
## Member Management Tools
196196

197-
When creating tasks, you can now assign users using the `assignees` parameter. The parameter accepts an array of user IDs, emails, or usernames:
197+
When creating or updating tasks, you can assign users using the `assignees` parameter. The parameter accepts an array of user IDs, emails, or usernames:
198198

199+
**Creating tasks with assignees:**
199200
```json
200201
{
201202
"name": "New Task",
@@ -204,6 +205,14 @@ When creating tasks, you can now assign users using the `assignees` parameter. T
204205
}
205206
```
206207

208+
**Updating task assignees:**
209+
```json
210+
{
211+
"taskId": "abc123",
212+
"assignees": ["[email protected]"] // Replace existing assignees
213+
}
214+
```
215+
207216
The member management tools help resolve user references when needed.
208217

209218
## Prompts

changelog.md

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,11 @@
22

33
## Unreleased
44

5-
### 🚀 New Features & Improvements
5+
*No unreleased changes*
6+
7+
## v0.8.0 (2025-06-12)
8+
9+
### 🚀 Major Features & Architectural Improvements
610

711
- **HTTP Streamable Transport Support**:
812
- Added HTTP Streamable transport implementation for modern web-based integrations
@@ -19,22 +23,31 @@
1923
- Web application compatibility
2024
- Multiple client connection support
2125
- Session management for stateful interactions
26+
27+
- **Massive Codebase Refactor & Optimization**:
28+
- **70% total codebase reduction** (1,566 → 466 lines)
29+
- **Eliminated 1,100+ lines of duplicated tool definitions** (89% reduction in SSE server)
2230
- Unified server architecture eliminating code duplication
23-
- 70% codebase reduction through architectural improvements
31+
- Single source of truth for server configuration
32+
- Clean separation between server logic and transport setup
33+
- Improved maintainability and extensibility
2434

2535
- **Member Management Tools**:
26-
- Added `getWorkspaceMembers` - Retrieve all workspace members with details
27-
- Added `findMemberByName` - Find specific members by name or email
28-
- Added `resolveAssignees` - Resolve user IDs/emails to assignee objects
36+
- Added `get_workspace_members` - Retrieve all workspace members with details
37+
- Added `find_member_by_name` - Find specific members by name or email
38+
- Added `resolve_assignees` - Resolve user IDs/emails to assignee objects
2939
- Enhanced task creation with `assignees` parameter for user assignment
40+
- **Enhanced task updating with `assignees` parameter** for both single and bulk operations
41+
- Support for assignees in create, update, and bulk operations (create/update)
3042
- Improved error handling and response formatting for member operations
3143

3244
### 🔄 Repository Updates
3345

3446
- Refactored transport architecture for unified server configuration
35-
- Eliminated 1,100+ lines of duplicated tool definitions
3647
- Enhanced configuration system for transport selection
3748
- Improved imports and code organization for maintainability
49+
- Updated tool schemas to support assignees parameter
50+
- Comprehensive testing across all transport types
3851

3952
## v0.7.2 (2025-04-25)
4053

examples/sse-client.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
*
77
* Usage:
88
* 1. Start the ClickUp MCP Server with SSE enabled:
9-
* ENABLE_SSE=true SSE_PORT=3000 node build/index.js
9+
* ENABLE_SSE=true SSE_PORT=3231 node build/index.js
1010
*
1111
* 2. Run this client:
1212
* node examples/sse-client.js
@@ -21,7 +21,7 @@ const fetch = require('node-fetch');
2121
const EventSource = require('eventsource');
2222

2323
// Configuration
24-
const SERVER_URL = 'http://localhost:3000';
24+
const SERVER_URL = 'http://localhost:3231';
2525
const CLIENT_ID = `client-${Date.now()}`;
2626

2727
// Connect to SSE endpoint

0 commit comments

Comments
 (0)