MCP-Server

Der MCP-Server von DragApp bietet 47 Tools in 12 Kategorien, die jedem MCP-kompatiblen KI-Client vollen Zugriff auf Ihre Boards, E-Mails, Karten, Kontakte, Wissensdatenbank, Auswertungen und Automatisierungen geben.

Zwei Wege zur Verbindung: Fügen Sie die URL des gehosteten Endpunkts in die Connector-Einstellungen Ihres KI-Clients ein (der schnellste Weg, ohne Installation), oder führen Sie den Open-Source-Server lokal über eine Konfigurationsdatei aus. Dieselben Tools, dieselben Berechtigungen, so oder so.

Basiert auf dem Model Context Protocol (MCP). Open Source, MIT-Lizenz.


Verbinden (gehosteter Endpunkt)

Am schnellsten verbinden Sie sich über den gehosteten Endpunkt. Drei Schritte, etwa zwei Minuten. Keine Konfigurationsdatei, keine lokale Installation, kein Neustart.

  1. Fügen Sie den Connector hinzu. Fügen Sie in den Connector-Einstellungen Ihres KI-Clients (in Claude: Einstellungen › Connectors › Benutzerdefinierten Connector hinzufügen) diese URL ein und speichern Sie:
    Connector-URL
    https://app.dragapp.com/mcp
  2. Klicken Sie auf Connect. In Ihrem Browser öffnet sich eine Verbindungsseite von Drag und fragt nach Ihrem DragApp-API-Schlüssel.
  3. Geben Sie Ihren API-Schlüssel ein. Kopieren Sie ihn in DragApp unter Einstellungen › Integrationen, fügen Sie ihn auf der Verbindungsseite ein und senden Sie ab. Drag prüft den Schlüssel und übergibt ihn Ihrem Client als Zugriffstoken. Die Verbindung ist aktiv.

Zur Überprüfung bitten Sie Ihren Client: „Liste die Boards in meinem DragApp auf.“ Beim ersten Einsatz jedes Tools fragt er Sie um Erlaubnis, sodass Sie genau steuern, was er tun darf.

Der Schlüssel wird nur einmal eingegeben, und zwar ausschließlich auf der Verbindungsseite. Er erscheint nie in einer Webadresse, und der MCP-Dienst speichert nichts auf seinen eigenen Servern.

Technisch ist das ein standardmäßiger OAuth-2.1-Authorization-Code-Flow mit PKCE und dynamischer Client-Registrierung, bereitgestellt über den Streamable-HTTP-Transport von MCP, sodass sich jeder Client verbinden kann, der Remote-MCP-Connectors unterstützt.


Installation (lokaler Weg)

Sie möchten den Server lieber selbst betreiben oder nutzen einen Client mit Konfigurationsdatei wie Cursor, Windsurf oder Claude Code? Das npm-Paket wird weiterhin vollständig unterstützt. Direkt mit npx ausführen, ohne Installation:

Terminal
npx -y @dragapp/mcp-server

Oder global installieren:

Terminal
npm install -g @dragapp/mcp-server

Authentifizierung

Beide Wege authentifizieren sich mit Ihrem DragApp-API-Schlüssel, und die Verbindung übernimmt in jedem Fall Ihre bestehenden Drag-Berechtigungen. Beim gehosteten Endpunkt geben Sie den Schlüssel einmal auf der sicheren Verbindungsseite ein, und er wird zum Zugriffstoken Ihres Clients; der MCP-Dienst speichert nichts. Beim lokalen Weg liest der Server den Schlüssel aus der Umgebungsvariable DRAG_API_KEY.

Ihren API-Schlüssel erhalten Sie unter Einstellungen und dann Integrationen in Drag. Dort können Sie ihn jederzeit widerrufen.

Ihr API-Schlüssel gewährt vollen Zugriff auf Ihren DragApp-Arbeitsbereich. Halten Sie ihn geheim und committen Sie ihn niemals in die Versionsverwaltung.


