DE
Cursor · MCP Server

Cursor MCP Server: Messaging und E-Mail in Ihrer IDE

Eine URL und ein Header fügen den Unipile MCP-Server zu Cursor hinzu. Ihr Agent baut dann LinkedIn-, WhatsApp- und E-Mail-Features in Ihr Projekt ein.
7 Tage kostenlos testen, ohne Kreditkarte.
Cursor · crm-app
Unipile MCP verbunden
Sarah
Verbinde LinkedIn-Konten mit meinem CRM.
Endpoint lesenPOST /v2/auth/linkSchema geladen
Connect-Route und Settings-Button ergänzt. Die Konto-ID wird am Nutzer gespeichert.
3 Dateien geändert · in der Development-App getestet
Nächstes Feature beschreiben…
Die Aufgabe

Was Sie erreichen wollen

Ihr Produkt um eine LinkedIn-, WhatsApp-, E-Mail- oder Kalenderverbindung erweitern. Das heißt: eine API-Referenz lesen, die richtigen Endpoints wählen, Hosted Auth und seine Callbacks verkabeln und dann die richtigen IDs von der Suche bis zur Nachricht behalten. Mit dem Unipile MCP-Server in Cursor übernimmt der Agent das Lesen und schreibt den Code in Ihrem Stack.
Den Unipile MCP-Server mit Cursor verbindenUnipile MCP verbunden
Wählen Sie die Kanäle, die Sie verbinden möchtendeveloper.unipile.com/mcp
Alle Kanäle verbinden9 Kanäle
LinkedInLinkedIn/v2/{account_id}/chats
WhatsAppWhatsApp/v2/{account_id}/chats
InstagramInstagram/v2/{account_id}/chats
TelegramTelegram/v2/{account_id}/chats
GmailGmail/v2/{account_id}/emails
OutlookOutlook/v2/{account_id}/emails
IMAPIMAP/v2/{account_id}/emails
Google CalendarGoogle Calendar/v2/{account_id}/calendars
Outlook CalendarOutlook Calendar/v2/{account_id}/calendars
↑↓navigieren Leertasteauswählen ↵verbindeneine URL, ein Header
Ohne Tabs, Raten, Glue Code
Cursor rät Endpoint-Namen und Payloads aus Trainingsdaten und liegt bei den IDs falsch.
Sie kopieren Schemas aus der Referenz in den Chat, einen Endpoint nach dem anderen.
Der erste echte Aufruf passiert in Production, nach dem Code-Review.
Mit dem Unipile MCP-Server Das Ergebnis in Ihrer Anwendung
Eine Connect-Route und ein Settings-Button: Jeder Nutzer verbindet sein eigenes Konto über Hosted Auth.
Ein Webhook-Empfänger und ein Posteingang, der Nachrichten und E-Mails zeigt, sobald sie ankommen.
Jede Anfrage bereits einmal in Ihrer Development-Anwendung ausgeführt, bevor Sie den Diff prüfen.
mcp.json, global oder pro Projekt

Unipile MCP-Server für Cursor

