Drag
Triagem, resposta e relatórios para sua caixa de entrada compartilhada do Gmail.
Documentação
MCP Documentation
MCP Server
O servidor MCP do DragApp expõe 47 ferramentas em 12 categorias, dando a qualquer cliente de IA compatível com MCP acesso total aos seus boards, e-mails, cards, contatos, base de conhecimento, análises e automações.
Conecte-se de duas formas: cole a URL do endpoint hospedado nas configurações de conector do seu cliente de IA (o caminho mais rápido, sem instalação), ou execute o servidor open-source localmente a partir de um arquivo de configuração. Mesmas ferramentas, mesmas permissões, de qualquer forma.
Construído sobre o padrão Model Context Protocol. Open source, licenciado sob MIT.
Conectar (endpoint hospedado)
A forma mais rápida de conectar é o endpoint hospedado. Três passos, cerca de dois minutos. Sem arquivo de configuração, sem instalação local, sem reiniciar.
- Nas configurações de conector do seu cliente de IA (no Claude: Settings › Connectors › Add custom connector), cole esta URL e salve:
https://app.dragapp.com/mcp - Clique em Connect. Uma página de conexão do Drag abre no seu navegador e solicita sua chave de API do DragApp.
- Insira sua chave de API. Copie-a do DragApp em Settings › Integrations, cole-a na página de conexão e envie. O Drag verifica a chave e a entrega ao seu cliente como token de acesso. A conexão está ativa.
Para verificar, peça ao seu cliente para "listar os boards no meu DragApp". Ele solicita sua permissão na primeira vez que usa cada ferramenta, então você controla exatamente o que ele pode fazer.
A chave é inserida uma única vez, apenas na página de conexão. Ela nunca aparece em um endereço web, e o serviço MCP não armazena nada em seus próprios servidores.
Por baixo dos panos, isso é um fluxo padrão de código de autorização OAuth 2.1 com PKCE e registro dinâmico de cliente, servido sobre o transporte Streamable HTTP do MCP, então qualquer cliente que suporte conectores MCP remotos pode se conectar.
Instalação (rota local)
Prefere executar o servidor você mesmo, ou usar um cliente baseado em arquivo de configuração como Cursor, Windsurf ou Claude Code? O pacote npm continua totalmente suportado. Execute diretamente com npx; sem necessidade de instalação:
npx -y @dragapp/mcp-server
Ou instale globalmente:
npm install -g @dragapp/mcp-server
Autenticação
Ambas as rotas autenticam com sua chave de API do DragApp, e a conexão herda suas permissões existentes do Drag de qualquer forma. No endpoint hospedado, você insere a chave uma vez na página segura de conexão e ela se torna o token de acesso do seu cliente; nada é armazenado pelo serviço MCP. Na rota local, o servidor lê a chave da variável de ambiente DRAG_API_KEY.
Obtenha sua chave de API em Settings, depois Integrations, dentro do Drag. Você pode revogá-la lá a qualquer momento.
Sua chave de API concede acesso total ao seu workspace do DragApp. Mantenha-a em segredo e nunca a envie para o controle de versão.
Configuração do cliente
Adicione o seguinte JSON ao arquivo de configuração MCP do seu cliente de IA:
{
"mcpServers": {
"dragapp": {
"command": "npx",
"args": ["-y", "@dragapp/mcp-server"],
"env": {
"DRAG_API_KEY": "your-api-key"
}
}
}
}
Locais dos arquivos de configuração
| Cliente | Caminho do config |
|---|---|
| Claude Desktop | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Cursor | .cursor/mcp.json |
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
| Claude Code | ~/.claude.json or .mcp.json |
Referência de ferramentas
47 ferramentas em 12 categorias. Cada ferramenta está automaticamente disponível para qualquer cliente MCP conectado.
8
| Ferramenta | Descrição |
|---|---|
list_threads | Listar threads de e-mail em uma coluna específica de um board |
get_thread | Obter uma única mensagem de e-mail com corpo HTML completo |
reply_to_thread | Responder a um thread de e-mail existente |
send_new_email | Enviar um novo e-mail a partir de um board |
search_threads | Buscar threads em todos os boards |
filter_threads | Filtrar threads por etiqueta, responsável ou status |
move_thread | Mover um thread para uma coluna diferente |
move_threads_bulk | Mover vários threads de uma vez |
Boards
5
| Ferramenta | Descrição |
|---|---|
list_boards | Listar todos os boards aos quais o usuário autenticado tem acesso |
get_board | Obter detalhes de um board específico |
list_columns | Listar todas as colunas de um board |
list_board_members | Listar todos os membros de um board |
list_teams | Listar todas as equipes do workspace |
Cards
6
| Ferramenta | Descrição |
|---|---|
list_cards_in_column | Listar todos os cards em uma coluna específica |
get_card | Obter detalhes de um card específico |
create_card | Criar um novo card em uma coluna |
update_card | Atualizar propriedades do card (título, descrição, responsável, data de vencimento) |
move_card | Mover um card para uma coluna ou posição diferente |
archive_card | Arquivar um card |
Tags
2
| Ferramenta | Descrição |
|---|---|
list_tags | Listar todas as tags do workspace |
add_tag_to_card | Adicionar uma tag a um card |
Tarefas
1
| Ferramenta | Descrição |
|---|---|
create_task | Criar uma tarefa (item de checklist) em um card |
Contatos
3
| Ferramenta | Descrição |
|---|---|
search_contacts | Buscar contatos por nome ou endereço de e-mail |
get_contact_conversations | Obter todas as conversas com um contato específico |
create_contact | Criar um novo contato no workspace |
Base de Conhecimento
5
| Ferramenta | Descrição |
|---|---|
list_articles | Listar todos os artigos da base de conhecimento |
get_article | Obter o conteúdo completo de um artigo da base de conhecimento |
create_article | Criar um novo artigo na base de conhecimento |
update_article | Atualizar um artigo existente da base de conhecimento |
search_knowledge | Buscar na base de conhecimento por consulta |
Análises
4
| Ferramenta | Descrição |
|---|---|
get_response_times | Obter métricas de tempo de resposta para um board |
get_avg_response_time | Obter o tempo médio de resposta entre boards |
get_daily_activity | Obter métricas diárias de atividade (threads criados, respondidos, resolvidos) |
get_closed_activity | Obter métricas sobre threads fechados/resolvidos |
Automações
3
| Ferramenta | Descrição |
|---|---|
list_automations | Listar todas as automações configuradas em um board |
toggle_automation | Ativar ou desativar uma automação específica |
toggle_ai_drafts | Ativar ou desativar a geração de rascunho por IA em um board |
4
| Ferramenta | Descrição |
|---|---|
get_whatsapp_conversation | Obter o histórico completo de mensagens de uma conversa do WhatsApp (card) em um board do WhatsApp. Retorna as mensagens do chat em ordem. Use o cardId retornado por list_threads / search_threads em um board do WhatsApp (o campo cardId\). |
list_whatsapp_templates | Listar os modelos de mensagem do WhatsApp pré-aprovados disponíveis em um board do WhatsApp. Retorna o nome, idioma, status, categoria, texto do corpo e quantas variáveis {{n}} cada modelo espera. Apenas modelos APPROVED podem ser enviados. |
send_whatsapp_message | Enviar uma mensagem de texto livre do WhatsApp para uma conversa existente. Observação: o WhatsApp só permite mensagens de texto livre dentro da janela de atendimento ao cliente de 24 horas; fora dela, use send_whatsapp_template. |
send_whatsapp_template | Enviar uma mensagem de modelo do WhatsApp pré-aprovado para uma conversa. Use isso para alcançar um contato fora da janela de 24 horas. Chame list_whatsapp_templates primeiro para obter o nome e idioma exatos do modelo e ver quantas variáveis {{n}} ele precisa. |
Exemplos
Prompts em linguagem natural e as ferramentas que o cliente de IA chamará nos bastidores.
"Mostre e-mails não lidos no board Support"
list_boards → list_columns → list_threads
O cliente de IA encontra o board Support, identifica a coluna correta e lista os threads com seus assuntos, remetentes e timestamps.
"Responda ao último e-mail da Sarah"
search_threads → get_thread → reply_to_thread
Busca em todos os boards por threads da Sarah, recupera a mensagem completa e depois compõe e envia uma resposta.
"Qual é o nosso tempo médio de resposta esta semana?"
get_avg_response_time
Chama a ferramenta de análise diretamente para retornar o tempo médio de resposta com comparações de período.
"Crie um card no board Sprint com este relatório de bug"
list_boards → list_columns → create_card
Encontra o board Sprint, identifica a coluna certa (ex.: Backlog) e cria um card com os detalhes do bug.
"Atribua todos os threads relacionados a cobrança para a Sarah"
filter_threads → move_threads_bulk
Filtra threads pela etiqueta BILLING e depois os move em massa para a coluna atribuída à Sarah.
"Busque na nossa base de conhecimento a política de reembolso"
search_knowledge
Busca na base de conhecimento e retorna artigos correspondentes com trechos.
Desenvolvimento
Clone o repositório e execute localmente:
git clone https://github.com/nick-timms/drag-mcp-server.git
cd drag-mcp-server
npm install
npm run build
DRAG_API_KEY=your-key node dist/index.js
Para desenvolvimento com recompilação automática:
npm run dev
Links
Repositório GitHub: código-fonte, issues, contribuições
pacote npm: @dragapp/mcp-server
Model Context Protocol: especificação MCP
Documentação da API REST: referência da API REST do DragApp
Licença: MIT
Precisa de ajuda?
Central de ajuda: guias e tutoriais
support@dragapp.com: suporte por e-mail
Issues no GitHub: relatórios de bugs e solicitações de recursos