Prerequisites
Before integrating Cello, ensure the following prerequisites are met:- User signup and authentication is functional
- Stripe subscription flow is functional
- You have a Cello account and API keys at hand.
Make sure to use Cello Sandbox environment when developing and testing
Optional: Connect the Cello MCP
The Cello MCP server gives Cursor direct access to Cello’s documentation, integration health checks, and best-practice recommendations. Connecting it before you start means Cursor can look up the right docs itself, verify your setup as it goes, and follow best practices automatically — instead of relying only on the guide link you paste. This step is optional but recommended. The integration steps below work either way.Get your Cello MCP token
Go to the Cello Portal, navigate to Access Keys, and generate an MCP Access Token. Copy the token and save it securely — you won’t be able to view it again.
You can use the Add to Cursor quick-link in the dialog to add the MCP server automatically, or configure it manually in the next step.
The Cello MCP server is currently in Early Access. Request access to get it enabled for your account.

Add the Cello MCP to Cursor
Go to Cursor Settings → Tools & Integrations → MCP Servers → Add Server and enter the URL and token.

Or configure manually by editing When successfully connected, you should see the Cello MCP server listed with 4 tools enabled.
For full details on the Cello MCP, see the Cello MCP Server page.


~/.cursor/config/mcp.json (macOS/Linux) or %USERPROFILE%\.cursor\config\mcp.json (Windows):
Cello user referrals integration
For a step-by-step technical implementation (source of truth + acceptance criteria), follow the detailed guide:The guide uses React + Node.js as an example, but it can be any other combination — the steps stay the same.
Prep your project
- Signup and authentication flow is functional
- Stripe subscription flow is functional
- Cello API keys are handy
Add Cello Webhook Endpoint to Stripe
- Get your webhook URL from Cello Portal
- Add a Webhook endpoint in Stripe (Log into your Stripe Dashboard -> Go to Developer Mode -> Add a Webhook endpoint and enter endpoint URL -> Select the events to send -> Click “Add endpoint”)
- Secure the Webhook with “Signing secret”
charge.refunded,charge.succeeded,charge.updatedcustomer.created,customer.deleted,customer.updatedcustomer.subscription.created,customer.subscription.deleted,customer.subscription.updatedinvoice.paid
Prompt Cursor to add User Referrals to your app
Switch Cursor to Plan mode, then paste this prompt:Cursor will pull the relevant guides, check what’s already set up, and tailor the plan to your project.Cursor asks you guiding questions and creates an implementation plan based on your answers.
- With Cello MCP connected
- Without MCP
Confirm executing the plan
Review the plan carefully. It should cover:
- Cello JS SDK initialization and user authentication
- Referral component placement and configuration
- Attribution setup for tracking referred signups
- Stripe webhook integration for conversion tracking
Run & Test
Run your app and test the end-to-end flow. If everything was implemented correctly, you should see events coming in to Cello Dashboard.
After you’re live
If you have the Cello MCP connected, it continues to be useful after the initial integration:| Prompt | What happens |
|---|---|
| ”Is my Cello integration working?” | Checks all four integration components and reports which are connected or broken |
| ”Why aren’t referral rewards being triggered?” | Inspects recent events to find missing or malformed fields preventing attribution |
| ”How can I improve my referral program?” | Returns a prioritized list of recommendations across activation, sharing, and conversion |
| ”How do I set up a custom referral launcher?” | Searches the docs for custom launcher implementation guides |