Der Server ist remote: eine URL über streamable HTTP und ein Header. Kein npx, kein lokaler Prozess, keine Node-Version zu verwalten. Wählen Sie, wo der Eintrag liegt, fügen Sie den Block aus der offiziellen Dokumentation ein, speichern Sie, und Cursor lädt den Server.
Cursor auf aktuellem Stand, mit MCP in Customize (Sidebar) oder über die Cursor CLI.
Eine Development-Anwendung im Unipile-Dashboard, mit einem Scope und einem Scoped Account API Key.
Mindestens ein Testkonto, das über Hosted Auth mit diesem Scope verbunden ist, damit der Agent echte Anfragen ausführen kann.
G
Globale Konfiguration~/.cursor/mcp.json
P
Projektkonfiguration.cursor/mcp.json (Wurzelverzeichnis des Repositories)
U
Key aus einer Umgebungsvariablen${env:UNIPILE_API_KEY}
?
Global oder pro Projekt?Global, wenn Sie mehrere Unipile-Integrationen auf einer Maschine bauen. Pro Projekt, wenn jedes Repository seinen eigenen Scoped Key braucht, was richtig ist, sobald Development und Production in verschiedenen Repositories liegen. Cursor liest zuerst das Projekt, dann global.
~/.cursor/mcp.json
{ "mcpServers": { "unipile": { "url": "https://developer.unipile.com/mcp?branch=v2.0", "headers": { "X-API-KEY": "your-scoped-api-key" } } } }
{ "mcpServers": { "unipile": { "url": "https://developer.unipile.com/mcp?branch=v2.0", "headers": { "X-API-KEY": "your-scoped-api-key" } } } }
{ "mcpServers": { "unipile": { "url": "https://developer.unipile.com/mcp?branch=v2.0", "headers": { "X-API-KEY": "${env:UNIPILE_API_KEY}" } } } }
Speichern Sie die Datei. Cursor lädt den Server und listet ihn in Customize auf. Cursor löst ${env:NAME} in url und headers auf, der Key muss also nie in der Datei stehen.
Optional: Installation mit einem Klick Fügen Sie Ihren Scoped Account API Key ein, um einen Installationslink zu erhalten, der Cursor mit vorausgefülltem Server öffnet. Alles läuft in Ihrem Browser; der Key wird nie an unipile.com gesendet. Lassen Sie das Feld leer, installiert der Link den Server mit einem Platzhalter, den Sie in Cursor ersetzen.
Unipile zu Cursor hinzufügen
Prüfen

Die Verbindung prüfen

Drei Prüfungen, im Editor, in der CLI und dann im Chat. Keine davon berührt ein verbundenes Konto.
1In CustomizeÖffnen Sie Customize in der Sidebar: Der Server unipile ist gelistet, aktiviert und zeigt seinen Status. Der Schalter deaktiviert ihn, ohne den Eintrag zu entfernen.
2In der Cursor CLIDie CLI teilt sich die Konfiguration mit dem Editor, zuerst Projekt, dann global.agent mcp list # oder /mcp list in einer interaktiven Session
3Im Chat, ohne ein Konto zu berührenFragen Sie etwas, das nur die API-Spezifikation liest. Antwortet der Agent mit echten Routen und Parametern, ist der Server verkabelt.Liste über den Unipile MCP die Endpoints für die LinkedIn-Personensuche und ihre Pflichtparameter auf.
Prompts statt Glue Code

Geben Sie Ihrem Agenten den Prompt

Drei Integrationsaufgaben, jeweils mit dem exakten Prompt zum Einfügen in Cursor, den Unipile-Endpoints, die der Agent liest und aufruft, und dem, was in Ihrem Projekt landet. Die Pfade sind vollständig, auf der API-Basis-URL https://api.unipile.com, mit Ihrem Scoped Key im X-API-KEY Header.
Cursor · ats-appDevelopment-App
Ergänze mein ATS um LinkedIn-Messaging: Synchronisiere den Posteingang jedes Recruiters und lass ihn von der Kandidatenseite aus antworten.
Endpoints suchen"chats messages send"3 Treffer
Anfrage ausführenGET /v2/{account_id}/chats12 Chats
Erstellt: linkedin/inbox-sync.ts (Chats und Nachrichten am Kandidaten upserted, Cursor-Pagination) und POST /candidates/:id/reply, das die Send-Route mit der Konto-ID des jeweiligen Chats aufruft. Sync in der Development-App ausgeführt: 12 Chats, 87 Nachrichten.3 Dateien geändert · in der Development-App getestet

Prompt einfügen, Diff prüfen

