Servidor MCP
O servidor MCP da DragApp oferece 47 ferramentas em 12 categorias, dando a qualquer cliente de IA compatível com MCP acesso completo aos seus painéis, e-mails, cards, contatos, base de conhecimento, análises e automações.
Conecte de duas formas: cole a URL do endpoint hospedado nas configurações de conectores do seu cliente de IA (o caminho mais rápido, sem instalação) ou rode o servidor de código aberto localmente a partir de um arquivo de configuração. As mesmas ferramentas e as mesmas permissões, em qualquer um dos casos.
Construído sobre o padrão Model Context Protocol (MCP). Código aberto, licença MIT.
Conectar (endpoint hospedado)
A forma mais rápida de conectar é pelo endpoint hospedado. Três passos, cerca de dois minutos. Sem arquivo de configuração, sem instalação local, sem reiniciar.
- Adicione o conector. Nas configurações de conectores do seu cliente de IA (no Claude: Configurações › Conectores › Adicionar conector personalizado), cole esta URL e salve:URL do conector
https://app.dragapp.com/mcp - Clique em Conectar. Uma página de conexão da Drag abre no seu navegador e pede sua chave de API da DragApp.
- Insira sua chave de API. Copie a chave na DragApp, em Configurações › Integrações, cole na página de conexão e envie. A 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: "liste os painéis da minha DragApp". Ele pede 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, somente na página de conexão. Ela nunca aparece em um endereço web, e o serviço MCP não armazena nada nos próprios servidores.
Por trás, é um fluxo padrão de código de autorização OAuth 2.1 com PKCE e registro dinâmico de clientes, servido pelo transporte Streamable HTTP do MCP, então qualquer cliente compatível com conectores MCP remotos pode se conectar.
Instalação (caminho local)
Prefere rodar o servidor você mesmo ou usa um cliente com arquivo de configuração, como Cursor, Windsurf ou Claude Code? O pacote npm continua com suporte completo. Rode direto com npx, sem precisar instalar:
npx -y @dragapp/mcp-serverOu instale globalmente:
npm install -g @dragapp/mcp-serverAutenticação
Os dois caminhos fazem a autenticação com sua chave de API da DragApp, e a conexão herda suas permissões atuais da Drag em ambos os casos. 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. No caminho local, o servidor lê a chave da variável de ambiente DRAG_API_KEY .
Obtenha sua chave de API em Configurações e depois Integrações, na Drag. Você pode revogá-la ali a qualquer momento.
Sua chave de API dá acesso completo ao seu espaço de trabalho da DragApp. Mantenha-a em segredo e nunca faça commit dela no controle de versão.
Configuração do cliente
Adicione o JSON a seguir 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 do arquivo de configuração
| Cliente | Caminho da configuração |
|---|---|
| Claude Desktop | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Cursor | .cursor/mcp.json |
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
| Claude Code | ~/.claude.json ou .mcp.json |
Referência de ferramentas
47 ferramentas em 12 categorias. Cada ferramenta fica disponível automaticamente para qualquer cliente MCP conectado.
| Ferramenta | Descrição |
|---|---|
list_threads | Lista as conversas de e-mail em uma coluna específica de um painel |
get_thread | Obtém uma única mensagem de e-mail com o corpo HTML completo |
reply_to_thread | Responde a uma conversa de e-mail existente |
send_new_email | Envia um novo e-mail a partir de um painel |
search_threads | Busca conversas em todos os painéis |
filter_threads | Filtra conversas por marcador, responsável ou status |
move_thread | Move uma conversa para outra coluna |
move_threads_bulk | Move várias conversas de uma vez |
Painéis
5| Ferramenta | Descrição |
|---|---|
list_boards | Lista todos os painéis aos quais o usuário autenticado tem acesso |
get_board | Obtém os detalhes de um painel específico |
list_columns | Lista todas as colunas de um painel |
list_board_members | Lista todos os membros de um painel |
list_teams | Lista todas as equipes do espaço de trabalho |
Cards
6| Ferramenta | Descrição |
|---|---|
list_cards_in_column | Lista todos os cards de uma coluna específica |
get_card | Obtém os detalhes de um card específico |
create_card | Cria um novo card em uma coluna |
update_card | Atualiza as propriedades do card (título, descrição, responsável, prazo) |
move_card | Move um card para outra coluna ou posição |
archive_card | Arquiva um card |
Marcadores do Gmail
4| Ferramenta | Descrição |
|---|---|
list_labels | Lista todos os marcadores do Gmail disponíveis em um painel |
add_label_to_thread | Adiciona um marcador do Gmail a uma conversa de e-mail |
remove_label_from_thread | Remove um marcador do Gmail de uma conversa de e-mail |
toggle_labels | Alterna a visibilidade dos marcadores do Gmail em um painel |
Comentários
2| Ferramenta | Descrição |
|---|---|
add_comment | Adiciona um comentário interno a um card ou conversa |
get_comment | Obtém os detalhes de um comentário específico |
Tarefas
1| Ferramenta | Descrição |
|---|---|
create_task | Cria uma tarefa (item de checklist) em um card |
Contatos
3| Ferramenta | Descrição |
|---|---|
search_contacts | Busca contatos por nome ou endereço de e-mail |
get_contact_conversations | Obtém todas as conversas com um contato específico |
create_contact | Cria um novo contato no espaço de trabalho |
Base de conhecimento
5| Ferramenta | Descrição |
|---|---|
list_articles | Lista todos os artigos da base de conhecimento |
get_article | Obtém o conteúdo completo de um artigo da base de conhecimento |
create_article | Cria um novo artigo na base de conhecimento |
update_article | Atualiza um artigo existente da base de conhecimento |
search_knowledge | Busca na base de conhecimento por consulta |
Análises
4| Ferramenta | Descrição |
|---|---|
get_response_times | Obtém as métricas de tempo de resposta de um painel |
get_avg_response_time | Obtém o tempo médio de resposta entre painéis |
get_daily_activity | Obtém métricas de atividade diária (conversas criadas, respondidas, resolvidas) |
get_closed_activity | Obtém métricas de conversas fechadas/resolvidas |
Automações
3| Ferramenta | Descrição |
|---|---|
list_automations | Lista todas as automações configuradas em um painel |
toggle_automation | Ativa ou desativa uma automação específica |
toggle_ai_drafts | Ativa ou desativa a geração de rascunhos com IA em um painel |
| Ferramenta | Descrição |
|---|---|
get_whatsapp_conversation | Obtém o histórico completo de mensagens de uma conversa do WhatsApp (card) em um painel do WhatsApp. Retorna as mensagens do chat em ordem. Use o cardId retornado por list_threads / search_threads em um painel do WhatsApp (o campo `cardId`). |
list_whatsapp_templates | Lista os modelos de mensagem do WhatsApp pré-aprovados disponíveis em um painel do WhatsApp. Retorna o nome, o idioma, o status, a categoria e o texto do corpo de cada modelo, e quantas variáveis {{n}} ele espera. Só modelos APPROVED podem ser enviados. |
send_whatsapp_message | Envia uma mensagem de WhatsApp de texto livre em 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 | Envia uma mensagem de modelo pré-aprovado do WhatsApp em uma conversa. Use para falar com um contato fora da janela de 24 horas. Chame list_whatsapp_templates antes para obter o nome e o 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 vai chamar nos bastidores.
“Mostre os e-mails não lidos no painel Suporte”
list_boards → list_columns → list_threads
O cliente de IA encontra o painel Suporte, identifica a coluna correta e lista as conversas com assunto, remetente e horário.
“Responda ao e-mail mais recente da Daniela”
search_threads → get_thread → reply_to_thread
Busca conversas da Daniela em todos os painéis, recupera a mensagem completa e depois redige e envia uma resposta.
“Qual é o nosso tempo médio de resposta nesta semana?”
get_avg_response_time
Chama a ferramenta de análises diretamente para retornar o tempo médio de resposta com comparações entre períodos.
“Crie um card no painel Sprint com este relatório de bug”
list_boards → list_columns → create_card
Encontra o painel Sprint, identifica a coluna certa (por exemplo, Backlog) e cria um card com os detalhes do bug.
“Atribua todas as conversas de cobrança à Daniela”
filter_threads → move_threads_bulk
Filtra as conversas pelo marcador COBRANÇA e depois as move em massa para a coluna atribuída à Daniela.
“Busque a política de reembolso na nossa base de conhecimento”
search_knowledge
Busca na base de conhecimento e retorna os artigos correspondentes com trechos.
Desenvolvimento
Clone o repositório e rode 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.jsPara desenvolvimento com recompilação automática:
npm run devLinks
Repositório no GitHub: código-fonte, issues, contribuições
Pacote npm: @dragapp/mcp-server
Model Context Protocol: especificação do MCP
Documentação da API REST: referência da API REST da 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 pedidos de recursos
