Serveur MCP
Le serveur MCP DragApp expose 47 outils répartis en 12 catégories, qui donnent à tout client IA compatible MCP un accès complet à vos tableaux, e-mails, cartes, contacts, base de connaissances, statistiques et automatisations.
Deux façons de vous connecter : collez l'URL de l'endpoint hébergé dans les paramètres de connecteurs de votre client IA (le plus rapide, sans installation), ou exécutez le serveur open source en local à partir d'un fichier de configuration. Mêmes outils, mêmes autorisations, dans les deux cas.
Construit sur le standard Model Context Protocol (MCP). Open source, sous licence MIT.
Se connecter (endpoint hébergé)
Le moyen le plus rapide de se connecter est l'endpoint hébergé. Trois étapes, environ deux minutes. Pas de fichier de configuration, pas d'installation locale, pas de redémarrage.
- Ajoutez le connecteur. Dans les paramètres de connecteurs de votre client IA (dans Claude : Paramètres › Connecteurs › Ajouter un connecteur personnalisé), collez cette URL et enregistrez :URL du connecteur
https://app.dragapp.com/mcp - Cliquez sur Connect. Une page de connexion Drag s'ouvre dans votre navigateur et vous demande votre clé API DragApp.
- Saisissez votre clé API. Copiez-la depuis DragApp, dans Paramètres › Intégrations, collez-la dans la page de connexion et validez. Drag vérifie la clé et la transmet à votre client comme jeton d'accès. La connexion est active.
Pour vérifier, demandez à votre client : « liste les tableaux de mon DragApp ». Il vous demande l'autorisation la première fois qu'il utilise chaque outil, vous contrôlez donc exactement ce qu'il peut faire.
La clé n'est saisie qu'une seule fois, uniquement sur la page de connexion. Elle n'apparaît jamais dans une adresse web, et le service MCP ne stocke rien sur ses propres serveurs.
Techniquement, il s'agit d'un flux d'autorisation OAuth 2.1 standard par code d'autorisation, avec PKCE et enregistrement dynamique des clients, servi via le transport Streamable HTTP de MCP : tout client compatible avec les connecteurs MCP distants peut donc se connecter.
Installation (méthode locale)
Vous préférez héberger le serveur vous-même, ou vous utilisez un client à fichier de configuration comme Cursor, Windsurf ou Claude Code ? Le package npm reste entièrement pris en charge. Lancez-le directement avec npx, sans installation :
npx -y @dragapp/mcp-serverOu installez-le globalement :
npm install -g @dragapp/mcp-serverAuthentification
Les deux méthodes s'authentifient avec votre clé API DragApp, et la connexion hérite dans tous les cas de vos autorisations Drag existantes. Sur l'endpoint hébergé, vous saisissez la clé une seule fois sur la page de connexion sécurisée et elle devient le jeton d'accès de votre client ; le service MCP ne stocke rien. En local, le serveur lit la clé depuis la variable d'environnement DRAG_API_KEY.
Obtenez votre clé API dans Paramètres, puis Intégrations, dans Drag. Vous pouvez la révoquer à cet endroit à tout moment.
Votre clé API donne un accès complet à votre espace de travail DragApp. Gardez-la secrète et ne la versionnez jamais dans votre code.
Configuration du client
Ajoutez le JSON suivant au fichier de configuration MCP de votre client IA :
{
"mcpServers": {
"dragapp": {
"command": "npx",
"args": ["-y", "@dragapp/mcp-server"],
"env": {
"DRAG_API_KEY": "your-api-key"
}
}
}
}Emplacements du fichier de configuration
| Client | Chemin de configuration |
|---|---|
| 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 |
Référence des outils
47 outils répartis en 12 catégories. Chaque outil est automatiquement disponible pour tout client MCP connecté.
| Outil | Description |
|---|---|
list_threads | Liste les fils d'e-mails d'une colonne donnée d'un tableau |
get_thread | Récupère un e-mail avec son corps HTML complet |
reply_to_thread | Répond à un fil d'e-mails existant |
send_new_email | Envoie un nouvel e-mail depuis un tableau |
search_threads | Recherche des fils dans tous les tableaux |
filter_threads | Filtre les fils par libellé, responsable ou statut |
move_thread | Déplace un fil vers une autre colonne |
move_threads_bulk | Déplace plusieurs fils à la fois |
Tableaux
5| Outil | Description |
|---|---|
list_boards | Liste tous les tableaux auxquels l'utilisateur authentifié a accès |
get_board | Récupère les détails d'un tableau donné |
list_columns | Liste toutes les colonnes d'un tableau |
list_board_members | Liste tous les membres d'un tableau |
list_teams | Liste toutes les équipes de l'espace de travail |
Cartes
6| Outil | Description |
|---|---|
list_cards_in_column | Liste toutes les cartes d'une colonne donnée |
get_card | Récupère les détails d'une carte donnée |
create_card | Crée une nouvelle carte dans une colonne |
update_card | Met à jour les propriétés d'une carte (titre, description, responsable, échéance) |
move_card | Déplace une carte vers une autre colonne ou position |
archive_card | Archive une carte |
Libellés
4| Outil | Description |
|---|---|
list_labels | Liste tous les libellés disponibles sur un tableau |
add_label_to_thread | Ajoute un libellé à un fil d'e-mails |
remove_label_from_thread | Retire un libellé d'un fil d'e-mails |
toggle_labels | Affiche ou masque les libellés sur un tableau |
Commentaires
2| Outil | Description |
|---|---|
add_comment | Ajoute un commentaire interne à une carte ou à une conversation |
get_comment | Récupère les détails d'un commentaire donné |
Tâches
1| Outil | Description |
|---|---|
create_task | Crée une tâche (élément de checklist) sur une carte |
Contacts
3| Outil | Description |
|---|---|
search_contacts | Recherche des contacts par nom ou adresse e-mail |
get_contact_conversations | Récupère toutes les conversations avec un contact donné |
create_contact | Crée un nouveau contact dans l'espace de travail |
Base de connaissances
5| Outil | Description |
|---|---|
list_articles | Liste tous les articles de la base de connaissances |
get_article | Récupère le contenu complet d'un article de la base de connaissances |
create_article | Crée un nouvel article dans la base de connaissances |
update_article | Met à jour un article existant de la base de connaissances |
search_knowledge | Recherche dans la base de connaissances par requête |
Statistiques
4| Outil | Description |
|---|---|
get_response_times | Récupère les indicateurs de temps de réponse d'un tableau |
get_avg_response_time | Récupère le temps de réponse moyen sur l'ensemble des tableaux |
get_daily_activity | Récupère les indicateurs d'activité quotidienne (conversations créées, répondues, résolues) |
get_closed_activity | Récupère les indicateurs des conversations fermées/résolues |
Automatisations
3| Outil | Description |
|---|---|
list_automations | Liste toutes les automatisations configurées sur un tableau |
toggle_automation | Active ou désactive une automatisation précise |
toggle_ai_drafts | Active ou désactive la génération de brouillons par IA sur un tableau |
| Outil | Description |
|---|---|
get_whatsapp_conversation | Récupère l'historique complet des messages d'une conversation WhatsApp (carte) sur un tableau WhatsApp. Renvoie les messages du chat dans l'ordre. Utilisez le cardId renvoyé par list_threads / search_threads sur un tableau WhatsApp (le champ `cardId`). |
list_whatsapp_templates | Liste les modèles de messages WhatsApp préapprouvés disponibles sur un tableau WhatsApp. Renvoie pour chaque modèle son nom, sa langue, son statut, sa catégorie, le texte du corps et le nombre de variables {{n}} attendues. Seuls les modèles APPROVED peuvent être envoyés. |
send_whatsapp_message | Envoie un message WhatsApp en texte libre dans une conversation existante. Remarque : WhatsApp n'autorise les messages en texte libre que dans la fenêtre de service client de 24 heures ; en dehors, utilisez plutôt send_whatsapp_template. |
send_whatsapp_template | Envoie un message WhatsApp basé sur un modèle préapprouvé dans une conversation. À utiliser pour joindre un contact en dehors de la fenêtre de 24 heures. Appelez d'abord list_whatsapp_templates pour obtenir le nom et la langue exacts du modèle, et voir combien de variables {{n}} il requiert. |
Exemples
Des prompts en langage naturel et les outils que le client IA appellera en coulisses.
“Montre-moi les e-mails non lus du tableau Support”
list_boards → list_columns → list_threads
Le client IA trouve le tableau Support, identifie la bonne colonne et liste les fils avec leur objet, leur expéditeur et leur horodatage.
“Réponds au dernier e-mail de Camille”
search_threads → get_thread → reply_to_thread
Recherche les fils de Camille dans tous les tableaux, récupère le message complet, puis rédige et envoie une réponse.
“Quel est notre temps de réponse moyen cette semaine ?”
get_avg_response_time
Appelle directement l'outil d'analyse pour renvoyer le temps de réponse moyen avec des comparaisons entre périodes.
“Crée une carte sur le tableau Sprint avec ce rapport de bug”
list_boards → list_columns → create_card
Trouve le tableau Sprint, identifie la bonne colonne (par exemple Backlog) et crée une carte avec les détails du bug.
“Attribue toutes les conversations liées à la facturation à Camille”
filter_threads → move_threads_bulk
Filtre les fils portant le libellé FACTURATION, puis les déplace en masse dans la colonne attribuée à Camille.
“Cherche la politique de remboursement dans notre base de connaissances”
search_knowledge
Recherche dans la base de connaissances et renvoie les articles correspondants, avec des extraits.
Développement
Clonez le dépôt et lancez-le en local :
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.jsPour le développement avec recompilation automatique :
npm run devLiens
Dépôt GitHub : code source, issues, contributions
Paquet npm: @dragapp/mcp-server
Model Context Protocol : spécification MCP
Documentation de l'API REST : référence de l'API REST de DragApp
Licence : MIT
Besoin d'aide ?
Centre d'aide : guides et tutoriels
support@dragapp.com : support par e-mail
Issues GitHub : signalements de bugs et demandes de fonctionnalités