Cursor liest die Chat- und Nachrichten-Verträge über den Server, schreibt den Sync-Job und den Antwort-Endpoint in Ihrem Stack und führt die ersten Anfragen in Ihrer Development-Anwendung aus. WhatsApp, Instagram und Telegram nutzen dieselben Chat-Routen, der zweite Kanal ist also ein kleinerer Prompt als der erste.
Endpoints, die der Agent nutzt
GET/v2/{account_id}/chatsGET/v2/{account_id}/chats/{chat_id}/messagesPOST/v2/{account_id}/chats/{chat_id}/messages/send
Häufiger Fehler: IDs vermischen. Eine Nachricht wird immer über das Konto gesendet, dem der Chat gehört; halten Sie account_id und chat_id vom Listen-Aufruf bis zum Send-Aufruf zusammen.
Eine LinkedIn-Integration bauen
Cursor · crm-appDevelopment-App
Implementiere Unipile Hosted Auth in dieser React- und Fastify-App, damit Nutzer ihr eigenes LinkedIn-Konto aus den Settings verbinden.
Endpoint lesenPOST /v2/auth/linkSchema geladen
Anfrage ausführenPOST /v2/auth/link201 · link
Ergänzt POST /api/accounts/connect in Fastify: erstellt den Auth-Link serverseitig und gibt die gehostete URL zurück. Die React-Settings-Seite öffnet sie und speichert bei der Rückkehr die neue account_id am Workspace. In der Development-App mit einem LinkedIn-Testkonto verifiziert.4 Dateien geändert · Connect-Flow end-to-end getestet

Ihre Nutzer verbinden ihre eigenen Konten, Ihre App erhält eine Konto-ID

Hosted Auth ist die Seite, die Unipile Ihren Nutzern ausliefert, damit sie LinkedIn, WhatsApp, Gmail, Outlook oder einen Kalender selbst verbinden. Der Agent verkabelt die Link-Erstellung im Backend, die Weiterleitung im Frontend und die Speicherung der Konto-ID, die jede spätere Anfrage braucht.
Endpoints, die der Agent nutzt
POST/v2/auth/linkPOST/v2/auth/intentGET/v2/accounts/{account_id}
Häufiger Fehler: Den Auth-Link im Browser erstellen. Der Link wird auf Ihrem Server mit Ihrem Key erstellt; das Frontend erhält nur die gehostete URL.
Hosted Auth mit einem Agenten implementieren
Cursor · support-consoleDevelopment-App
Abonniere die Webhooks für neue Nachrichten und baue eine Unified Inbox für LinkedIn, WhatsApp und E-Mail: eine Thread-Liste mit dem Kanal als Badge.
Endpoint lesenPOST /v2/webhooks/endpoints/Schema geladen
Anfrage ausführenGET /v2/{account_id}/emails200 OK
Webhook-Endpoint für Message-Events in der Development-App registriert, POST /webhooks/unipile ergänzt, das sofort 200 zurückgibt und das Event in die Queue legt, dazu ein Modell Thread , das Chats und E-Mail-Threads auf eine Struktur abbildet, und die Thread-Liste mit Kanal-Badges. Testnachricht gesendet: Die Liste wurde in unter einer Sekunde aktualisiert.6 Dateien geändert · 3 Kanäle in einer Liste

Echtzeit ohne Polling, eine Liste für Messaging und E-Mail

Chats und E-Mails kommen aus zwei Routen-Familien mit je einem Schema. Der Agent liest beide Verträge, entwirft das gemeinsame Modell, schreibt den Sync und den Webhook-Empfänger und prüft danach das Delivery-Log über die Webhook-Conversations-Route.
Endpoints, die der Agent nutzt
POST/v2/webhooks/endpoints/GET/v2/{account_id}/chatsGET/v2/{account_id}/emailsGET/v2/webhooks/conversations/
Häufiger Fehler: Die Arbeit im Webhook-Handler erledigen. Bestätigen Sie sofort mit 2xx und verarbeiten Sie das Event asynchron, sonst laufen die Zustellungen in Timeouts und werden wiederholt.
Eine Unified Inbox mit einem Agenten bauen
Von Development zu Production

