NL
Cursor · MCP Server

Cursor MCP-server: messaging en e-mail in uw IDE

Met één URL en één header voegt u de Unipile MCP-server toe aan Cursor. Daarna bouwt uw agent LinkedIn-, WhatsApp- en e-mailfuncties in uw project.
7 dagen gratis proberen, geen creditcard nodig.
Cursor · crm-app
Unipile MCP verbonden
Sarah
Voeg het koppelen van LinkedIn-accounts toe aan mijn CRM.
Endpoint lezenPOST /v2/auth/linkschema geladen
De connect-route en de knop in Instellingen toegevoegd. De account-ID wordt bij de gebruiker opgeslagen.
3 bestanden gewijzigd · getest op de Development-app
Beschrijf de volgende feature…
De opdracht

Wat u wilt bereiken

Een koppeling met LinkedIn, WhatsApp, e-mail of agenda toevoegen aan uw product. Dat betekent een API-referentie lezen, de juiste endpoints kiezen, Hosted Auth en de callbacks aansluiten, en daarna de juiste ID's bewaren van zoekopdracht tot bericht. Met de Unipile MCP-server in Cursor doet de agent dat leeswerk voor u en schrijft hij de code in uw stack.
Koppel de Unipile MCP-server aan CursorUnipile MCP verbonden
Selecteer de kanalen die u wilt koppelendeveloper.unipile.com/mcp
Alle kanalen koppelen9 kanalen
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
↑↓navigeren spatieselecteren ↵koppelenéén URL, één header
Zonder Tabbladen, giswerk, lijmcode
Cursor raadt endpointnamen en payloads op basis van trainingsdata, en haalt de ID's door elkaar.
U plakt schema's uit de referentie in de chat, één endpoint tegelijk.
De eerste echte call gebeurt in productie, na de code review.
Met de Unipile MCP-server Het resultaat in uw applicatie
Een connect-route en een knop in Instellingen: elke gebruiker koppelt zijn eigen account via Hosted Auth.
Een webhook-ontvanger en een inbox die berichten en e-mails toont zodra ze binnenkomen.
Elke request is al één keer uitgevoerd op uw Development-applicatie voordat u de diff reviewt.
mcp.json, globaal of per project

Voeg de Unipile MCP-server toe aan Cursor

De server is remote: één URL via streamable HTTP en één header. Geen npx, geen lokaal proces, geen Node-versie om te beheren. Kies waar de entry komt te staan, plak het blok uit de officiële documentatie, sla op, en Cursor laadt de server.
Cursor up-to-date, met MCP beschikbaar in Customize (zijbalk) of de Cursor CLI.
Een Development-applicatie in het Unipile-dashboard, met een Scope en een scoped Account API key.
Minstens één testaccount dat via Hosted Auth aan die Scope is gekoppeld, zodat de agent echte requests kan uitvoeren.
G
Globale configuratie~/.cursor/mcp.json
P
Projectconfiguratie.cursor/mcp.json (root van de repository)
E
Key uit een omgevingsvariabele${env:UNIPILE_API_KEY}
?
Globaal of per project?Globaal als u meerdere Unipile-integraties vanaf één machine bouwt. Per project als elke repository een eigen scoped key nodig heeft, wat de juiste keuze is wanneer Development en Production in verschillende repositories staan. Cursor leest eerst het project, daarna de globale config.
~/.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}" } } } }
Sla het bestand op. Cursor laadt de server en toont hem in Customize. Cursor vult ${env:NAME} in url en headers in, dus de key hoeft nooit in het bestand te staan.
Optioneel: installeren met één klik Plak uw scoped Account API key om een installatielink te krijgen die Cursor opent met de server al ingevuld. Alles gebeurt in uw browser; de key wordt nooit naar unipile.com gestuurd. Laat het leeg en de link installeert de server met een placeholder die u in Cursor vervangt.
Unipile toevoegen aan Cursor
Verifiëren

Controleer de verbinding