Client-Einrichtung

Fügen Sie das folgende JSON in die MCP-Konfigurationsdatei Ihres KI-Clients ein:

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

Speicherorte der Konfigurationsdatei

ClientKonfigurationspfad
Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.json
Cursor.cursor/mcp.json
Windsurf~/.codeium/windsurf/mcp_config.json
Claude Code~/.claude.json oder .mcp.json

Tool-Referenz

47 Tools in 12 Kategorien. Jedes Tool steht automatisch jedem verbundenen MCP-Client zur Verfügung.

E-Mail

8
ToolBeschreibung
list_threadsListet E-Mail-Threads in einer bestimmten Spalte eines Boards auf
get_threadRuft eine einzelne E-Mail-Nachricht mit vollständigem HTML-Inhalt ab
reply_to_threadAntwortet auf einen bestehenden E-Mail-Thread
send_new_emailSendet eine neue E-Mail aus einem Board
search_threadsSucht Threads in allen Boards
filter_threadsFiltert Threads nach Label, Zuständigen oder Status
move_threadVerschiebt einen Thread in eine andere Spalte
move_threads_bulkVerschiebt mehrere Threads auf einmal

Boards

5
ToolBeschreibung
list_boardsListet alle Boards auf, auf die der authentifizierte Nutzer Zugriff hat
get_boardRuft die Details eines bestimmten Boards ab
list_columnsListet alle Spalten eines Boards auf
list_board_membersListet alle Mitglieder eines Boards auf
list_teamsListet alle Teams im Arbeitsbereich auf

Karten

6
ToolBeschreibung
list_cards_in_columnListet alle Karten einer bestimmten Spalte auf
get_cardRuft die Details einer bestimmten Karte ab
create_cardErstellt eine neue Karte in einer Spalte
update_cardAktualisiert Karteneigenschaften (Titel, Beschreibung, Zuständige(r), Fälligkeitsdatum)
move_cardVerschiebt eine Karte in eine andere Spalte oder Position
archive_cardArchiviert eine Karte

Labels

4
ToolBeschreibung
list_labelsListet alle auf einem Board verfügbaren Labels auf
add_label_to_threadFügt einem E-Mail-Thread ein Label hinzu
remove_label_from_threadEntfernt ein Label von einem E-Mail-Thread
toggle_labelsBlendet Labels auf einem Board ein oder aus

Kommentare

2
ToolBeschreibung
add_commentFügt einer Karte oder einem Thread einen internen Kommentar hinzu
get_commentRuft die Details eines bestimmten Kommentars ab

Tags

2
ToolBeschreibung
list_tagsListet alle Tags im Arbeitsbereich auf
add_tag_to_cardFügt einer Karte ein Tag hinzu

Aufgaben

1
ToolBeschreibung
create_taskErstellt eine Aufgabe (Checklistenpunkt) auf einer Karte

Kontakte

3
ToolBeschreibung
search_contactsSucht Kontakte nach Name oder E-Mail-Adresse
get_contact_conversationsRuft alle Konversationen mit einem bestimmten Kontakt ab
create_contactErstellt einen neuen Kontakt im Arbeitsbereich

Wissensdatenbank

5
ToolBeschreibung
list_articlesListet alle Artikel der Wissensdatenbank auf
get_articleRuft den vollständigen Inhalt eines Artikels der Wissensdatenbank ab
create_articleErstellt einen neuen Artikel in der Wissensdatenbank
update_articleAktualisiert einen bestehenden Artikel der Wissensdatenbank
search_knowledgeDurchsucht die Wissensdatenbank per Suchanfrage

Analysen

4
ToolBeschreibung
get_response_timesRuft Antwortzeit-Kennzahlen für ein Board ab
get_avg_response_timeRuft die durchschnittliche Antwortzeit über alle Boards ab
get_daily_activityRuft tägliche Aktivitätskennzahlen ab (erstellte, beantwortete, gelöste Konversationen)
get_closed_activityRuft Kennzahlen zu geschlossenen/gelösten Konversationen ab

