Skip to content

BuildAppolis/clickmongrel-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

43 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

ClickMongrel - ClickUp MCP Server for Claude Code

Documentation License MCP Claude Code

โš ๏ธ IMPORTANT: This MCP server is specifically optimized for Claude Code and requires it to function. It will NOT work with standard Claude or other AI assistants.

A Model Context Protocol (MCP) server that seamlessly integrates Claude Code's TodoWrite with ClickUp, providing automatic task synchronization, commit tracking, time management, and comprehensive project tracking.

๐Ÿ“š View Full Documentation

๐Ÿ“‹ Prerequisites

This MCP server REQUIRES:

  • โœ… Claude Code (Desktop App) - Download here
  • โœ… Node.js 18+
  • โœ… ClickUp account with API access
  • โœ… pnpm package manager

Will NOT work with:

  • โŒ Standard Claude (web interface)
  • โŒ Claude API
  • โŒ Other AI assistants

๐Ÿš€ Features

Core Functionality

  • ๐Ÿ”„ Automatic TodoWrite Sync - Tasks created in Claude automatically sync to ClickUp
  • ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ Parent-Child Task Relationships - Subtasks with automatic parent status management
  • โฑ๏ธ Time Tracking - Automatic time tracking when tasks complete
  • ๐Ÿ“ Commit Linking - Links completed tasks to their commits
  • ๐Ÿ“Ž Attachment Support - Upload screenshots, demos, and files to tasks
  • ๐Ÿ‘ค Auto-Assignment - Tasks automatically assigned to configured user
  • ๐Ÿ“Š Status Lifecycle - Tracks tasks through custom ClickUp statuses
  • ๐ŸŽฏ Goal Management - Track project goals and progress
  • ๐Ÿ“ˆ Report Generation - Daily and weekly development reports

Enhanced Features (NEW)

  • Smart Time Tracking - Automatically tracks time from task start to completion
  • Task-Commit Relationships - Links tasks to the commits that complete them
  • Attachment Uploads - Add screenshots and demos to showcase functionality
  • Parent Task Auto-Completion - Parent tasks auto-complete when all subtasks finish

๐Ÿ“‹ Prerequisites

  1. ClickUp Account with API access
  2. Claude Code with MCP support
  3. Node.js 18+ and pnpm
  4. ClickUp API Key - Get from ClickUp Settings โ†’ Apps โ†’ API Token

๐Ÿ› ๏ธ Installation

Option 1: From GitHub (Recommended)

# Clone the repository
git clone https://github.com/yourusername/clickmongrel.git
cd clickmongrel

# Install dependencies
pnpm install

# Build the project
pnpm run build

# Test connection
CLICKUP_API_KEY="your_api_key" node dist/cli.js test

Option 2: NPM Global Install (Coming Soon)

npm install -g @clickmongrel/mcp-server

โš™๏ธ Setup

Quick Setup (AI-Friendly)

When using Claude with ClickMongrel, just say:

  • "setup clickmongrel with [Your Workspace Name]"
  • "setup clickmongrel in [workspace] in [space name]"

Manual Setup

# Basic setup - uses default "Agentic Development" space
node dist/quick-setup.js --workspace "Your Workspace Name"

# Setup with specific space
node dist/quick-setup.js --workspace "Your Workspace" --space-name "Custom Space"

# Setup with space ID (faster)
node dist/quick-setup.js --workspace "Your Workspace" --space-id "90139256288"

๐Ÿ”Œ MCP Integration

Adding to Claude Code

# Add the MCP server (NEVER put API key in config files!)
claude mcp add clickmongrel \
  --env CLICKUP_API_KEY="your_api_key_here" \
  -- node /absolute/path/to/clickmongrel/dist/index.js

# Verify it's connected
claude mcp list

# In Claude Code, check status
/mcp

Available MCP Tools

Tool Description Example Usage
sync_todos Sync TodoWrite items to ClickUp Automatic when using TodoWrite
add_attachment Upload files to tasks "Add screenshot to this task"
create_goal Create project goals "Create goal for authentication feature"
link_commit Link commits to tasks Automatic on commit
generate_report Create status reports "Generate weekly report"
validate_statuses Check ClickUp configuration "Validate clickup statuses"

๐Ÿ“ Project Structure

your-project/
โ””โ”€โ”€ .claude/
    โ””โ”€โ”€ clickup/
        โ”œโ”€โ”€ config.json           # Workspace & list IDs (NO API KEYS!)
        โ”œโ”€โ”€ STATUS_SETUP_GUIDE.md # Instructions for ClickUp setup
        โ”œโ”€โ”€ templates/            # Commit message templates
        โ”œโ”€โ”€ reports/              # Generated reports
        โ””โ”€โ”€ cache/                # Temporary cache