Drie checks: in de editor, in de CLI en daarna in een chat. Geen enkele raakt een gekoppeld account.
1In CustomizeOpen Customize in de zijbalk: de unipile-server staat in de lijst, is ingeschakeld en toont zijn status. Met de schakelaar zet u hem uit zonder de entry te verwijderen.
2In de Cursor CLIDe CLI deelt de configuratie van de editor: eerst het project, daarna de globale config.agent mcp list # of /mcp list binnen een interactieve sessie
3In een chat, zonder een account aan te rakenStel een vraag die alleen de API-specificatie leest. Antwoordt de agent met echte routes en parameters, dan is de server goed gekoppeld.Gebruik de Unipile MCP en toon de endpoints om personen te zoeken op LinkedIn, met hun verplichte parameters.
Prompts, geen lijmcode

Geef uw agent de prompt

Drie integratieopdrachten, elk met de exacte prompt om in Cursor te plakken, de Unipile-endpoints die de agent leest en uitvoert, en wat er in uw project terechtkomt. Paden zijn volledig, op de API-basis-URL https://api.unipile.com, met uw scoped key in de X-API-KEY header.
Cursor · ats-appDevelopment-app
Voeg LinkedIn-messaging toe aan mijn ATS: synchroniseer de inbox van elke recruiter en laat ze antwoorden vanaf de kandidaatpagina.
Endpoints zoeken"chats messages send"3 resultaten
Request uitvoerenGET /v2/{account_id}/chats12 chats
Aangemaakt linkedin/inbox-sync.ts (chats en berichten ge-upsert op de kandidaat, cursorpaginering) en POST /candidates/:id/reply, dat de verzendroute aanroept met de eigen account-ID van de chat. Sync uitgevoerd op de Development-app: 12 chats, 87 berichten.3 bestanden gewijzigd · getest op de Development-app

Plak de prompt, review de diff

Cursor leest via de server de contracten voor chats en berichten, schrijft de sync-job en het reply-endpoint in uw stack, en voert de eerste requests uit op uw Development-applicatie. WhatsApp, Instagram en Telegram gebruiken dezelfde chatroutes, dus het tweede kanaal vraagt een kleinere prompt dan het eerste.
Endpoints die de agent gebruikt
GET/v2/{account_id}/chatsGET/v2/{account_id}/chats/{chat_id}/messagesPOST/v2/{account_id}/chats/{chat_id}/messages/send
Veelgemaakte fout: ID's door elkaar halen. Een bericht wordt altijd verstuurd via het account dat eigenaar is van de chat; houd account_id en chat_id bij elkaar, van de list-call tot de send-call.
Bouw een LinkedIn-integratie
Cursor · crm-appDevelopment-app
Implementeer Unipile Hosted Auth in deze React- en Fastify-app, zodat gebruikers hun eigen LinkedIn-account koppelen vanuit Instellingen.
Endpoint lezenPOST /v2/auth/linkschema geladen
Request uitvoerenPOST /v2/auth/link201 · link
Toegevoegd POST /api/accounts/connect in Fastify: maakt de auth-link server-side aan en geeft de gehoste URL terug. De React-pagina Instellingen opent die en slaat bij terugkeer de nieuwe account_id op bij de workspace. Gecontroleerd op de Development-app met een LinkedIn-testaccount.4 bestanden gewijzigd · connect-flow end-to-end getest

Uw gebruikers koppelen hun eigen accounts, uw app krijgt een account-ID

Hosted Auth is de pagina die Unipile aan uw gebruikers toont, zodat ze zelf LinkedIn, WhatsApp, Gmail, Outlook of een agenda koppelen. De agent regelt het aanmaken van de link in uw backend, de redirect in uw frontend en het opslaan van de account-ID, die elke volgende request nodig heeft.
Endpoints die de agent gebruikt
POST/v2/auth/linkPOST/v2/auth/intentGET/v2/accounts/{account_id}
Veelgemaakte fout: De auth-link vanuit de browser aanmaken. De link wordt op uw server aangemaakt met uw key; de frontend ontvangt alleen de gehoste URL.
Hosted Auth implementeren met een agent
Cursor · support-consoleDevelopment-app
Abonneer op webhooks voor nieuwe berichten en bouw een unified inbox voor LinkedIn, WhatsApp en e-mail: één threadlijst met het kanaal als badge.
Endpoint lezenPOST /v2/webhooks/endpoints/schema geladen
Request uitvoerenGET /v2/{account_id}/emails200 OK
Een webhook-endpoint voor berichtevents geregistreerd op de Development-app, en toegevoegd: POST /webhooks/unipile dat direct 200 teruggeeft en het event in de wachtrij zet, een Thread model dat chats en e-mailthreads naar één vorm omzet, en de threadlijst met kanaalbadges. Testbericht verstuurd: de lijst werd binnen een seconde bijgewerkt.6 bestanden gewijzigd · 3 kanalen in één lijst

