Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Lightweight ClickUp MCP server - 37 tools, token-optimized (95% smaller responses)
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
CLICKUP_API_TOKENค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"clickup": {
"command": "npx",
"args": [
"-y",
"@cavort-it-systems/clickup-mcp"
],
"env": {
"CLICKUP_API_TOKEN": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add clickup --env CLICKUP_API_TOKEN='ใส่ค่าของคุณ' -- npx -y @cavort-it-systems/clickup-mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"clickup": {
"command": "npx",
"args": [
"-y",
"@cavort-it-systems/clickup-mcp"
],
"env": {
"CLICKUP_API_TOKEN": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"clickup": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@cavort-it-systems/clickup-mcp"
],
"env": {
"CLICKUP_API_TOKEN": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub cvrt-jh ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: CLICKUP_API_TOKEN
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.1.0) เข้า registry 30 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Asset Notation
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Read and maintain an Asset Notation file on disk: net worth, holdings, valuations, CSV import.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Unmaintained. ClickUp is retired at CAVORT (2026-10-18, cutover to Console complete). This server is kept as is and no longer developed.
Lightweight ClickUp MCP server focused on task management. 40 tools with token-optimized responses - API responses automatically slimmed from thousands of characters to essentials.
ClickUp's API returns extremely verbose JSON. This server strips it down:
| Response | Before | After | Reduction |
|---|---|---|---|
clickup_whoami | ~3,500 chars | ~160 chars | 95% |
clickup_create_comment | ~1,500 chars | ~38 chars | 97% |
Less tokens = faster responses, lower costs, more context for your AI.
npm install -g @cavort-it-systems/clickup-mcp
Or run directly:
npx @cavort-it-systems/clickup-mcp
claude mcp add clickup -e CLICKUP_API_TOKEN=your-token -- npx @cavort-it-systems/clickup-mcp
Add to your MCP config (~/.claude.json or Claude Desktop settings):
{
"mcpServers": { "clickup": { "command": "npx", "args": ["@cavort-it-systems/clickup-mcp"], "env": { "CLICKUP_API_TOKEN": "your-token" } } } }
git clone https://github.com/cvrt-jh/clickup-mcp.git
cd clickup-mcp pnpm install && pnpm build
Then configure with the built path:
claude mcp add clickup -e CLICKUP_API_TOKEN=your-token -- node /path/to/clickup-mcp/build/index.js
Every tool that takes a task_id accepts the custom ID as well (DEV-1217), not only the internal one (86caqr85m). The server adds custom_task_ids=true&team_id=... itself. The workspace id comes from CLICKUP_TEAM_ID, or, if unset, from the token's only workspace (looked up once). A token with access to several workspaces must set CLICKUP_TEAM_ID.
CLICKUP_API_TOKENAll responses are automatically trimmed to save tokens. The ClickUp API returns extremely verbose JSON - this server strips it down to what matters.
`clickup_whoami` - from ~3,500 chars to ~160:
// Before (ClickUp API raw)
{"user":{"id":12345678,"username":"Jane Doe","email":"jane@example.com","color":"#0388d1", "profilePicture":"https://attachments.clickup.com/...","initials":"JD", "week_start_day":1,"global_font_support":true,"timezone":"Europe/Berlin"}, "teams":{"teams":[{"id":"99999999","name":"My Workspace","color":"#40BC86", "avatar":"https://attachments2.clickup.com/...?Expires=...&Key-Pair-Id=...&Signature=...", "members":[{"user":{"id":11111111,"username":"Bob Smith","email":"bob@example.com", "color":"#aa2fff","profilePicture":null,"initials":"BS","role":4,"role_subtype":2, "role_key":"guest","custom_role":null,"last_active":"...","date_joined":"...", "date_invited":"..."},"invited_by":{"id":22222222,...}, "can_see_time_spent":true,...}, ...]}]}}
// After (slimmed) {"id":12345678,"username":"Jane Doe","email":"jane@example.com", "timezone":"Europe/Berlin","workspaces":[{"id":"99999999", "name":"My Workspace","member_count":4}]}
`clickup_create_comment` - from ~1,500 chars to 38:
// Before
{"id":90150191300876,"hist_id":"...","date":1770053982842, "version":{"object_type":"comment","object_id":"...","workspace_id":99999999, "operation":"c","data":{"context":{"root_parent_type":1,"is_chat":false, "audit_context":{"userid":12345678,"current_time":...,"route":"*"},...},...},...}}
// After {"id":90150191300876,"date":1770053982842}
What gets stripped:
| Field | Where | Why |
|---|---|---|
features{} | spaces | ~50 lines of boolean flags per space |
sharing{}, permission_level | tasks | Internal access config, not useful |
watchers[] | tasks | Usually same as assignees |
| Full user objects | everywhere | Reduced to {id, username, email} |
profilePicture, initials, color | users | Visual metadata, not useful for LLMs |
version{} blobs | comment/reply creates | Internal versioning data |
invited_by, profileInfo | members | Invitation metadata |
| Pretty-print JSON | all responses | Compact single-line output |
| Empty arrays | tasks | checklists, dependencies, custom_fields omitted when empty |
clickup_whoami - Current user + workspacesclickup_get_spaces - Spaces in workspaceclickup_get_folders - Folders in spaceclickup_get_lists - Lists in folder or spaceclickup_get_list - Single list detailsclickup_create_list - Create list in folder or spaceclickup_delete_list - Delete a list (permanent)clickup_get_task - Get task by IDclickup_create_task - Create task with all fieldsclickup_update_task - Update any task fieldclickup_get_tasks - List tasks in a listclickup_search_tasks - Search tasks across workspaceclickup_set_custom_field - Set custom field valueclickup_get_space_tags - List space tagsclickup_create_space_tag - Create tagclickup_edit_space_tag - Edit tagclickup_delete_space_tag - Delete tagclickup_add_tag_to_task - Tag a taskclickup_remove_tag_from_task - Untag a taskclickup_create_checklist - Create checklistclickup_edit_checklist - Edit checklistclickup_delete_checklist - Delete checklistclickup_create_checklist_item - Add itemclickup_edit_checklist_item - Edit itemclickup_delete_checklist_item - Delete itemclickup_add_dependency - Add dependencyclickup_delete_dependency - Remove dependencyclickup_add_task_link - Link tasksclickup_delete_task_link - Unlink tasksclickup_create_comment - Add commentclickup_get_comments - Get commentsclickup_update_comment - Edit/resolve commentclickup_create_reply - Threaded replyclickup_get_replies - Get repliesclickup_delete_task - Delete a taskclickup_add_task_to_list - Add a task to an additional list (multi-homing)clickup_remove_task_from_list - Remove a task from an additional listThese do not move a task. The ClickUp v2 API has no move-between-lists
endpoint. Verified against the live API 2026-08-12:
POST /list/{list}/task/{task}
adds a secondary location and leaves the home list unchanged, while a
list_id
in
PUT /task/{id}returns HTTP 200 and is silently ignored. To genuinely move a
task and keep its custom ID and history, use the ClickUp web UI (right-click ->
Move). Multi-list membership also requires the paid Tasks-in-Multiple-Lists feature.
clickup_upload_attachment - Upload a local file (screenshot, PDF) to a taskclickup_get_workspace_members - All workspace membersclickup_get_list_members - List-specific memberssrc/
index.ts # Entry: McpServer + StdioServerTransport client.ts # ClickUp API v2 fetch wrapper types.ts # Shared Zod schemas + jsonResult helper slim.ts # Response slimming transformers tools/ navigation.ts # 7 tools tasks.ts # 9 tools (CRUD + custom fields + delete + multi-list) tags.ts # 6 tools checklists.ts # 6 tools dependencies.ts # 4 tools comments.ts # 5 tools members.ts # 2 tools attachments.ts # 1 tool (multipart upload)
MIT