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.

  1. 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
  2. Cliquez sur Connect. Une page de connexion Drag s'ouvre dans votre navigateur et vous demande votre clé API DragApp.
  3. 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 :

Terminal
npx -y @dragapp/mcp-server

Ou installez-le globalement :

Terminal
npm install -g @dragapp/mcp-server

Authentification

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 :

Configuration MCP
{
  "mcpServers": {
    "dragapp": {
      "command": "npx",
      "args": ["-y", "@dragapp/mcp-server"],
      "env": {
        "DRAG_API_KEY": "your-api-key"
      }
    }
  }
}

Emplacements du fichier de configuration

ClientChemin 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é.

E-mail

8
OutilDescription
list_threadsListe les fils d'e-mails d'une colonne donnée d'un tableau
get_threadRécupère un e-mail avec son corps HTML complet
reply_to_threadRépond à un fil d'e-mails existant
send_new_emailEnvoie un nouvel e-mail depuis un tableau
search_threadsRecherche des fils dans tous les tableaux
filter_threadsFiltre les fils par libellé, responsable ou statut
move_threadDéplace un fil vers une autre colonne
move_threads_bulkDéplace plusieurs fils à la fois

Tableaux

5
OutilDescription
list_boardsListe tous les tableaux auxquels l'utilisateur authentifié a accès
get_boardRécupère les détails d'un tableau donné
list_columnsListe toutes les colonnes d'un tableau
list_board_membersListe tous les membres d'un tableau
list_teamsListe toutes les équipes de l'espace de travail

Cartes

6
OutilDescription
list_cards_in_columnListe toutes les cartes d'une colonne donnée
get_cardRécupère les détails d'une carte donnée
create_cardCrée une nouvelle carte dans une colonne
update_cardMet à jour les propriétés d'une carte (titre, description, responsable, échéance)
move_cardDéplace une carte vers une autre colonne ou position
archive_cardArchive une carte

Libellés

4
OutilDescription
list_labelsListe tous les libellés disponibles sur un tableau
add_label_to_threadAjoute un libellé à un fil d'e-mails
remove_label_from_threadRetire un libellé d'un fil d'e-mails
toggle_labelsAffiche ou masque les libellés sur un tableau

Commentaires

2
OutilDescription
add_commentAjoute un commentaire interne à une carte ou à une conversation
get_commentRécupère les détails d'un commentaire donné

Étiquettes

2
OutilDescription
list_tagsListe toutes les étiquettes de l'espace de travail
add_tag_to_cardAjoute une étiquette à une carte

Tâches

1
OutilDescription
create_taskCrée une tâche (élément de checklist) sur une carte

Contacts

3
OutilDescription
search_contactsRecherche des contacts par nom ou adresse e-mail
get_contact_conversationsRécupère toutes les conversations avec un contact donné
create_contactCrée un nouveau contact dans l'espace de travail

Base de connaissances

5
OutilDescription
list_articlesListe tous les articles de la base de connaissances
get_articleRécupère le contenu complet d'un article de la base de connaissances
create_articleCrée un nouvel article dans la base de connaissances
update_articleMet à jour un article existant de la base de connaissances
search_knowledgeRecherche dans la base de connaissances par requête

Statistiques

4
OutilDescription
get_response_timesRécupère les indicateurs de temps de réponse d'un tableau
get_avg_response_timeRécupère le temps de réponse moyen sur l'ensemble des tableaux
get_daily_activityRécupère les indicateurs d'activité quotidienne (conversations créées, répondues, résolues)
get_closed_activityRécupère les indicateurs des conversations fermées/résolues

Automatisations

3
OutilDescription
list_automationsListe toutes les automatisations configurées sur un tableau
toggle_automationActive ou désactive une automatisation précise
toggle_ai_draftsActive ou désactive la génération de brouillons par IA sur un tableau

WhatsApp

4
OutilDescription
get_whatsapp_conversationRé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_templatesListe 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_messageEnvoie 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_templateEnvoie 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 :

Terminal
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

Pour le développement avec recompilation automatique :

Terminal
npm run dev

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