@smartassid/smartass-mcp
v0.2.3
Published
SmartAss local stdio MCP server for ClickUp personal API tokens.
Readme
SmartAss ClickUp MCP
Local stdio MCP server for Claude Desktop on macOS/Windows. It uses a user's ClickUp personal API token and calls the ClickUp API directly from the user's machine.
No hosting is required. No OAuth, database, public URL, or middleware server is required.
Install: Claude Desktop Config
After publishing/installing the package, add this to Claude Desktop's MCP config:
{
"mcpServers": {
"clickup": {
"command": "npx",
"args": ["-y", "@smartassid/[email protected]"],
"env": {
"CLICKUP_API_TOKEN": "pk_your_personal_clickup_token",
"CLICKUP_DEFAULT_WORKSPACE_ID": "company_workspace_id",
"MAX_SEARCH_PAGES": "100",
"MAX_SEARCH_TASKS": "10000",
"CLICKUP_ATTACHMENT_ALLOWED_DIRS": "/Users/you/Downloads:/Users/you/Documents/ClickUp Uploads"
}
}
}
}For local development without publishing:
{
"mcpServers": {
"clickup": {
"command": "node",
"args": ["/Users/kosta/dev/clickup_mcp/dist/index.js"],
"env": {
"CLICKUP_API_TOKEN": "pk_your_personal_clickup_token",
"CLICKUP_DEFAULT_WORKSPACE_ID": "company_workspace_id",
"MAX_SEARCH_PAGES": "100",
"MAX_SEARCH_TASKS": "10000",
"CLICKUP_ATTACHMENT_ALLOWED_DIRS": "/Users/you/Downloads:/Users/you/Documents/ClickUp Uploads"
}
}
}
}Allowed MCP Actions
This MCP exposes official-style clickup_* tool names for the configured Workspace:
| Area | Tools |
| --- | --- |
| Search and hierarchy | clickup_search, clickup_get_workspace_hierarchy, clickup_get_workspace_tasks, clickup_get_list_tasks |
| Tasks | clickup_create_task, clickup_get_task, clickup_update_task, clickup_create_bulk_tasks, clickup_update_bulk_tasks, clickup_add_dependency, clickup_delete_dependency |
| Comments and files | clickup_get_task_comments, clickup_create_task_comment, clickup_attach_task_file |
| Time tracking | clickup_get_task_time_entries, clickup_start_time_tracking, clickup_stop_time_tracking, clickup_add_time_entry, clickup_get_current_time_entry |
| Lists and folders | clickup_create_list, clickup_create_list_in_folder, clickup_get_list, clickup_update_list, clickup_create_folder, clickup_get_folder, clickup_update_folder |
| Tags | clickup_add_tag_to_task, clickup_remove_tag_from_task |
| Members | clickup_get_workspace_members, clickup_find_member_by_name, clickup_resolve_assignees |
| Chat | clickup_get_chat_channels, clickup_send_chat_message |
| Docs | clickup_create_document, clickup_list_document_pages, clickup_get_document_pages, clickup_create_document_page, clickup_update_document_page |
The MCP still does not expose a generic call_clickup_api, task deletion, task moving, or goal tools.
Development
pnpm install
pnpm build
pnpm testRun locally:
CLICKUP_API_TOKEN=pk_your_token pnpm devClaude Desktop communicates with the process over stdio, so the server must not write normal logs to stdout.
Notes
- ClickUp personal tokens are sent as
Authorization: {personal_token}. clickup_get_list_tasksis the preferred tool when you know the ClickUp List and need all tasks/projects/items from that List.clickup_searchis for keyword discovery, not complete List enumeration.clickup_get_list_tasks,clickup_get_workspace_tasks, andclickup_searchpaginate by default. ClickUp returns up to 100 tasks per page, so the defaultMAX_SEARCH_PAGES=100andMAX_SEARCH_TASKS=10000fetches up to 10,000 matching tasks before reportingtruncated: true.- If
CLICKUP_DEFAULT_WORKSPACE_IDis omitted and the token has access to exactly one Workspace, workspace-scoped tools infer it. - If the token has access to multiple Workspaces, set
CLICKUP_DEFAULT_WORKSPACE_IDin the MCP config or passworkspace_idin the tool call. clickup_attach_task_fileis disabled untilCLICKUP_ATTACHMENT_ALLOWED_DIRSis configured. Use a path-list separated by your OS path delimiter::on macOS/Linux,;on Windows.- Attachment uploads reject hidden paths, key-like filenames, non-regular files, files outside the allowed directories, and files larger than
CLICKUP_ATTACHMENT_MAX_BYTES(default 25 MB, max 100 MB).
