MCP-Integration
Model Context Protocol für KI-Assistenten
Model Context Protocol (MCP) ist ein offener Standard von Anthropic, der KI-Assistenten (wie Claude, Cursor, VS Code Copilot) die Integration mit externen Tools und Datenquellen ermöglicht.
So funktioniert es
Der KI-Assistent kommuniziert mit dem MCP-Server über das STDIO-Protokoll, und der MCP-Server führt Operationen auf NetSendo über die REST API v1 aus.
┌─────────────────┐ STDIO ┌─────────────────┐ HTTP/S ┌─────────────────┐ │ Claude/Cursor │ ◄──────────► │ MCP Server │ ◄───────────► │ NetSendo │ │ (AI Client) │ │ (Docker/npx) │ │ (Your inst.) │ └─────────────────┘ └─────────────────┘ └─────────────────┘
Installation
Voraussetzungen
- Node.js 18+
- API-Schlüssel von NetSendo
Schritte
- API-Schlüssel generieren: Einstellungen → API-Schlüssel
- Node.js von nodejs.org installieren
- KI-Tool mit der folgenden Konfiguration einrichten
Claude Desktop und Cursor
{
"mcpServers": {
"netsendo": {
"command": "npx",
"args": [
"-y",
"@netsendo/mcp-client",
"--url",
"https://your-domain.com",
"--api-key",
"YOUR_API_KEY"
]
}
}
}VS Code .vscode/mcp.json
VS Code liest MCP-Server aus .vscode/mcp.json im Workspace (oder aus deinem Benutzerprofil über den Befehl "MCP: Open User Configuration"). Diese Datei verwendet den Schlüssel "servers" auf oberster Ebene statt "mcpServers".
{
"servers": {
"netsendo": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@netsendo/mcp-client",
"--url",
"https://your-domain.com",
"--api-key",
"YOUR_API_KEY"
]
}
}
}Ersetze https://your-domain.com durch deine NetSendo-URL und YOUR_API_KEY durch deinen API-Schlüssel.
Voraussetzungen
- Docker installiert und gestartet
- Zugriff auf die docker-compose.yml von NetSendo
Schritte
- API-Schlüssel generieren: Einstellungen → API-Schlüssel
- API-Schlüssel für MCP in den Einstellungen markieren
- Schlüssel zur .env-Datei hinzufügen:
MCP_API_KEY=your-api-key - MCP-Container bauen:
docker compose build mcp - KI-Tool mit der folgenden Konfiguration einrichten
Claude Desktop und Cursor
{
"mcpServers": {
"netsendo": {
"command": "docker",
"args": [
"compose",
"-f",
"/path/to/NetSendo/docker-compose.yml",
"run",
"--rm",
"-i",
"mcp"
]
}
}
}Ersetze /path/to/NetSendo durch den vollständigen Pfad zu deinem NetSendo-Verzeichnis.
Trage in VS Code denselben Eintrag "netsendo" unter dem Schlüssel "servers" auf oberster Ebene in .vscode/mcp.json ein und ergänze "type": "stdio".
Speicherorte der Konfigurationsdateien
| Client | Dateipfad |
|---|---|
| Claude Desktop (macOS) | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Claude Desktop (Windows) | %APPDATA%\Claude\claude_desktop_config.json |
| Cursor IDE | Einstellungen → MCP → Server hinzufügen |
| VS Code | .vscode/mcp.json |
Unterstützte KI-Clients
Offizielle Claude Desktop-App von Anthropic
IDE mit integrierter KI für Entwickler
Visual Studio Code mit GitHub Copilot (Agentenmodus)
Verfügbare Funktionen
Abonnenten
Kontakte verwalten – hinzufügen, bearbeiten, löschen
Kontaktlisten
Mailinglisten durchsuchen und organisieren
E-Mail-Nachrichten
Personalisierte E-Mails versenden
SMS-Nachrichten
SMS an Kontakte senden
Tags
Abonnenten mit Tags kategorisieren
Statistiken
Konto- und Zustellstatistiken prüfen
Verfügbare Tools
Version 1.5.1 von @netsendo/mcp-client bietet 77 Tools in 15 Gruppen.
Abonnenten (6)
| Tool | Beschreibung |
|---|---|
| list_subscribers | Abonnenten mit Filter und Pagination auflisten |
| get_subscriber | Abonnenten per ID oder E-Mail-Adresse abrufen |
| create_subscriber | Abonnenten anlegen, optional mit Listen und Tags |
| update_subscriber | Abonnentendaten aktualisieren |
| delete_subscriber | Abonnenten endgültig löschen |
| sync_subscriber_tags | Alle Tags eines Abonnenten ersetzen |
Kontaktlisten, Tags und benutzerdefinierte Felder (9)
| Tool | Beschreibung |
|---|---|
| list_contact_lists | Alle Kontaktlisten mit Abonnentenzahl und Standardpostfach abrufen |
| get_contact_list | Details einer Kontaktliste inkl. Standardpostfach abrufen |
| get_list_subscribers | Abonnenten einer Kontaktliste abrufen |
| get_list_stats | Listenüberblick: Mitglieder nach Status, Engagement, Wachstum (30 Tage) und Versandeinstellungen |
| create_contact_list | E-Mail- oder SMS-Kontaktliste anlegen |
| update_contact_list | Listeneinstellungen ändern (nur übergebene Felder) |
| delete_contact_list | Kontaktliste löschen; die Kontakte bleiben im Konto |
| list_tags | Alle verfügbaren Tags abrufen |
| list_custom_fields | Alle benutzerdefinierten Felder abrufen |
Listenmitglieder (6)
| Tool | Beschreibung |
|---|---|
| add_list_members | Bestehende Kontakte einer Liste hinzufügen |
| remove_list_members | Kontakte von einer Liste entfernen und geplante Nachrichten abbrechen |
| set_member_status | Mitgliedsstatus ändern: aktiv, inaktiv, abgemeldet oder gebounct |
| copy_list_members | Kontakte in eine andere Liste desselben Kanals kopieren |
| move_list_members | Kontakte in eine andere Liste desselben Kanals verschieben |
| tag_list_members | Tags für ein Segment einer Liste hinzufügen oder entfernen |
Import (2)
| Tool | Beschreibung |
|---|---|
| preview_list_import | Import testen: Spaltenzuordnung, ungültige Adressen und Duplikate, ohne zu speichern |
| import_subscribers | Kontakte aus CSV, TSV, JSON oder einer Adressliste in eine Liste importieren |
Export (3)
| Tool | Beschreibung |
|---|---|
| export_list | Listenmitglieder direkt als JSON, CSV oder NDJSON exportieren, mit Filtern |
| get_export_fields | Exportierbare Spalten inkl. benutzerdefinierter Felder anzeigen |
| queue_list_export | Vollständigen CSV-Export einreihen; der Kontoinhaber erhält einen Download-Link |
Listenhygiene (5)
| Tool | Beschreibung |
|---|---|
| analyze_list_health | Hygienebericht (nur lesend) mit Score von 0–100 und Empfehlungen |
| clean_list | Aktion auf Mitglieder ausgewählter Problemkategorien anwenden (standardmäßig Probelauf) |
| dedupe_list | Doppelte Adressen zusammenführen, auch Gmail-Aliase mit Punkt und +Tag |
| verify_list_emails | Zustellbarkeit prüfen: Syntax, Wegwerf- und Rollenadressen, Tippfehler-Domains, MX-Einträge |
| get_hygiene_options | Von clean_list akzeptierte Kategorien und Aktionen zurückgeben |
Sperrliste (3)
| Tool | Beschreibung |
|---|---|
| list_suppressions | Kontoweite Sperrliste mit Grund und Datum anzeigen |
| suppress_emails | Adressen sperren und von allen Listen abmelden |
| unsuppress_emails | Sperre für Adressen aufheben (meldet niemanden wieder an) |
Aktivität und Engagement (3)
| Tool | Beschreibung |
|---|---|
| get_list_activity | Ereignis-Feed einer Liste: Anmeldungen, Abmeldungen, Bounces, Versand, Öffnungen, Klicks |
| get_list_engagement | Listen-Performance: Wachstum, Abwanderung, Öffnungs- und Klickraten, Top-Nachrichten und -Links |
| get_subscriber_activity | Gesamte Historie eines Kontakts: Listen, Tags, geplante Nachrichten und Zeitachse |
E-Mail- und SMS-Nachrichten (6)
| Tool | Beschreibung |
|---|---|
| list_mailboxes | Verfügbare Absender-Postfächer abrufen |
| send_email | Einzelne E-Mail an einen Abonnenten senden |
| get_email_status | E-Mail-Zustellstatus prüfen |
| list_sms_providers | Verfügbare SMS-Anbieter abrufen |
| send_sms | Einzelne SMS an einen Abonnenten oder eine Telefonnummer senden |
| get_sms_status | SMS-Zustellstatus prüfen |
Kampagnen (10)
| Tool | Beschreibung |
|---|---|
| list_campaigns | E-Mail- und SMS-Kampagnen mit Filter auflisten |
| get_campaign | Kampagnendetails inkl. Listen und Ausschlüssen abrufen |
| create_campaign | E-Mail- oder SMS-Kampagne anlegen (als Entwurf) |
| update_campaign | Entwurf oder geplante Kampagne aktualisieren |
| set_campaign_lists | Empfängerlisten einer Kampagne festlegen |
| set_campaign_exclusions | Ausschlusslisten festlegen, deren Abonnenten die Kampagne nicht erhalten |
| schedule_campaign | Kampagne für später planen, mit Zeitzonen-Unterstützung |
| send_campaign | Kampagne sofort senden oder Autoresponder aktivieren |
| get_campaign_stats | Versandstatistiken einer Kampagne abrufen |
| delete_campaign | Entwurf oder geplante Kampagne löschen |
A/B-Tests (7)
| Tool | Beschreibung |
|---|---|
| list_ab_tests | A/B-Tests auflisten, gefiltert nach Status oder Kampagne |
| create_ab_test | A/B-Test für eine Kampagne anlegen |
| add_ab_variant | Variante zu einem A/B-Test hinzufügen |
| start_ab_test | A/B-Test starten (mindestens 2 Varianten) |
| end_ab_test | Laufenden Test beenden und optional den Gewinner wählen |
| get_ab_test_results | Detaillierte Ergebnisse und Statistiken eines Tests abrufen |
| delete_ab_test | Nicht laufenden A/B-Test löschen |
Funnels (Automatisierung) (12)
| Tool | Beschreibung |
|---|---|
| list_funnels | Automatisierungs-Funnels auflisten |
| get_funnel | Funnel mit allen Schritten und Statistiken abrufen |
| create_funnel | Automatisierungs-Funnel anlegen |
| update_funnel | Funnel umbenennen oder Auslöser ändern |
| add_funnel_step | Schritt zu einem Funnel hinzufügen und verbinden |
| update_funnel_step | Einstellungen und Verbindungen eines Schritts ändern |
| delete_funnel_step | Schritt löschen und den Funnel darum herum neu verbinden |
| enroll_subscriber_in_funnel | Abonnenten sofort in einen aktiven Funnel aufnehmen |
| activate_funnel | Funnel für neue Abonnenten aktivieren |
| pause_funnel | Funnel pausieren |
| get_funnel_stats | Funnel-Statistiken abrufen: Abonnentenzahlen und Abschlussraten |
| delete_funnel | Funnel löschen (vorher pausieren) |
Benachrichtigungen (2)
| Tool | Beschreibung |
|---|---|
| send_notification | Benachrichtigung an das Benachrichtigungscenter des Kontoinhabers senden |
| list_notifications | Letzte Benachrichtigungen des Inhabers und Anzahl ungelesener abrufen |
Personalisierung (1)
| Tool | Beschreibung |
|---|---|
| list_placeholders | Platzhalter zur Personalisierung von E-Mail- und SMS-Inhalten abrufen |
Konto (2)
| Tool | Beschreibung |
|---|---|
| test_connection | API-Verbindung und Zugangsdaten testen |
| get_account_info | Informationen zum verbundenen Konto abrufen |
Weitere Tool-Gruppen (Automatisierungen, Formulare, Vorlagen, Webhooks…) folgen mit dem nächsten Release des MCP-Clients.
Beispielanfragen
Sicherheit
Fehlerbehebung
- Stelle sicher, dass NetSendo läuft und erreichbar ist
- Prüfe, ob der API-Schlüssel gültig ist
- Überprüfe die URL (inkl. https://)
Starte dein KI-Tool nach Konfigurationsänderungen neu.
Installiere Node.js von nodejs.org (enthält npm/npx).
Mehrere NetSendo-Instanzen
Du kannst dich mit mehreren NetSendo-Instanzen verbinden, indem du verschiedene Servernamen verwendest:
{
"mcpServers": {
"netsendo-production": {
"command": "npx",
"args": ["-y", "@netsendo/mcp-client", "--url", "https://app.company.com", "--api-key", "prod-key"]
},
"netsendo-staging": {
"command": "npx",
"args": ["-y", "@netsendo/mcp-client", "--url", "https://staging.company.com", "--api-key", "staging-key"]
}
}
}