โš ๏ธ CRITICAL: ClickUp Status Configuration

The system will NOT work until you configure custom statuses in ClickUp!

Required Task Statuses

  1. Go to ClickUp โ†’ Your Space โ†’ Tasks list
  2. Click โ‹ฎ menu โ†’ "Edit statuses"
  3. Choose "Custom statuses"
  4. Add these EXACT statuses:
    • to do
    • future
    • in progress
    • fixing
    • completed

Required Commit Statuses

  1. Go to ClickUp โ†’ Your Space โ†’ Commits list
  2. Click โ‹ฎ menu โ†’ "Edit statuses"
  3. Add these EXACT statuses:
    • comitted
    • developing
    • prototyping
    • rejected
    • production/testing
    • production/final

๐ŸŽฏ Usage Examples

Basic Task Management

// Claude TodoWrite automatically syncs
TodoWrite([
  { id: "task-1", content: "Setup database", status: "pending" },
  { id: "task-2", content: "Create API", status: "in_progress" }
])

Parent-Child Tasks

// Create tasks with subtasks
TodoWrite([
  { id: "feature", content: "User Authentication", status: "pending" },
  { id: "sub-1", content: "Login form", status: "pending", parent_id: "feature" },
  { id: "sub-2", content: "JWT tokens", status: "pending", parent_id: "feature" }
])
// Parent auto-updates to "in_progress" when subtask starts
// Parent auto-completes when all subtasks complete

Enhanced Features

// Time tracking (automatic)
// When task goes from in_progress โ†’ completed, time is tracked

// Add attachments
mcp.add_attachment({
  task_id: "task-1",
  file_path: "/path/to/screenshot.png",
  file_name: "Dashboard Screenshot"
})

// Tasks automatically link to commits that complete them

๐Ÿ”ง Configuration

Environment Variables

CLICKUP_API_KEY=pk_xxx          # Your ClickUp API key (REQUIRED)
CLICKUP_WORKSPACE_ID=xxx         # Optional: Default workspace
CLICKUP_SPACE_ID=xxx            # Optional: Default space
LOG_LEVEL=info                  # Logging level (debug|info|warn|error)

Security Best Practices

โš ๏ธ NEVER store API keys in:

  • Config files (.json, .env)
  • Git repositories
  • Project directories

โœ… ALWAYS pass API keys via:

  • --env flag when adding MCP
  • Environment variables at runtime
  • Claude Code's secure storage

๐Ÿ“Š Features in Detail

Time Tracking

  • Automatically starts when task status โ†’ in_progress
  • Stops and records time when status โ†’ completed
  • Updates ClickUp with actual time spent

Commit Linking

  • Each commit creates a task in Commits list
  • Completed tasks link to their final commit
  • Full development traceability

Attachment Support

  • Upload screenshots, documents, or any file
  • Claude can prompt: "Would you like to add a screenshot?"
  • Files attached directly to ClickUp tasks

Parent Task Management

  • Parent tasks auto-update based on subtasks
  • Status flows: pending โ†’ in_progress โ†’ completed
  • Automatic completion when all subtasks done

๐Ÿ› Troubleshooting

"Status validation failed"

  • Configure custom statuses in ClickUp (see Status Configuration above)
  • Run clickmongrel check-statuses to verify

"No list ID available"

  • Run setup again: node dist/quick-setup.js --workspace "Your Workspace"

"Invalid API key"

  • Check API key is correct
  • Ensure it's passed via --env flag, not in config files

Tasks not syncing

  1. Check statuses are configured
  2. Verify API key is set
  3. Ensure workspace/space are correct
  4. Check logs: LOG_LEVEL=debug node dist/index.js

๐Ÿค Contributing

Contributions welcome! Please:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

๐Ÿ“„ License

MIT License - See LICENSE file for details

๐Ÿ”— Links

๐Ÿ’ก Tips for Claude Users

  1. Let Claude handle setup: Just tell Claude your workspace name
  2. Use natural language: "Create a goal for this feature"
  3. TodoWrite integration: Automatic - just use TodoWrite normally
  4. Ask for attachments: Claude can prompt for screenshots
  5. Check progress: "Show sync status" or "Validate statuses"

๐Ÿšจ Important Notes

  • This is a PUBLIC project - never reference specific workspaces in code
  • API keys must NEVER be stored in project files
  • Always use environment variables for sensitive data
  • Configure ClickUp statuses before first use

Built for developers using Claude Code with ClickUp integration needs

About

ClickUp MCP Server for Optimized for Claude Code - Seamless task sync, time tracking, and project management.

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published