Realtime zonder polling, één lijst voor messaging en e-mail

Chats en e-mails komen uit twee families van routes, elk met een eigen schema. De agent leest beide contracten, ontwerpt het gemeenschappelijke model, schrijft de sync en de webhook-ontvanger, en controleert daarna de leveringslog via de conversations-route van de webhooks.
Endpoints die de agent gebruikt
POST/v2/webhooks/endpoints/GET/v2/{account_id}/chatsGET/v2/{account_id}/emailsGET/v2/webhooks/conversations/
Veelgemaakte fout: Het werk doen in de webhook-handler. Bevestig direct met een 2xx en verwerk het event asynchroon, anders lopen leveringen in een time-out en worden ze opnieuw geprobeerd.
Bouw een unified inbox met een agent
Van Development naar productie

Test eerst op een Development-applicatie

Het Unipile-dashboard scheidt een Development-applicatie van een Production-applicatie. Geef Cursor een scoped key uit de Development-applicatie, met één of twee testaccounts gekoppeld via Hosted Auth. De agent voert echte requests uit op die accounts, namens de geauthenticeerde gebruiker die ze heeft gekoppeld en binnen de limieten van elke provider, en niets raakt de accounts van uw gebruikers tot u live gaat.
Valideer de connect-flow end-to-end: auth-link server-side aangemaakt, account-ID opgeslagen bij de gebruiker.
Valideer per feature één lees- en één schrijfactie: chats oplijsten, een bericht versturen op het testaccount.
Valideer een webhook-levering en een reconnect- of checkpoint-status voordat u de key naar Production omzet.
crm-app · DevelopmentGebruikt door Cursor
Scopedev-tests · 2 accounts
Keyscoped Account API key
AccountsLinkedIn-testaccount, Gmail-testmailbox
Webhooks1 endpoint · berichtevents
crm-app · ProductionOnaangeroerd
Scopeéén per workspace
Keyscoped keys, alleen in uw backend
Accountsde eigen accounts van uw gebruikers, via Hosted Auth
Probleemoplossing

Veelvoorkomende fouten en wat ze betekenen

De meldingen die Cursor toont als een MCP-entry niet klopt, en de oplossing voor elk ervan. Meestal komt het neer op het bestand, de JSON of de key.
No tools or prompts
Cursor heeft de entry geladen, maar kreeg niets terug van de server. OplossingControleer het bestand dat u bewerkte (globaal ~/.cursor/mcp.json of project .cursor/mcp.json in de root van de repository), valideer de JSON (een komma aan het eind is de gebruikelijke boosdoener) en herlaad daarna de server vanuit Customize of herstart Cursor.
No server info found
De entry is er, maar Cursor kan de server niet beschrijven. OplossingDe url moet exact dit zijn: https://developer.unipile.com/mcp?branch=v2.0, als remote entry met url en headers, niet command. Verwijder een eventuele type: "stdio" die van een andere server is achtergebleven.
Connection failed
De URL antwoordt, maar niet als MCP-server. OplossingEen typfout in de host of in ?branch=v2.0, of een bedrijfsproxy die de request blokkeert. Open de URL in een browser: hij moet antwoorden, geen 404.
401 Unauthorized bij requests
De server is verbonden, maar het uitvoeren van een request mislukt. OplossingDe key ontbreekt in headers, de headernaam is niet X-API-KEY, of u gebruikte een Service key of een globale Account key in plaats van een scoped Account API key uit uw Development-applicatie.
De projectconfiguratie wordt genegeerd
Cursor blijft de globale entry gebruiken, of geen enkele. Oplossing.cursor/mcp.json moet in de root staan van de map die u in Cursor hebt geopend, niet in een submap. Cursor leest eerst het project, daarna de globale config, daarna bovenliggende mappen.
Waar u de logs leest
Elk geval hierboven laat een spoor achter. OplossingOpen het Output-paneel (Cmd+Shift+U op macOS, Ctrl+Shift+U op Windows en Linux) en kies MCP Logs in de dropdown: initialisatie, requests en fouten staan daar.
6000+ Bedrijven innoveren met Unipile
Vertrouwd door marktleiders
1 API
Activiteiten stroomlijnen voor alle belangrijke communicatiekanalen
2 dagen
Snel live integratie bereiken met minimale installatie
30%
Vermindering van onderhoudsinspanningen en -middelen

