# ClickUp MCP

```json
{
  "name": "ClickUp MCP",
  "slug": "clickup_mcp",
  "url": "https://composio.dev/toolkits/clickup_mcp",
  "markdown_url": "https://composio.dev/toolkits/clickup_mcp.md",
  "logo_url": "https://logos.composio.dev/api/clickup_mcp",
  "categories": [
    "productivity & project management"
  ],
  "is_composio_managed": false,
  "updated_at": "2026-09-01T05:35:15.690Z"
}
```

![ClickUp MCP logo](https://logos.composio.dev/api/clickup_mcp)

## Description

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with ClickUp MCP or direct API to search tasks, update task status, create docs, and log time through natural language.

## Summary

ClickUp MCP is ClickUp's integration exposing workspace tasks, lists, docs, and time-tracking.
It centralizes project data so AI agents can automate workflows and speed up collaboration.

## Categories

- productivity & project management

## Toolkit Details

- Tools: 56

## Images

- Logo: https://logos.composio.dev/api/clickup_mcp

## Authentication

- **Dcr Oauth**
  - Type: `custom`
  - Description: Dcr Oauth authentication for ClickUp MCP.
  - Setup:
    - Configure Dcr Oauth credentials for ClickUp MCP.
    - Use the credentials when creating an auth config in Composio.

## Suggested Prompts

- List open tasks assigned to me
- Create task with due date tomorrow
- Log two hours to task 12345

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `CLICKUP_MCP_CLICKUP_ADD_TAG_TO_TASK` | Clickup add tag to task | Add existing tag to task. Tag must exist in space. Note: Will fail if tag doesn't exist. |
| `CLICKUP_MCP_CLICKUP_ADD_TASK_DEPENDENCY` | Clickup add task dependency | Set a directional dependency where one task blocks the other. Use 'waiting_on' when task_id cannot start until depends_on is done, or 'blocking' when task_id is blocking depends_on. For non-blocking associations, use add_task_link instead. |
| `CLICKUP_MCP_CLICKUP_ADD_TASK_LINK` | Clickup add task link | Link two tasks together. Creates a bidirectional association with no ordering or blocking. For blocking/dependency relationships, use add_task_dependency instead. |
| `CLICKUP_MCP_CLICKUP_ADD_TASK_TO_LIST` | Clickup add task to list | Add a task to an additional list (keeps current home list). Requires the Tasks in Multiple Lists ClickApp to be enabled. |
| `CLICKUP_MCP_CLICKUP_ADD_TIME_ENTRY` | Clickup add time entry | Add a manual time entry to a task. You can provide either (start + duration) OR (start + end). The tool will calculate missing values. Requires task_id, start time, and either duration or end time. Supports description, billable flag, and tags. |
| `CLICKUP_MCP_CLICKUP_ATTACH_TASK_FILE` | Clickup attach task file | Attach file to task. Requires task_id. File sources: 1) base64 + filename (small files under ~200KB only), 2) URL (http/https). For files on the local machine, use request_attachment_upload instead. |
| `CLICKUP_MCP_CLICKUP_CREATE_COMMENT` | Clickup create comment | Create a comment or threaded reply on a task, list, or view. Supports Markdown (headings, bold, code blocks, tables). Use entity_type + entity_id for the target entity. Provide reply_to_id for a threaded reply. |
| `CLICKUP_MCP_CLICKUP_CREATE_DOCUMENT` | Clickup create document | Create a document in a ClickUp space, folder, or list. Requires name, parent info, visibility and create_page flag. |
| `CLICKUP_MCP_CLICKUP_CREATE_DOCUMENT_PAGE` | Clickup create document page | Create a new page in a ClickUp document. |
| `CLICKUP_MCP_CLICKUP_CREATE_FOLDER` | Clickup create folder | Create folder in ClickUp space. Use space_id (preferred) or space_name + folder name. Supports override_statuses for folder-specific statuses. Use clickup_create_list_in_folder to add lists after creation. |
| `CLICKUP_MCP_CLICKUP_CREATE_LIST` | Clickup create list | Create a list in a ClickUp space. Requires name and space_name or space_id. For lists in folders, use clickup_create_list_in_folder. |
| `CLICKUP_MCP_CLICKUP_CREATE_LIST_IN_FOLDER` | Clickup create list in folder | Create a list in a ClickUp folder. Requires folder_id and list name. Supports content and status. If you need to get a folder ID from a folder name, use clickup_get_folder first. |
| `CLICKUP_MCP_CLICKUP_CREATE_REMINDER` | Clickup create reminder | Create a personal reminder in your ClickUp workspace. Requires title and due_date (YYYY-MM-DD or YYYY-MM-DD HH:MM format, uses your timezone). |
| `CLICKUP_MCP_CLICKUP_CREATE_TASK` | Clickup create task | Create a task in a ClickUp list. Requires name and list_id — always ask the user which list. Supports assignees (user IDs, emails, usernames, or "me") and task_type by name. |
| `CLICKUP_MCP_CLICKUP_CREATE_TASK_COMMENT` | Clickup create task comment | [DEPRECATED → clickup_create_comment] Legacy name for creating a task comment, kept for clients with stale tool listings. Prefer the replacement tool; it takes entity_id instead of task_id. |
| `CLICKUP_MCP_CLICKUP_DELETE_COMMENT` | Clickup delete comment | Delete a comment by comment_id. This cannot be undone. Use clickup_get_task_comments or clickup_get_threaded_comments to find the comment ID. |
| `CLICKUP_MCP_CLICKUP_DELETE_TASK` | Clickup delete task | Delete a task by task_id (supports custom IDs like 'DEV-1234'). Always confirm the task_id with the user before deleting. |
| `CLICKUP_MCP_CLICKUP_DOWNLOAD_TASK_ATTACHMENT` | Clickup download task attachment | Download a ClickUp task attachment (get attachment IDs from clickup_get_task with include: ["attachments"]). Returns a short-lived download URL plus attachment metadata. IMPORTANT: the URL is short-lived and, on workspaces with private attachments enabled, single-use — it expires within ~5 minutes. Fetch it immediately and exactly once; do not preview, HEAD-request, retry, or store it. If a download fails or the URL expired, call this tool again for a fresh URL. |
| `CLICKUP_MCP_CLICKUP_FILTER_TASKS` | Clickup filter tasks | Retrieve tasks with combined filters (tags, lists, folders, spaces, statuses, assignees, due date range, completion date range). Multiple values within a filter use OR logic; across filters, AND logic applies. Best for filtering tasks by structured field values. For text/keyword search across all workspace content, use search instead. Results are paginated at 100 tasks per page: the response includes has_more and next_page, and when has_more is true you MUST call again with page set to next_page (repeating until has_more is false) to retrieve every matching task — a single call is not guaranteed to be complete. Assignees must be numeric user IDs — use clickup_resolve_assignees to convert names/emails/"me". Date filters use YYYY-MM-DD. For a single task by ID, use clickup_get_task. |
| `CLICKUP_MCP_CLICKUP_FIND_MEMBER_BY_NAME` | Clickup find member by name | Get a member in the ClickUp workspace by name or email. Returns the member object if found, or null if not found. |
| `CLICKUP_MCP_CLICKUP_GET_BULK_TASKS_TIME_IN_STATUS` | Clickup get bulk tasks time in status | Get the time multiple tasks have spent in each status (bulk operation, up to 100 tasks). Returns a map of task IDs to their status history and current status time data. Requires the "Total time in Status" ClickApp to be enabled in the workspace. |
| `CLICKUP_MCP_CLICKUP_GET_CHAT_CHANNEL_MESSAGES` | Clickup get chat channel messages | Get messages for a chat channel. Messages with has_replies=true have threads fetchable via clickup_get_chat_message_replies. Supports pagination. Channel URLs look like //v/cn/ or //chat/r/. |
| `CLICKUP_MCP_CLICKUP_GET_CHAT_CHANNELS` | Clickup get chat channels | List chat channels in the workspace with pagination support. |
| `CLICKUP_MCP_CLICKUP_GET_CHAT_MESSAGE_REPLIES` | Clickup get chat message replies | Get threaded replies for a chat message by message_id. Supports pagination. Chat thread URLs (//v/cn//t/ or //chat/r//t/) end in a chat message id — pass it here, not to clickup_get_task. That id is usually the thread root but can be a reply inside the thread; if no replies come back, find the thread root via clickup_get_chat_channel_messages on the channel. |
| `CLICKUP_MCP_CLICKUP_GET_CURRENT_TIME_ENTRY` | Clickup get current time entry | Get the currently running time entry, if any. No parameters needed. |
| `CLICKUP_MCP_CLICKUP_GET_CUSTOM_FIELDS` | Clickup get custom fields | Get custom field definitions at any hierarchy level (list, folder, space, or workspace). Returns field IDs, types, and options for dropdowns/labels. Use this to discover available custom fields before setting values on tasks. Multiple scopes can be queried in a single call. |
| `CLICKUP_MCP_CLICKUP_GET_DOCUMENT_PAGES` | Clickup get document pages | Get the full content of specific pages by page ID. Use list_document_pages first to discover available page IDs. |
| `CLICKUP_MCP_CLICKUP_GET_FOLDER` | Clickup get folder | Get folder details by folder_id or folder_name (+ space info). Use to resolve folder names to IDs. |
| `CLICKUP_MCP_CLICKUP_GET_LIST` | Clickup get list | Get list details by list_id or list_name. Returns id, name, content, space info, and configured statuses. Use to resolve list names to IDs. |
| `CLICKUP_MCP_CLICKUP_GET_TASK` | Clickup get task | Retrieve a ClickUp task by ID (supports custom IDs like 'DEV-1234'). Returns a compact summary by default — core fields are always included, large sections appear as counts only (e.g. custom_fields_count: 3). Use include to fetch full data for specific sections: include: ["custom_fields", "description"]. Set expand_statuses=true to list valid statuses for update_task. URL disambiguation: a bare /t/ or /t// ClickUp URL is a task, but in chat thread URLs (/v/cn//t/ or /chat/r//t/) the trailing id is a chat MESSAGE id — use clickup_get_chat_message_replies for those. |
| `CLICKUP_MCP_CLICKUP_GET_TASK_COMMENTS` | Clickup get task comments | Get task comments with reply_count per comment. Use clickup_get_threaded_comments for replies when reply_count > 0. Supports pagination via start/start_id. |
| `CLICKUP_MCP_CLICKUP_GET_TASK_TIME_IN_STATUS` | Clickup get task time in status | Get the time a task has spent in each status. Returns the current status with elapsed time and the full status history with time spent in each status. Requires the "Total time in Status" ClickApp to be enabled in the workspace. |
| `CLICKUP_MCP_CLICKUP_GET_THREADED_COMMENTS` | Clickup get threaded comments | Get threaded replies for a comment by comment_id. Use clickup_get_task_comments first to find comments with reply_count > 0. |
| `CLICKUP_MCP_CLICKUP_GET_TIME_ENTRIES` | Clickup get time entries | Get time entries with optional filtering by task, date range, assignee, and billable status. Pass task_id to scope to a single task, or omit for workspace-wide results. IMPORTANT: without assignee, only the authenticated user's entries are returned — pass 'any' to get all users' entries, or specific user IDs (comma-separated) for targeted queries. |
| `CLICKUP_MCP_CLICKUP_GET_WORKSPACE_HIERARCHY` | Clickup get workspace hierarchy | Get workspace hierarchy (spaces, folders, lists) with pagination and depth control. Use only when you need the workspace structure — most tools resolve names automatically. |
| `CLICKUP_MCP_CLICKUP_GET_WORKSPACE_MEMBERS` | Clickup get workspace members | List all members in the workspace. Most tools resolve assignees automatically — use only when you need the full member list. |
| `CLICKUP_MCP_CLICKUP_LIST_DOCUMENT_PAGES` | Clickup list document pages | List page names and structure of a document (no content). Use get_document_pages to fetch full page content by page ID. |
| `CLICKUP_MCP_CLICKUP_MERGE_TASKS` | Clickup merge tasks | Merge one or more source tasks into a target task. The target task survives and absorbs content from the source tasks, which are consumed. Destination field values take precedence on conflicts. Works with both regular task IDs and custom IDs (like 'DEV-1234'). |
| `CLICKUP_MCP_CLICKUP_MOVE_TASK` | Clickup move task | Move a task to a new home list. Requires task_id and list_id (supports custom IDs). Use clickup_get_list to resolve list names. |
| `CLICKUP_MCP_CLICKUP_REMOVE_TAG_FROM_TASK` | Clickup remove tag from task | Remove tag from task. Only removes tag-task association, tag remains in space. |
| `CLICKUP_MCP_CLICKUP_REMOVE_TASK_DEPENDENCY` | Clickup remove task dependency | Remove a dependency between two tasks. |
| `CLICKUP_MCP_CLICKUP_REMOVE_TASK_FROM_LIST` | Clickup remove task from list | Remove a task from an additional list (cannot remove from home list). Requires the Tasks in Multiple Lists ClickApp to be enabled. |
| `CLICKUP_MCP_CLICKUP_REMOVE_TASK_LINK` | Clickup remove task link | Remove a link between two tasks. |
| `CLICKUP_MCP_CLICKUP_REQUEST_ATTACHMENT_UPLOAD` | Clickup request attachment upload | Get short-lived, structured upload details (upload URL, ticket, HTTP method, and multipart field name) to attach a LOCAL file (any size) to a task; follow the returned instructions to upload it with a native HTTP client. For small base64 payloads or web URLs, use attach_task_file instead. |
| `CLICKUP_MCP_CLICKUP_RESOLVE_ASSIGNEES` | Clickup resolve assignees | Convert names, emails, or "me" to numeric ClickUp user IDs. Use when you need IDs for filters (e.g., search, filter_tasks). Most task tools resolve assignees automatically. |
| `CLICKUP_MCP_CLICKUP_SEARCH` | Clickup search | Search across all workspace content (tasks, docs, dashboards, attachments, whiteboards, chats, forms). Best for keyword/text matching across all content types. For filtering tasks by field values (status, priority, tags, dates), use filter_tasks instead. Supports filtering by assignees, creators, status, location, asset types, and date ranges. Date filters use YYYY-MM-DD or YYYY-MM-DD HH:MM format in your timezone. Results are paginated: the response includes next_cursor whenever more results exist. When next_cursor is present you MUST call search again with that value in the cursor field (repeating until next_cursor is absent) to retrieve every match — a single call is not guaranteed to be complete. |
| `CLICKUP_MCP_CLICKUP_SEARCH_REMINDERS` | Clickup search reminders | Search and list your reminders. Supports filtering by type, status, completion, and since date. Date filters use YYYY-MM-DD or YYYY-MM-DD HH:MM format (e.g., '2025-01-01') in your timezone. Paginated via cursor. |
| `CLICKUP_MCP_CLICKUP_SEND_CHAT_MESSAGE` | Clickup send chat message | Send a message or threaded reply to a chat channel. Provide parent_message_id for threaded replies. Supports markdown and post types. |
| `CLICKUP_MCP_CLICKUP_START_TIME_TRACKING` | Clickup start time tracking | Start time tracking on a task. Supports description, billable status, and tags. Only one timer can be running at a time. For best results, omit extra parameters unless specifically needed. |
| `CLICKUP_MCP_CLICKUP_STOP_TIME_TRACKING` | Clickup stop time tracking | Stop the currently running time tracker. Supports description and tags. Returns the completed time entry details. |
| `CLICKUP_MCP_CLICKUP_UPDATE_COMMENT` | Clickup update comment | Edit an existing comment in place by comment_id. Replaces the comment text (supports Markdown), and can mark it resolved or reassign it. Use clickup_get_task_comments or clickup_get_threaded_comments to find the comment ID. |
| `CLICKUP_MCP_CLICKUP_UPDATE_DOCUMENT_PAGE` | Clickup update document page | Update a page in a ClickUp document. Use content_edit_mode to control how content is applied: append/prepend merge with the existing page server-side and preserve it exactly — no need to read the page first. The default is 'replace', which overwrites the whole page. If appended content should start on its own line, include a leading newline; if prepended content should end on its own line, include a trailing newline. |
| `CLICKUP_MCP_CLICKUP_UPDATE_FOLDER` | Clickup update folder | Update a ClickUp folder. Requires folder_id + at least one update field (name/override_statuses). Only specified fields updated. Changes apply to all lists in folder. If you need to get a folder ID from a folder name, use clickup_get_folder first. |
| `CLICKUP_MCP_CLICKUP_UPDATE_LIST` | Clickup update list | Update a ClickUp list. Requires list_id + at least one update field (name/content/status). Only specified fields updated. If you need to get a list ID from a list name, use clickup_get_list first. |
| `CLICKUP_MCP_CLICKUP_UPDATE_REMINDER` | Clickup update reminder | Update a reminder by reminder_id. Supports title, description, due_date (YYYY-MM-DD or YYYY-MM-DD HH:MM, e.g. '2025-12-31'), and is_completed. |
| `CLICKUP_MCP_CLICKUP_UPDATE_TASK` | Clickup update task | Update task properties. Requires task_id and at least one field to change. Supports assignees (user IDs, emails, usernames, or "me"), custom fields as [{id, value}], and task_type by name (or 'none' to reset). |

## Supported Triggers

None listed.

## Installation and MCP Setup

### Path 1: SDK Installation

#### Path 1, Step 1: Install Composio

Install the Composio SDK
```python
pip install composio_openai
```

```typescript
npm install @composio/openai
```

#### Path 1, Step 2: Initialize Composio and Create Tool Router Session

Import and initialize Composio client, then create a Tool Router session
```python
from openai import OpenAI
from composio import Composio
from composio_openai import OpenAIResponsesProvider

composio = Composio(provider=OpenAIResponsesProvider())
openai = OpenAI()
session = composio.create(user_id='your-user-id')
```

```typescript
import OpenAI from 'openai';
import { Composio } from '@composio/core';
import { OpenAIResponsesProvider } from '@composio/openai';

const composio = new Composio({
  provider: new OpenAIResponsesProvider(),
});
const openai = new OpenAI({});
const session = await composio.create('your-user-id');
```

#### Path 1, Step 3: Execute ClickUp MCP Tools via Tool Router with Your Agent

Get tools from Tool Router session and execute ClickUp MCP actions with your Agent
```python
tools = session.tools
response = openai.responses.create(
  model='gpt-4.1',
  tools=tools,
  input=[{
    'role': 'user',
    'content': 'YOUR_SPECIFIC_PROMPT_HERE'
  }]
)
result = composio.provider.handle_tool_calls(
  response=response,
  user_id='your-user-id'
)
print(result)
```

```typescript
const tools = session.tools;
const response = await openai.responses.create({
  model: 'gpt-4.1',
  tools: tools,
  input: [{
    role: 'user',
    content: 'YOUR_SPECIFIC_PROMPT_HERE'
  }],
});
const result = await composio.provider.handleToolCalls(
  'your-user-id',
  response.output
);
console.log(result);
```

### Path 2: MCP Server Setup

#### Path 2, Step 1: Install Composio

Install the Composio SDK for Python or TypeScript
```python
pip install composio claude-agent-sdk
```

```typescript
npm install @composio/core ai @ai-sdk/openai @ai-sdk/mcp
```

#### Path 2, Step 2: Initialize Client and Create Tool Router Session

Import and initialize the Composio client, then create a Tool Router session for ClickUp MCP
```python
from composio import Composio
from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions

composio = Composio(api_key='your-composio-api-key')
session = composio.create(user_id='your-user-id')
url = session.mcp.url
```

```typescript
import { Composio } from '@composio/core';

const composio = new Composio({ apiKey: 'your-api-key' });
const session = await composio.create('your-user-id');
console.log(`Tool Router session created: ${session.mcp.url}`);
```

#### Path 2, Step 3: Connect to AI Agent

Use the MCP server with your AI agent (Anthropic Claude or Mastra)
```python
import asyncio

options = ClaudeAgentOptions(
    permission_mode='bypassPermissions',
    mcp_servers={
        'tool_router': {
            'type': 'http',
            'url': url,
            'headers': {
                'x-api-key': 'your-composio-api-key'
            }
        }
    },
    system_prompt='You are a helpful assistant with access to ClickUp MCP tools.',
    max_turns=10
)

async def main():
    async with ClaudeSDKClient(options=options) as client:
        await client.query('YOUR_SPECIFIC_PROMPT_HERE')
        async for message in client.receive_response():
            if hasattr(message, 'content'):
                for block in message.content:
                    if hasattr(block, 'text'):
                        print(block.text)

asyncio.run(main())
```

```typescript
import { openai } from '@ai-sdk/openai';
import { experimental_createMCPClient as createMCPClient } from '@ai-sdk/mcp';
import { generateText } from 'ai';

const client = await createMCPClient({
  transport: {
    type: 'http',
    url: session.mcp.url,
    headers: {
      'x-api-key': 'your-composio-api-key',
    },
  },
});

const tools = await client.tools();
const { text } = await generateText({
  model: openai('gpt-4o'),
  tools,
  messages: [{
    role: 'user',
    content: 'YOUR_SPECIFIC_PROMPT_HERE'
  }],
  maxSteps: 5,
});

console.log(`Agent: ${text}`);
```

## Why Use Composio?

### 1. AI Native ClickUp MCP Integration

- Supports both ClickUp MCP and direct API based integrations
- Structured, LLM-friendly schemas for reliable tool execution
- Rich coverage for reading, writing, and querying your ClickUp MCP data

### 2. Managed Auth

- Built-in OAuth handling with automatic token refresh and rotation
- Central place to manage, scope, and revoke ClickUp MCP access
- Per user and per environment credentials instead of hard-coded keys

### 3. Agent Optimized Design

- Tools are tuned using real error and success rates to improve reliability over time
- Comprehensive execution logs so you always know what ran, when, and on whose behalf

### 4. Enterprise Grade Security

- Fine-grained RBAC so you control which agents and users can access ClickUp MCP
- Scoped, least privilege access to ClickUp MCP resources
- Full audit trail of agent actions to support review and compliance

## Use ClickUp MCP with any AI Agent Framework

Choose a framework you want to connect ClickUp MCP with:

- [ChatGPT Work](https://composio.dev/toolkits/clickup_mcp/framework/chatgpt)
- [Claude Cowork](https://composio.dev/toolkits/clickup_mcp/framework/claude-cowork)
- [Hermes](https://composio.dev/toolkits/clickup_mcp/framework/hermes-agent)

## Related Toolkits

- [Google Sheets](https://composio.dev/toolkits/googlesheets) - Google Sheets is a cloud-based spreadsheet tool for real-time collaboration and data analysis. It lets teams work together from anywhere, updating information instantly.
- [Notion](https://composio.dev/toolkits/notion) - Notion is a collaborative workspace for notes, docs, wikis, and tasks. It streamlines team knowledge, project tracking, and workflow customization in one place.
- [Airtable](https://composio.dev/toolkits/airtable) - Airtable combines the flexibility of spreadsheets with the power of a database for easy project and data management. Teams use Airtable to organize, track, and collaborate with custom views and automations.
- [Asana](https://composio.dev/toolkits/asana) - Asana is a collaborative work management platform for teams to organize and track projects. It streamlines teamwork, boosts productivity, and keeps everyone aligned on goals.
- [Google Tasks](https://composio.dev/toolkits/googletasks) - Google Tasks is a to-do list and task management tool integrated into Gmail and Google Calendar. It helps you organize, track, and complete tasks across your Google ecosystem.
- [Linear](https://composio.dev/toolkits/linear) - Linear is a modern issue tracking and project planning tool for fast-moving teams. It helps streamline workflows, organize projects, and boost productivity.
- [Jira](https://composio.dev/toolkits/jira) - Jira is Atlassian’s platform for bug tracking, issue tracking, and agile project management. It helps teams organize work, prioritize tasks, and deliver projects efficiently.
- [Clickup](https://composio.dev/toolkits/clickup) - ClickUp is an all-in-one productivity platform for managing tasks, docs, goals, and team collaboration. It streamlines project workflows so teams can work smarter and stay organized in one place.
- [Monday](https://composio.dev/toolkits/monday) - Monday.com is a customizable work management platform for project planning and collaboration. It helps teams organize tasks, automate workflows, and track progress in real time.
- [Addressfinder](https://composio.dev/toolkits/addressfinder) - Addressfinder is a data quality platform for verifying addresses, emails, and phone numbers. It helps you ensure accurate customer and contact data every time.
- [Agiled](https://composio.dev/toolkits/agiled) - Agiled is an all-in-one business management platform for CRM, projects, and finance. It helps you streamline workflows, consolidate client data, and manage business processes in one place.
- [Amazing Marvin](https://composio.dev/toolkits/amazing_marvin) - Amazing Marvin is a personal productivity app for tasks, projects, habits, planning, time tracking, and rewards. It helps you build a flexible workflow that matches how you actually work.
- [AnyDB](https://composio.dev/toolkits/any_db) - AnyDB is a flexible collaborative database platform for organizing records, files, and automated workflows. It helps teams centralize data, collaborate on records, and automate routine tasks.
- [ApptiveGrid](https://composio.dev/toolkits/apptivegrid) - ApptiveGrid is a collaborative no-code database and app platform for spaces, grids, forms, and structured records. It helps teams organize operational data, collect inputs, and build lightweight business apps without custom backend work.
- [Ascora](https://composio.dev/toolkits/ascora) - Ascora is a cloud-based field service management platform for service businesses. It streamlines scheduling, invoicing, and customer operations in one place.
- [Atlassian MCP](https://composio.dev/toolkits/atlassian_mcp) - Atlassian Rovo MCP connects agents to Jira, Jira Service Management, Confluence, Bitbucket, Compass, and Teamwork Graph workflows. It lets teams surface and act on Atlassian data while respecting existing user permissions.
- [Basecamp](https://composio.dev/toolkits/basecamp) - Basecamp is a project management and team collaboration tool by 37signals. It helps teams organize tasks, share files, and communicate efficiently in one place.
- [Beeminder](https://composio.dev/toolkits/beeminder) - Beeminder is an online goal-tracking platform that uses monetary pledges to keep you motivated. Stay accountable and hit your targets with real financial incentives.
- [Boxhero](https://composio.dev/toolkits/boxhero) - Boxhero is a cloud-based inventory management platform for SMBs, offering real-time updates, barcode scanning, and team collaboration. It helps businesses streamline stock tracking and analytics for smarter inventory decisions.
- [Breathe HR](https://composio.dev/toolkits/breathehr) - Breathe HR is cloud-based HR software for SMEs to manage employee data, absences, and performance. It simplifies HR admin, making it easy to keep employee records accurate and up to date.

## Frequently Asked Questions

### Do I need my own developer credentials to use ClickUp MCP with Composio?

Yes, ClickUp MCP requires you to configure your own Dcr Oauth credentials. Once set up, Composio handles secure credential storage and management for you.

### Can I use multiple toolkits together?

Yes! Composio's Tool Router enables agents to use multiple toolkits. [Learn more](https://docs.composio.dev/tool-router/overview).

### Is Composio secure?

Composio is SOC 2 and ISO 27001 compliant with all data encrypted in transit and at rest. [Learn more](https://trust.composio.dev).

### What if the API changes?

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