Automatisierungen

3
ToolBeschreibung
list_automationsListet alle Automatisierungen eines Boards auf
toggle_automationAktiviert oder deaktiviert eine bestimmte Automatisierung
toggle_ai_draftsAktiviert oder deaktiviert KI-Entwürfe auf einem Board

WhatsApp

4
ToolBeschreibung
get_whatsapp_conversationRuft den vollständigen Nachrichtenverlauf einer WhatsApp-Konversation (Karte) auf einem WhatsApp-Board ab. Gibt die Chatnachrichten in Reihenfolge zurück. Verwenden Sie die cardId, die list_threads / search_threads auf einem WhatsApp-Board zurückgeben (das Feld `cardId`).
list_whatsapp_templatesListet die vorab genehmigten WhatsApp-Nachrichtenvorlagen auf, die auf einem WhatsApp-Board verfügbar sind. Gibt für jede Vorlage Name, Sprache, Status, Kategorie und Nachrichtentext zurück sowie die Anzahl der erwarteten {{n}}-Variablen. Nur Vorlagen mit Status APPROVED können gesendet werden.
send_whatsapp_messageEine WhatsApp-Nachricht mit freiem Text in eine bestehende Konversation senden. Hinweis: WhatsApp erlaubt Freitextnachrichten nur innerhalb des 24-Stunden-Kundenservicefensters, außerhalb davon verwenden Sie stattdessen send_whatsapp_template.
send_whatsapp_templateEine vorab freigegebene WhatsApp-Vorlagennachricht in eine Konversation senden. Damit erreichen Sie einen Kontakt außerhalb des 24-Stunden-Fensters. Rufen Sie zuerst list_whatsapp_templates auf, um den genauen Vorlagennamen und die Sprache zu erhalten und zu sehen, wie viele {{n}}-Variablen sie benötigt.

Beispiele

Prompts in natürlicher Sprache und die Tools, die der KI-Client im Hintergrund aufruft.

„Zeig mir ungelesene E-Mails im Support-Board“

list_boards → list_columns → list_threads

Der KI-Client findet das Support-Board, erkennt die richtige Spalte und listet Threads mit Betreff, Absender und Zeitstempel auf.

„Antworte auf die neueste E-Mail von Lena“

search_threads → get_thread → reply_to_thread

Sucht in allen Boards nach Threads von Lena, ruft die vollständige Nachricht ab und verfasst und sendet dann eine Antwort.

„Wie hoch ist unsere durchschnittliche Antwortzeit diese Woche?“

get_avg_response_time

Ruft das Analyse-Tool direkt auf und liefert die durchschnittliche Antwortzeit mit Vergleich zu früheren Zeiträumen.

„Erstelle eine Karte auf dem Sprint-Board mit diesem Fehlerbericht“

list_boards → list_columns → create_card

Findet das Sprint-Board, ermittelt die richtige Spalte (z. B. Backlog) und erstellt eine Karte mit den Details zum Bug.

„Alle Konversationen zur Abrechnung Lena zuweisen“

filter_threads → move_threads_bulk

Filtert Threads nach dem Label ABRECHNUNG und verschiebt sie dann gesammelt in die Spalte, die Lena zugewiesen ist.

„Durchsuche unsere Wissensdatenbank nach der Rückerstattungsrichtlinie“

search_knowledge

Durchsucht die Wissensdatenbank und liefert passende Artikel mit Auszügen.


Entwicklung

Klonen Sie das Repository und führen Sie es lokal aus:

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

Für die Entwicklung mit automatischem Rebuild:

Terminal
npm run dev

Brauchen Sie Hilfe?

Help Center: Leitfäden und Tutorials

support@dragapp.com: Support per E-Mail

GitHub-Issues: Fehlermeldungen und Funktionswünsche