Ingebouwde beveiliging en compliance

Enterprise-bescherming voor uw gegevens en workflows Meer informatie over onze beveiliging
SOC 2 type II
SOC 2 type II
Gecertificeerd
Onafhankelijk gecontroleerde beveiligingscontroles voor gegevensbescherming en operationele integriteit.
GDPR
GDPR
Conform
Volledige naleving van de Europese regelgeving voor gegevensbescherming voor de privacy van gebruikers.
99.9%
Platform Uptime over de laatste 24 maanden
24/7
Wereldwijde ondersteuning met krachtige API

FAQ Cursor MCP-server

De vragen die mensen echt intypen: waar mcp.json staat, globaal of per project, remote servers en headers, wat u controleert als er niets verschijnt, keys, installatie met één klik en de CLI.
Op twee plaatsen. ~/.cursor/mcp.json in uw thuismap is de globale configuratie, beschikbaar in elk project. .cursor/mcp.json in de root van de map die u in Cursor hebt geopend, is de projectconfiguratie. Cursor leest eerst het projectbestand, daarna het globale bestand, daarna bovenliggende mappen. Beide gebruiken hetzelfde mcpServers blok.
Globaal als u meerdere Unipile-integraties bouwt vanaf één machine en één Development-applicatie. Per project als elke repository een eigen scoped key nodig heeft, wat de juiste keuze is wanneer de Development- en Production-integraties in verschillende repositories staan. In beide gevallen is de key een scoped Account API key, nooit een Service key of globale key.
Ja. Een remote entry in mcp.json bevat een url en een headers object, en Cursor vult ${env:NAME} in beide in. De Unipile-server is precies dat: streamable HTTP op https://developer.unipile.com/mcp?branch=v2.0 met de X-API-KEY header. Geen npx, geen lokaal proces, geen Node-versie om te beheren.
In deze volgorde: het bestand dat u bewerkte (globaal of project, in de root van de repository), de geldigheid van de JSON, de server herladen vanuit Customize of Cursor herstarten, en daarna de MCP Logs in het Output-paneel (Cmd+Shift+U, kies MCP Logs). Maakt de server verbinding maar mislukken requests met 401, dan ontbreekt de key in de header of is het geen scoped Account API key.
De server antwoordt zonder key zolang de agent alleen de API-specificatie leest. Om echte requests uit te voeren, maakt u een Scope aan in uw Development-applicatie, wijst u de testaccounts toe en genereert u een scoped Account API key voor die Scope. Geef een MCP-client nooit een Service key of een globale Account key.
Ja. De installatielink op deze pagina codeert de serverconfiguratie; hij opent Cursor met de unipile-entry al ingevuld, en u vervangt de placeholder door uw scoped key. De optionele generator hierboven maakt dezelfde link met uw key er al in, volledig in uw browser.
Ja. De CLI deelt de configuratie van de editor: eerst het project, daarna de globale config. agent mcp list toont de geconfigureerde servers en hun status, en /mcp list doet hetzelfde binnen een interactieve sessie. De agent gebruikt de Unipile-server daarna zodra een request erom vraagt.