Zuerst in einer Development-Anwendung testen

Das Unipile-Dashboard trennt eine Development-Anwendung von einer Production-Anwendung. Geben Sie Cursor einen Scoped Key aus der Development-Anwendung, mit ein oder zwei über Hosted Auth verbundenen Testkonten. Der Agent führt echte Anfragen auf diesen Konten aus, im Namen des authentifizierten Nutzers, der sie verbunden hat, innerhalb der Limits jedes Anbieters, und bis zum Release wird kein Konto Ihrer Nutzer berührt.
Validieren Sie den Connect-Flow end-to-end: Auth-Link serverseitig erstellt, Konto-ID am Nutzer gespeichert.
Validieren Sie pro Feature einen Lese- und einen Schreibvorgang: Chats auflisten, eine Nachricht über das Testkonto senden.
Validieren Sie eine Webhook-Zustellung und einen Reconnect- oder Checkpoint-Zustand, bevor Sie den Key auf Production umstellen.
crm-app · DevelopmentVon Cursor genutzt
Scopedev-tests · 2 Konten
Keyscoped Account API key
KontenLinkedIn-Testkonto, Gmail-Testpostfach
Webhooks1 Endpoint · Message-Events
crm-app · ProductionUnberührt
Scopeeiner pro Workspace
Keyscoped keys, in your backend only
Kontendie eigenen Konten Ihrer Nutzer, über Hosted Auth
Fehlerbehebung

Häufige Fehler und was sie bedeuten

Die Meldungen, die Cursor zeigt, wenn ein MCP-Eintrag nicht stimmt, und die jeweilige Lösung. Meistens liegt es an der Datei, am JSON oder am Key.
No tools or prompts
Cursor hat den Eintrag geladen, aber nichts vom Server zurückbekommen. LösungPrüfen Sie die bearbeitete Datei (global ~/.cursor/mcp.json oder projektbezogen .cursor/mcp.json im Wurzelverzeichnis des Repositories), validieren Sie das JSON (ein überzähliges Komma ist der übliche Übeltäter), laden Sie den Server dann aus Customize neu oder starten Sie Cursor neu.
No server info found
Der Eintrag ist vorhanden, aber Cursor kann den Server nicht beschreiben. LösungDie url muss exakt https://developer.unipile.com/mcp?branch=v2.0lauten, als Remote-Eintrag mit url und headers, nicht command. Entfernen Sie jedes type: "stdio" , das von einem anderen Server übrig ist.
Connection failed
Die URL antwortet, aber nicht als MCP-Server. LösungEin Tippfehler im Host oder in ?branch=v2.0, oder ein Unternehmens-Proxy, der die Anfrage blockiert. Öffnen Sie die URL im Browser: Sie muss antworten, nicht 404 liefern.
401 Unauthorized bei Anfragen
Der Server ist verbunden, aber eine Anfrage schlägt fehl. LösungDer Key fehlt in headers, der Header-Name ist nicht X-API-KEY, oder Sie haben einen Service- oder globalen Account-Key statt eines Scoped Account API Key aus Ihrer Development-Anwendung verwendet.
Die Projektkonfiguration wird ignoriert
Cursor nutzt weiter den globalen Eintrag oder gar keinen. Lösung.cursor/mcp.json muss im Wurzelverzeichnis des in Cursor geöffneten Ordners liegen, nicht in einem Unterordner. Cursor liest zuerst das Projekt, dann global, dann die übergeordneten Verzeichnisse.
Wo Sie die Logs finden
Jeder Fall oben hinterlässt eine Spur. LösungÖffnen Sie das Output-Panel (Cmd+Shift+U auf macOS, Ctrl+Shift+U auf Windows und Linux) und wählen Sie MCP Logs im Dropdown: Initialisierung, Anfragen und Fehler stehen dort.
6000+ Unternehmen, die mit Unipile innovieren
Vertrauen bei Branchenführern
1 API
Rationalisierung der Abläufe für alle wichtigen Kommunikationskanäle
2 Tage
Schnelle Live-Integration mit minimaler Einrichtung
30%
Verringerung des Wartungsaufwands und der Ressourcen

