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
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.
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öchten
developer.unipile.com/mcpAlle Kanäle verbinden9 Kanäle
↑↓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.
Globale Konfiguration~/.cursor/mcp.json
Projektkonfiguration.cursor/mcp.json (Wurzelverzeichnis des Repositories)
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.
{
"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.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.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
Eine LinkedIn-Integration bauen
account_id und chat_id vom Listen-Aufruf bis zum Send-Aufruf zusammen.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.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
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.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
Key
scoped Account API keyKontenLinkedIn-Testkonto, Gmail-Testpostfach
Webhooks1 Endpoint · Message-Events
crm-app · ProductionUnberührt
Scopeeiner pro Workspace
Key
scoped keys, in your backend onlyKontendie 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
Zertifiziert
Unabhängig geprüfte Sicherheitskontrollen zur Gewährleistung des Datenschutzes und der betrieblichen Integrität.
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.