Server MCP
Il server MCP di DragApp mette a disposizione 47 strumenti in 12 categorie, che danno a qualsiasi client IA compatibile con MCP accesso completo a bacheche, email, schede, contatti, knowledge base, analisi e automazioni.
Collegati in due modi: incolla l'URL dell'endpoint ospitato nelle impostazioni dei connettori del tuo client IA (la via più rapida, senza installazione), oppure esegui il server open source in locale da un file di configurazione. Stessi strumenti, stessi permessi, in entrambi i casi.
Basato sullo standard Model Context Protocol (MCP). Open source, con licenza MIT.
Collega (endpoint ospitato)
Il modo più rapido per collegarti è l'endpoint ospitato. Tre passaggi, circa due minuti. Nessun file di configurazione, nessuna installazione locale, nessun riavvio.
- Aggiungi il connettore. Nelle impostazioni dei connettori del tuo client IA (in Claude: Impostazioni › Connettori › Aggiungi connettore personalizzato), incolla questo URL e salva:URL del connettore
https://app.dragapp.com/mcp - Fai clic su Connect. Nel browser si apre una pagina di collegamento di Drag che ti chiede la chiave API di DragApp.
- Inserisci la tua chiave API. Copiala da DragApp in Impostazioni › Integrazioni, incollala nella pagina di collegamento e invia. Drag verifica la chiave e la passa al tuo client come token di accesso. Il collegamento è attivo.
Per verificare, chiedi al tuo client: "elenca le bacheche nel mio DragApp". La prima volta che usa ciascuno strumento ti chiede il permesso, così controlli esattamente cosa può fare.
La chiave si inserisce una sola volta, solo nella pagina di connessione. Non compare mai in un indirizzo web, e il servizio MCP non memorizza nulla sui propri server.
Dietro le quinte si tratta di un flusso di autorizzazione OAuth 2.1 standard con codice di autorizzazione, PKCE e registrazione dinamica del client, servito tramite il trasporto Streamable HTTP di MCP, quindi qualsiasi client che supporti i connettori MCP remoti può collegarsi.
Installazione (percorso locale)
Preferisci eseguire il server in autonomia o usi un client con file di configurazione come Cursor, Windsurf o Claude Code? Il pacchetto npm resta pienamente supportato. Eseguilo direttamente con npx, senza installare nulla:
npx -y @dragapp/mcp-serverOppure installalo globalmente:
npm install -g @dragapp/mcp-serverAutenticazione
Entrambe le modalità si autenticano con la tua chiave API di DragApp, e in ogni caso la connessione eredita i tuoi permessi Drag esistenti. Sull'endpoint ospitato, inserisci la chiave una sola volta nella pagina di connessione sicura e diventa il token di accesso del tuo client; il servizio MCP non memorizza nulla. Con la modalità locale, il server legge la chiave dalla variabile d'ambiente DRAG_API_KEY.
Ottieni la tua chiave API in Impostazioni › Integrazioni, dentro Drag. Puoi revocarla lì in qualsiasi momento.
La tua chiave API dà pieno accesso al tuo workspace DragApp. Tienila segreta e non inserirla mai in un commit del controllo di versione.
Configurazione del client
Aggiungi il seguente JSON al file di configurazione MCP del tuo client IA:
{
"mcpServers": {
"dragapp": {
"command": "npx",
"args": ["-y", "@dragapp/mcp-server"],
"env": {
"DRAG_API_KEY": "your-api-key"
}
}
}
}Percorsi del file di configurazione
| Client | Percorso di configurazione |
|---|---|
| Claude Desktop | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Cursor | .cursor/mcp.json |
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
| Claude Code | ~/.claude.json o .mcp.json |
Riferimento degli strumenti
47 strumenti in 12 categorie. Ogni strumento è disponibile automaticamente per qualsiasi client MCP collegato.
| Strumento | Descrizione |
|---|---|
list_threads | Elenca i thread email in una colonna specifica di una bacheca |
get_thread | Recupera un singolo messaggio email con il corpo HTML completo |
reply_to_thread | Rispondi a un thread email esistente |
send_new_email | Invia una nuova email da una bacheca |
search_threads | Cerca thread in tutte le bacheche |
filter_threads | Filtra le conversazioni per etichetta, assegnatario o stato |
move_thread | Sposta un thread in un'altra colonna |
move_threads_bulk | Sposta più thread contemporaneamente |
Bacheche
5| Strumento | Descrizione |
|---|---|
list_boards | Elenca tutte le bacheche a cui ha accesso l'utente autenticato |
get_board | Recupera i dettagli di una bacheca specifica |
list_columns | Elenca tutte le colonne di una bacheca |
list_board_members | Elenca tutti i membri di una bacheca |
list_teams | Elenca tutti i team dello spazio di lavoro |
Schede
6| Strumento | Descrizione |
|---|---|
list_cards_in_column | Elenca tutte le schede di una colonna specifica |
get_card | Recupera i dettagli di una scheda specifica |
create_card | Crea una nuova scheda in una colonna |
update_card | Aggiorna le proprietà della scheda (titolo, descrizione, assegnatario, scadenza) |
move_card | Sposta una scheda in un'altra colonna o posizione |
archive_card | Archivia una scheda |
Etichette
4| Strumento | Descrizione |
|---|---|
list_labels | Elenca tutte le etichette disponibili su una bacheca |
add_label_to_thread | Aggiungi un’etichetta a un thread email |
remove_label_from_thread | Rimuovi un'etichetta da un thread email |
toggle_labels | Mostra o nascondi le etichette su una bacheca |
Commenti
2| Strumento | Descrizione |
|---|---|
add_comment | Aggiungi un commento interno a una scheda o a un thread |
get_comment | Recupera i dettagli di un commento specifico |
Attività
1| Strumento | Descrizione |
|---|---|
create_task | Crea un'attività (voce di checklist) in una scheda |
Contatti
3| Strumento | Descrizione |
|---|---|
search_contacts | Cerca contatti per nome o indirizzo email |
get_contact_conversations | Recupera tutte le conversazioni con un contatto specifico |
create_contact | Crea un nuovo contatto nello spazio di lavoro |
Knowledge base
5| Strumento | Descrizione |
|---|---|
list_articles | Elenca tutti gli articoli della knowledge base |
get_article | Recupera il contenuto completo di un articolo della knowledge base |
create_article | Crea un nuovo articolo della knowledge base |
update_article | Aggiorna un articolo esistente della knowledge base |
search_knowledge | Cerca nella knowledge base tramite query |
Analisi
4| Strumento | Descrizione |
|---|---|
get_response_times | Recupera le metriche sui tempi di risposta di una bacheca |
get_avg_response_time | Recupera il tempo medio di risposta tra le bacheche |
get_daily_activity | Recupera le metriche di attività giornaliera (conversazioni create, con risposta, risolte) |
get_closed_activity | Recupera le metriche sulle conversazioni chiuse/risolte |
Automazioni
3| Strumento | Descrizione |
|---|---|
list_automations | Elenca tutte le automazioni configurate su una bacheca |
toggle_automation | Attiva o disattiva un'automazione specifica |
toggle_ai_drafts | Attiva o disattiva la generazione di bozze con IA su una bacheca |
| Strumento | Descrizione |
|---|---|
get_whatsapp_conversation | Recupera la cronologia completa dei messaggi di una conversazione WhatsApp (scheda) su una bacheca WhatsApp. Restituisce i messaggi della chat in ordine. Usa il cardId restituito da list_threads / search_threads su una bacheca WhatsApp (il campo `cardId`). |
list_whatsapp_templates | Elenca i modelli di messaggio WhatsApp pre-approvati disponibili su una bacheca WhatsApp. Restituisce per ogni modello nome, lingua, stato, categoria, testo del corpo e quante variabili {{n}} richiede. Si possono inviare solo i modelli APPROVED. |
send_whatsapp_message | Invia un messaggio WhatsApp a testo libero in una conversazione esistente. Nota: WhatsApp consente i messaggi a testo libero solo entro la finestra di assistenza clienti di 24 ore; al di fuori, usa send_whatsapp_template. |
send_whatsapp_template | Invia un messaggio con un modello WhatsApp pre-approvato in una conversazione. Usalo per contattare qualcuno fuori dalla finestra di 24 ore. Chiama prima list_whatsapp_templates per ottenere il nome e la lingua esatti del modello e per vedere quante variabili {{n}} richiede. |
Esempi
Prompt in linguaggio naturale e gli strumenti che il client IA chiamerà dietro le quinte.
“Mostrami le email non lette nella bacheca Assistenza”
list_boards → list_columns → list_threads
Il client IA trova la bacheca Assistenza, individua la colonna giusta ed elenca i thread con oggetto, mittente e data e ora.
“Rispondi all'ultima email di Giulia”
search_threads → get_thread → reply_to_thread
Cerca in tutte le bacheche i thread di Giulia, recupera il messaggio completo, poi scrive e invia una risposta.
“Qual è il nostro tempo medio di risposta questa settimana?”
get_avg_response_time
Richiama direttamente lo strumento di analisi per restituire il tempo medio di risposta con il confronto tra periodi.
“Crea una scheda nella bacheca Sprint con questa segnalazione di bug”
list_boards → list_columns → create_card
Trova la bacheca Sprint, individua la colonna giusta (ad es. Backlog) e crea una scheda con i dettagli del bug.
“Assegna a Giulia tutte le conversazioni relative alla fatturazione”
filter_threads → move_threads_bulk
Filtra le conversazioni con l'etichetta FATTURAZIONE, poi le sposta in blocco nella colonna assegnata a Giulia.
“Cerca nella nostra knowledge base la politica di rimborso”
search_knowledge
Cerca nella knowledge base e restituisce gli articoli corrispondenti con degli estratti.
Sviluppo
Clona il repository ed eseguilo in locale:
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.jsPer lo sviluppo con ricompilazione automatica:
npm run devLink
Repository GitHub: codice sorgente, issue, contributi
Pacchetto npm: @dragapp/mcp-server
Model Context Protocol: specifica MCP
Documentazione dell'API REST: riferimento dell'API REST di DragApp
Licenza: MIT
Serve aiuto?
Centro assistenza: guide e tutorial
support@dragapp.com: assistenza via email
Issue su GitHub: segnalazioni di bug e richieste di funzionalità