Integrierte Sicherheit und Compliance

Unternehmensgerechter Schutz für Ihre Daten und Arbeitsabläufe Erfahren Sie mehr über unsere Sicherheit
SOC 2 Typ II
SOC 2 Typ II
Zertifiziert
Unabhängig geprüfte Sicherheitskontrollen zur Gewährleistung des Datenschutzes und der betrieblichen Integrität.
GDPR
GDPR
Konform
Vollständige Einhaltung der europäischen Datenschutzbestimmungen zum Schutz der Privatsphäre der Nutzer.
99.9%
Betriebszeit der Plattform in den letzten 24 Monaten
24/7
Globaler Support mit leistungsstarker API

FAQ zum Cursor MCP-Server

Die Fragen, die wirklich gestellt werden: wo mcp.json liegt, global oder pro Projekt, Remote-Server und Header, was zu prüfen ist, wenn nichts erscheint, Keys, Ein-Klick-Installation und die CLI.
An zwei Orten. ~/.cursor/mcp.json im Home-Verzeichnis ist die globale Konfiguration, in jedem Projekt verfügbar. .cursor/mcp.json im Wurzelverzeichnis des in Cursor geöffneten Ordners ist die Projektkonfiguration. Cursor liest zuerst die Projektdatei, dann die globale, dann die übergeordneten Verzeichnisse. Beide nehmen denselben mcpServers Block.
Global, wenn Sie mehrere Unipile-Integrationen auf einer Maschine und mit einer Development-Anwendung bauen. Pro Projekt, wenn jedes Repository seinen eigenen Scoped Key braucht, was richtig ist, sobald Development- und Production-Integrationen in verschiedenen Repositories liegen. In beiden Fällen ist der Key ein Scoped Account API Key, nie ein Service- oder globaler Key.
Ja. Ein Remote-Eintrag in mcp.json nimmt eine url und ein Objekt headers entgegen, und Cursor löst ${env:NAME} in beiden auf. Der Unipile-Server ist genau das: streamable HTTP unter https://developer.unipile.com/mcp?branch=v2.0 mit dem X-API-KEY Header. Kein npx, kein lokaler Prozess, keine Node-Version zu verwalten.
In dieser Reihenfolge: die bearbeitete Datei (global oder Projekt, im Wurzelverzeichnis des Repositories), die Gültigkeit des JSON, ein Neuladen des Servers aus Customize oder ein Neustart von Cursor, danach die MCP Logs im Output-Panel (Cmd+Shift+U, MCP Logs wählen). Verbindet sich der Server, schlagen Anfragen aber mit 401 fehl, fehlt der Key im Header oder er ist kein Scoped Account API Key.
Der Server antwortet ohne Key, solange der Agent nur die API-Spezifikation liest. Für echte Anfragen erstellen Sie in Ihrer Development-Anwendung einen Scope, weisen die Testkonten zu und erzeugen einen Scoped Account API Key für diesen Scope. Geben Sie einem MCP-Client nie einen Service-Key oder einen globalen Account-Key.
Ja. Der Installationslink auf dieser Seite kodiert die Serverkonfiguration; er öffnet Cursor mit vorausgefülltem unipile-Eintrag, und Sie ersetzen den Platzhalter durch Ihren Scoped Key. Der optionale Generator oben baut denselben Link mit Ihrem Key, vollständig in Ihrem Browser.
Ja. Die CLI teilt sich die Konfiguration mit dem Editor, zuerst Projekt, dann global. agent mcp list zeigt die konfigurierten Server und ihren Status, und /mcp list tut dasselbe innerhalb einer interaktiven Session. Der Agent nutzt den Unipile-Server dann, sobald eine Anfrage es erfordert.