ClickUp
Interaja com a API do ClickUp para gerenciar tarefas, listas e espaços, automatizando o planejamento de projetos e fluxos de trabalho.
Documentação
clickup-mcp-server: Um servidor MCP para ClickUp
Visão Geral
Um servidor Model Context Protocol para interação e automação com a API do ClickUp. Este servidor fornece ferramentas para que sistemas de IA leiam, criem e atualizem tarefas, listas e espaços no ClickUp.
Este servidor MCP permite que ferramentas de IA como o Claude interajam com seu espaço de trabalho no ClickUp, ajudando a automatizar o gerenciamento de tarefas, o planejamento de projetos e outros fluxos de trabalho.
Recursos
Este servidor MCP fornece integração abrangente com o ClickUp, oferecendo os seguintes recursos:
Gerenciamento de Tarefas
- Criar, atualizar e excluir tarefas
- Mover e duplicar tarefas entre listas e quadros
- Definir propriedades de tarefas, incluindo datas de vencimento, prioridades e tags
- Criar, visualizar e gerenciar subtarefas
- Adicionar comentários e anexos às tarefas
- Suporte para operações de tarefas individuais e em lote
- Agrupamento e filtragem de tarefas por status
Organização do Espaço de Trabalho
- Navegar e gerenciar espaços de trabalho, espaços, pastas e listas
- Criar, atualizar e excluir espaços e pastas
- Organizar listas dentro de espaços e pastas
- Visualizar a hierarquia completa do espaço de trabalho
- Navegar com eficiência pelo espaço de trabalho usando notação de caminho
- Criar listas em espaços ou dentro de pastas
Formatação e Exibição
- Suporte completo a Markdown para descrições de tarefas e comentários
- Conversão para HTML para renderização adequada no ClickUp
- Exibição formatada de detalhes de tarefas, listas e hierarquias
- Exibição aprimorada de estruturas de projetos complexas
Experiência do Desenvolvedor
- Tratamento abrangente de erros e validação
- Respostas de API claras e consistentes
- Documentação detalhada para todas as ferramentas
- Integração fácil com o Claude e outros sistemas de IA
Ferramentas
O servidor fornece as seguintes ferramentas para interagir com o ClickUp:
Ferramentas de Espaço de Trabalho/Equipe
-
get_workspaces- Obtém todos os espaços de trabalho/equipes
- Entrada: Nenhuma
- Retorna: Lista de espaços de trabalho com IDs e nomes
-
navigate_workspace- Navega pela hierarquia do espaço de trabalho usando notação de caminho
- Entrada:
path(string): Caminho pela hierarquia do espaço de trabalho (team_id/space_name/folder_name/list_name)
- Retorna: Detalhes da entidade alvo e seu caminho completo
Ferramentas de Espaço
-
get_spaces- Obtém todos os espaços em um espaço de trabalho
- Entrada:
workspace_id(string): ID do espaço de trabalho/equipe
- Retorna: Lista de espaços com IDs e nomes
-
create_space- Cria um novo espaço em um espaço de trabalho
- Entradas:
workspace_id(string): ID do espaço de trabalho/equipename(string): Nome do novo espaço
- Retorna: Detalhes do espaço criado
-
get_space_hierarchy- Obtém a hierarquia completa de um espaço, incluindo pastas e listas
- Entrada:
space_id(string): ID do espaço
- Retorna: Estrutura hierárquica completa do espaço
Ferramentas de Pasta
-
get_folders- Obtém todas as pastas em um espaço
- Entrada:
space_id(string): ID do espaço
- Retorna: Lista de pastas com IDs e nomes
-
create_folder- Cria uma nova pasta em um espaço
- Entradas:
space_id(string): ID do espaçoname(string): Nome da nova pasta
- Retorna: Detalhes da pasta criada
-
update_folder- Atualiza o nome de uma pasta
- Entradas:
folder_id(string): ID da pasta a ser atualizadaname(string): Novo nome para a pasta
- Retorna: Detalhes da pasta atualizada
-
delete_folder- Exclui uma pasta
- Entrada:
folder_id(string): ID da pasta a ser excluída
- Retorna: Confirmação da exclusão
Ferramentas de Lista/Quadro
-
get_lists- Obtém todas as listas/quadros em um espaço
- Entrada:
space_id(string): ID do espaço
- Retorna: Lista de listas/quadros com IDs e nomes
-
create_list- Cria uma nova lista/quadro em um espaço ou pasta
- Entradas:
space_id(string): ID do espaçoname(string): Nome da nova lista/quadrofolder_id(string, opcional): ID da pasta (se a lista estiver sendo criada em uma pasta)
- Retorna: Detalhes da lista/quadro criada
-
organize_lists- Organiza listas por sua localização (no espaço ou em pastas)
- Entradas:
space_id(string): ID do espaçofolder_id(string, opcional): ID de uma pasta específica
- Retorna: Listas organizadas pela pasta que as contém
Ferramentas de Tarefa
get_tasks
- Obtém todas as tarefas em uma lista/quadro
- Entrada:
list_id(string): ID da lista/quadro
- Retorna: Lista de tarefas com IDs, nomes e outros detalhes
-
get_tasks_by_status- Obtém tarefas com um status específico em uma lista/quadro
- Entradas:
list_id(string): ID da lista/quadrostatus(string): Status para filtrar as tarefas
- Retorna: Lista de tarefas com o status especificado
-
create_task- Cria uma nova tarefa em uma lista/quadro
- Entradas:
list_id(string): ID da lista/quadroname(string): Nome da tarefadescription(string, opcional): Descrição da tarefapriority(número, opcional): Prioridade da tarefa (1-4)due_date(número, opcional): Data de vencimento da tarefa em milissegundostags(string[], opcional): Lista de nomes de tags para adicionar à tarefa
- Retorna: Detalhes da tarefa criada
-
get_task- Obtém detalhes de uma tarefa específica
- Entrada:
task_id(string): ID da tarefa
- Retorna: Detalhes completos da tarefa, incluindo descrição, status, etc.
-
update_task- Atualiza as propriedades de uma tarefa
- Entradas:
task_id(string): ID da tarefaname(string, opcional): Novo nome da tarefadescription(string, opcional): Nova descrição da tarefapriority(número, opcional): Nova prioridade da tarefa (1-4)due_date(número, opcional): Nova data de vencimento em milissegundostags(string[], opcional): Nova lista de nomes de tags
- Retorna: Detalhes da tarefa atualizada
-
update_task_status- Atualiza o status de uma tarefa
- Entradas:
task_id(string): ID da tarefastatus(string): Novo status para a tarefa
- Retorna: Detalhes da tarefa atualizada
-
assign_task- Atribui usuários a uma tarefa
- Entradas:
task_id(string): ID da tarefaassignee_ids(string[]): Lista de IDs de usuários para atribuir à tarefa
- Retorna: Confirmação da atribuição
-
get_task_subtasks- Obtém subtarefas de uma tarefa
- Entrada:
task_id(string): ID da tarefa
- Retorna: Lista de subtarefas com seus detalhes
-
delete_task- Exclui uma tarefa
- Entrada:
task_id(string): ID da tarefa a ser excluída
- Retorna: Confirmação da exclusão
-
move_task- Move uma tarefa para uma lista/quadro diferente
- Entradas:
task_id(string): ID da tarefa a ser movidalist_id(string): ID da lista/quadro de destino
- Retorna: Detalhes da tarefa atualizada
-
duplicate_task- Duplica uma tarefa, opcionalmente para uma lista/quadro diferente
- Entradas:
task_id(string): ID da tarefa a ser duplicadalist_id(string, opcional): ID da lista/quadro de destino
- Retorna: Detalhes da tarefa duplicada
-
create_subtask- Cria uma subtarefa para uma tarefa pai
- Entradas:
parent_task_id(string): ID da tarefa painame(string): Nome da subtarefadescription(string, opcional): Descrição da subtarefapriority(número, opcional): Prioridade da subtarefa (1-4)due_date(número, opcional): Data de vencimento da subtarefa em milissegundostags(string[], opcional): Lista de nomes de tags para a subtarefa
- Retorna: Detalhes da subtarefa criada
-
add_comment- Adiciona um comentário a uma tarefa
- Entradas:
task_id(string): ID da tarefacomment_text(string): Conteúdo do texto do comentário
- Retorna: Detalhes do comentário adicionado
-
add_attachment- Adiciona um anexo a uma tarefa por URL
- Entradas:
task_id(string): ID da tarefaattachment_url(string): URL do anexo a ser adicionado
- Retorna: Detalhes do anexo adicionado
-
bulk_update_tasks- Atualiza múltiplas tarefas em uma lista de uma só vez
- Entradas:
list_id(string): ID da lista/quadro que contém as tarefastask_ids(string[]): Lista de IDs de tarefas para atualizarname(string, opcional): Novo nome da tarefa para todas as tarefasdescription(string, opcional): Nova descrição da tarefa para todas as tarefasstatus(string, opcional): Novo status para todas as tarefaspriority(número, opcional): Nova prioridade para todas as tarefas (1-4)due_date(número, opcional): Nova data de vencimento para todas as tarefas em milissegundostags(string[], opcional): Nova lista de nomes de tags para todas as tarefas
- Retorna: Confirmação da atualização em lote
-
bulk_delete_tasks- Exclui múltiplas tarefas de uma só vez
- Entrada:
task_ids(string[]): Lista de IDs de tarefas para excluir
- Retorna: Confirmação da exclusão em lote
Ferramentas de Campo Personalizado
-
get_custom_fields- Obtém todos os campos personalizados de uma lista/quadro
- Entrada:
list_id(string): ID da lista/quadro
- Retorna: Lista de campos personalizados com seus IDs, nomes, tipos e configuração
-
set_custom_field_value- Define um valor de campo personalizado para uma tarefa usando o ID do campo
- Entradas:
task_id(string): ID da tarefafield_id(string): ID do campo personalizadovalue(any): Valor a ser definido para o campo personalizado
- Retorna: Confirmação da atualização do campo personalizado
-
set_custom_field_value_by_name- Define um valor de campo personalizado para uma tarefa usando o nome do campo
- Entradas:
task_id(string): ID da tarefalist_id(string): ID da lista (necessário para encontrar o campo personalizado pelo nome)field_name(string): Nome do campo personalizadovalue(any): Valor a ser definido para o campo personalizado
- Retorna: Confirmação da atualização do campo personalizado
-
remove_custom_field_value- Remove um valor de campo personalizado de uma tarefa
- Entradas:
task_id(string): ID da tarefafield_id(string): ID do campo personalizado
- Retorna: Confirmação da remoção do campo personalizado
Instalação
Pré-requisitos
- Python 3.10 ou superior
- Uma conta ClickUp com uma chave de API
Usando uv (recomendado)
Ao usar uv, nenhuma instalação específica é necessária. Usaremos uvx para executar diretamente o clickup-mcp-server.
uv --directory "/path/to/clickup-mcp-server" run clickup-mcp-server --api-key YOUR_API_KEY
Ou use um arquivo .env (veja a seção Configuração).
Usando PIP
Alternativamente, você pode instalar o clickup-mcp-server via pip:
pip install clickup-mcp-server
Após a instalação, você pode executá-lo como um script usando:
python -m clickup_mcp_server --api-key YOUR_API_KEY
Configuração
Chave de API
Você precisa de uma chave de API do ClickUp para usar este servidor. Você pode obter uma em Configurações da API do ClickUp.
A chave de API pode ser fornecida de duas maneiras:
- Argumento de linha de comando:
--api-key YOUR_API_KEY - Variável de ambiente em um arquivo
.env:CLICKUP_API_KEY=your_api_key_here
Uso com o Claude Desktop
Adicione isto ao seu claude_desktop_config.json:
Usando uvx
"mcpServers": {
"clickup": {
"command": "uvx",
"args": ["clickup-mcp-server", "--api-key", "YOUR_API_KEY"]
}
}
Usando docker
"mcpServers": {
"clickup": {
"command": "docker",
"args": ["run", "--rm", "-i", "-e", "CLICKUP_API_KEY=YOUR_API_KEY", "mcp/clickup"]
}
}
Usando instalação via pip
"mcpServers": {
"clickup": {
"command": "python",
"args": ["-m", "clickup_mcp_server", "--api-key", "YOUR_API_KEY"]
}
}
Uso com o VS Code
Para instalação manual, adicione o seguinte bloco JSON ao seu arquivo de Configurações do Usuário (JSON) no VS Code. Você pode fazer isso pressionando Ctrl + Shift + P e digitando Preferences: Open Settings (JSON).
Opcionalmente, você pode adicioná-lo a um arquivo chamado .vscode/mcp.json no seu espaço de trabalho. Isso permitirá que você compartilhe a configuração com outras pessoas.
Observe que a chave
mcpnão é necessária no arquivo.vscode/mcp.json.
{
"mcp": {
"servers": {
"clickup": {
"command": "uvx",
"args": ["clickup-mcp-server"],
"env": {
"CLICKUP_API_KEY": "YOUR_API_KEY"
}
}
}
}
}
Para instalação via Docker:
{
"mcp": {
"servers": {
"clickup": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e", "CLICKUP_API_KEY=YOUR_API_KEY",
"mcp/clickup"
]
}
}
}
}
Uso com Zed
Adicione ao seu settings.json do Zed:
Usando uvx
"context_servers": [
"mcp-server-clickup": {
"command": {
"path": "uvx",
"args": ["clickup-mcp-server"]
},
"env": {
"CLICKUP_API_KEY": "YOUR_API_KEY"
}
}
],
Usando instalação via pip
"context_servers": {
"mcp-server-clickup": {
"command": {
"path": "python",
"args": ["-m", "clickup_mcp_server"]
},
"env": {
"CLICKUP_API_KEY": "YOUR_API_KEY"
}
}
},
Exemplos de Cenários de Uso
Gerenciamento de Tarefas com Claude
Claude pode ajudar você a gerenciar suas tarefas do ClickUp:
-
Criando um Plano de Tarefa: Peça ao Claude para criar um plano com base em uma tarefa específica no ClickUp. O Claude irá:
- Encontrar a tarefa por nome ou ID
- Analisar sua descrição e subtarefas
- Gerar um plano estruturado para concluir a tarefa
-
Automação de Tarefas: Para uma tarefa contendo instruções relacionadas a código, o Claude pode:
- Obter os detalhes da tarefa do ClickUp
- Atualizar o status da tarefa para "Em andamento"
- Implementar o código de acordo com os requisitos da tarefa
- Marcar as subtarefas como concluídas à medida que são finalizadas
- Atualizar o status para "Pronto para revisão" quando terminar
-
Relatórios de Tarefas: Peça ao Claude para gerar resumos de tarefas com status específicos:
- Obter todas as tarefas marcadas como "Em andamento"
- Compilar um relatório de status com estimativas de conclusão
- Criar novas tarefas para bloqueios ou dependências
-
Gerenciamento de Campos Personalizados: Claude pode trabalhar com campos personalizados para melhorar seu fluxo de trabalho:
- Listar todos os campos personalizados em um projeto para ver os metadados disponíveis
- Definir valores de campos personalizados como "GitHub Pull Request URL" ao criar PRs
- Atualizar campos de acompanhamento do projeto como "Sprint", "Story Points" ou "Prioridade"
- Exemplo: "Crie um PR para este branch e adicione a URL do GitHub ao campo personalizado 'GitHub Pull Request URL' na tarefa relacionada do ClickUp"
Depuração
Execute seu servidor com a flag -v ou -vv para maior verbosidade:
uvx clickup-mcp-server -vv
Você pode usar o inspetor MCP para depurar o servidor:
npx @modelcontextprotocol/inspector uvx clickup-mcp-server
Desenvolvimento
Configurando o Ambiente de Desenvolvimento
-
Clone o repositório:
git clone https://github.com/yourusername/clickup-mcp-server.git cd clickup-mcp-server -
Instale as dependências de desenvolvimento:
uv pip install -e ".[dev]" -
Execute os testes:
pytest
Build Docker
Construa a imagem Docker:
docker build -t mcp/clickup .
Status de Implementação
Este servidor MCP implementa a maioria dos recursos essenciais do ClickUp. Abaixo está um detalhamento dos recursos implementados e daqueles planejados para implementação futura.
Gerenciamento de Tarefas ✅
Todos os recursos principais de gerenciamento de tarefas foram implementados:
| Recurso | Status | Descrição |
|---|---|---|
| Criar tarefas | ✅ | Criar novas tarefas em qualquer lista ou quadro |
| Atualizar tarefas | ✅ | Modificar propriedades da tarefa, incluindo nome, descrição e mais |
| Excluir tarefas | ✅ | Remover tarefas do ClickUp |
| Mover tarefas | ✅ | Realocar tarefas entre diferentes listas e quadros |
| Duplicar tarefas | ✅ | Criar cópias de tarefas, opcionalmente em locais diferentes |
| Definir datas | ✅ | Definir datas de início e vencimento para tarefas |
| Visualizar subtarefas | ✅ | Recuperar subtarefas para qualquer tarefa pai |
| Criar subtarefas | ✅ | Adicionar subtarefas a tarefas existentes |
| Gerenciar subtarefas | ✅ | Atualizar e excluir subtarefas |
| Adicionar comentários | ✅ | Adicionar comentários a tarefas com suporte a markdown |
| Adicionar anexos | ✅ | Anexar arquivos via URL às tarefas |
| Operações individuais | ✅ | Executar ações em tarefas individuais |
| Operações em lote | ✅ | Executar ações em várias tarefas simultaneamente |
Organização do Espaço de Trabalho ✅
Todos os recursos de organização do espaço de trabalho foram implementados:
| Recurso | Status | Descrição |
|---|---|---|
| Navegar por espaços | ✅ | Navegar e selecionar espaços nos espaços de trabalho |
| Navegar por pastas | ✅ | Navegar e selecionar pastas dentro dos espaços |
| Navegar por listas | ✅ | Navegar e selecionar listas em espaços ou pastas |
| Criar espaços | ✅ | Criar novos espaços nos espaços de trabalho |
| Criar listas | ✅ | Criar novas listas em espaços ou pastas |
| Criar pastas | ✅ | Criar novas pastas dentro dos espaços |
| Organizar listas | ✅ | Agrupar e organizar listas por localização |
| Listas em pastas | ✅ | Criar e gerenciar listas dentro de pastas |
| Visualizar hierarquia | ✅ | Ver a estrutura completa do espaço de trabalho |
| Navegação por caminho | ✅ | Navegar eficientemente usando notação de caminho |
Recursos Diversos 🔧
Alguns recursos avançados são implementados, com outros planejados para lançamentos futuros:
| Recurso | Status | Descrição |
|---|---|---|
| Pesquisas globais | 🔄 | Encontrar itens por nome ou ID em todos os espaços de trabalho (planejado) |
| Insensível a maiúsculas | 🔄 | Corresponder nomes independentemente de capitalização (planejado) |
| Markdown básico | ✅ | Suporte a markdown básico em descrições |
| Markdown aprimorado | ✅ | Markdown avançado com renderização adequada no ClickUp |
| Limitação de taxa | 🔄 | Tratamento integrado de limites de taxa da API (planejado) |
| Tratamento de erros | ✅ | Detecção e relatório abrangentes de erros |
| Validação de entrada | ✅ | Validação de todas as entradas antes do envio à API |
| Cobertura da API | 🔄 | Suporte a recursos adicionais da API do ClickUp (em andamento) |
Legenda:
- ✅ Implementado
- 🔄 Planejado ou em andamento
Licença
Este servidor MCP é licenciado sob a Licença MIT. Isso significa que você é livre para usar, modificar e distribuir o software, sujeito aos termos e condições da Licença MIT. Para mais detalhes, consulte o arquivo LICENSE no repositório do projeto.