# Dub MCP connector

Connect Dub to Elaichi and Claude, ChatGPT, Cursor, or any MCP client can create short links, read click and conversion analytics, and manage partner commissions, with each person acting inside their own Dub access.

Source: https://elaichi.ai/connectors/dub/

## Facts

| | |
| --- | --- |
| Application | Dub |
| Category | Marketing Automation |
| AI tools | 47 |
| Authentication | Connects with an API key |
| Needs your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. 47 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once Dub is connected

- Which Dub links drove the most clicks last week?
- List Dub commissions pending payout this month.
- Show new Dub customers by referral link since Monday.

## Connect Dub in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Dub.
2. Optionally set Share with, then press Connect.
3. Paste a Dub API key. One person generates a token in Dub and pastes it once. Everyone else works through Share with, and never sees it.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Dub tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect Dub to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect Dub to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect Dub to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Dub to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Dub tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Dub through Elaichi

### Spin up every link for a launch

Marketing. Ask for the short links a campaign needs, one per channel, and have them created in Dub in a batch and filed into the right folder. Fix a typo or swap a destination across the whole set in one go.

### See how a campaign's links performed

Marketing. Pull clicks, leads and sales for a launch's links from Dub analytics a few days in, and get a plain summary of which channel did the work without opening a dashboard.

### Review bounty submissions before paying out

Partnerships. List the bounty submissions partners have sent in, check them against the rules, and mark each one approved or rejected in Dub while the context is still fresh.

### Record commissions for a partner cohort

Partnerships. Create a batch of commissions in Dub after a month closes, then correct a single commission by amount or status when a refund or dispute comes through.

### Trace a customer back to their link

Growth. Look up a customer in Dub, see the events behind them, and find out which link, domain or partner brought them in before you decide where to spend next.

### Keep domains and folders in order

Marketing operations. Register a new custom domain in Dub, check whether it has finished verifying, tidy folders so teams can find their links, and retire dead links in bulk at quarter end.

## Frequently asked questions

### How do I connect Dub to Claude?

Two steps. In Elaichi, choose Dub, paste in a Dub API key from your Dub workspace settings, and the connection is ready. Then in Claude open Customize, then Connectors, then Add, and paste https://api.elaichi.ai/mcp as the endpoint. There is no OAuth application to register in Dub and no client ID or secret to generate.

### Does Dub work with ChatGPT and Cursor as well as Claude?

Yes. Once Dub is connected in Elaichi, Claude, ChatGPT, Cursor, any other MCP client and the Elaichi Agent all reach it through the same endpoint, https://api.elaichi.ai/mcp. You connect Dub once and every client you use picks it up.

### What can an AI agent actually do with my Dub data?

It can create, update and delete short links in Dub in batches, read click, lead and sale analytics, list the events behind a customer, and look up or update customer records. It can also register and check custom domains, organize folders, review bounty submissions, and create or adjust partner commissions. Because Dub has a lot of actions, short concrete asks such as "create ten links for the spring launch in the Campaigns folder" work better than long paragraphs.

### Does connecting Dub give the AI access to my whole Dub workspace?

No. Whatever the AI does in Dub happens inside the access of the person who signed in and the Dub API key they connected, so it sees the workspace that person can already see. Elaichi can narrow that further, for example hiding commissions from the marketing team, but it can never widen it beyond what Dub itself allows.

### Can my team share one Dub connection?

Yes. One person connects Dub in Elaichi and shares the connection with a team, and nobody else ever handles the Dub API key. Each teammate still signs in to Elaichi as themselves, so the audit log names the actual person who created a link or approved a bounty in Dub.

### Can I stop an agent from deleting or changing things in Dub?

Yes. Restrictions in Elaichi work per action, so you can allow reading Dub analytics and creating links while blocking deleting links, domains or customers, or changing commissions. A blocked action is never shown to Claude, ChatGPT or any other client, so no prompt can reach it.

### What happens to a Dub connection when someone leaves?

When you offboard someone in Elaichi, their access to Dub through every client ends at once. A shared Dub connection keeps working for everyone else on the team. If you want Dub gone entirely, disconnecting it once in Elaichi removes it from Claude, ChatGPT, Cursor and every other client in one step.

## All 47 Dub tools

Every tool below is callable through https://api.elaichi.ai/mcp once Dub is connected, subject to the toolbox it is in and the restrictions on the caller.

- **List all Dub analytics** (List). Retrieve analytics for a dub link, domain, or workspace. Returns data shaped by the `event` and `groupBy` parameters — including counts, timeseries, countries, cities, devices, browsers, and more. No parameters are required; optionally filter by domain, linkId, interval, country, device, and other dimensions.
- **Update a Dub bounty submission by ID** (Update). Approve a bounty submission in dub, marking it as accepted. Required: bounty_id, id.
- **List all Dub bounty submissions** (List). List all submissions for a dub bounty. Required: bounty_id.
- **Delete a Dub bounty submission by ID** (Delete). Reject a bounty submission in dub, marking it as declined. Required: bounty_id, id.
- **Dub commissions bulk create** (Create). Create multiple commissions in dub in a single POST request to the partner program commissions endpoint.
- **List all Dub commissions** (List). List all commissions in dub for your partner program. Returns id, amount, earnings, status, partner, and customer per commission. Supports filtering by type, status, partnerId, customerId, payoutId, and date range.
- **Update a Dub commission by ID** (Update). Update an existing commission in dub by id, useful for handling partial or full refunds and fraudulent sales. Returns the updated commission including id, amount, earnings, currency, and status. Required: id. Paid commissions cannot be updated.
- **Delete a Dub customer by ID** (Delete). Delete a Dub customer from a workspace by id. Returns the deleted customer's id on success. Required: id.
- **List all Dub customers** (List). List all Dub customers in a workspace. Returns: id, name, email, externalId, createdAt, saleAmount. Optionally filter by email, externalId, search, country, linkId, programId, or partnerId.
- **Get single Dub customer by ID** (Get). Retrieve a single Dub customer by id. Returns the full customer object including id, name, email, externalId, createdAt, and saleAmount. Required: id. Prefix id with ext_ to look up by externalId.
- **Update a Dub customer by ID** (Update). Update a Dub customer's profile fields by id. Returns the updated customer object including id, name, email, externalId, and createdAt. Required: id.
- **Create a Dub domain** (Create). Create a domain for the authenticated dub workspace. Returns the created domain object including slug and configuration. Required: slug.
- **Delete a Dub domain by ID** (Delete). Delete a dub domain by id. This action is irreversible and also permanently deletes all links associated with the domain. Returns: slug. Required: id.
- **Update a Dub domain by ID** (Update). Update a domain in the authenticated dub workspace by id. Returns the updated domain object. Required: id.
- **Dub domains register** (Action). Register a new domain in dub via the domain registration endpoint.
- **Dub domains status** (Action). Retrieve domain status information in dub.
- **List all Dub events** (List). List dub events (clicks, leads, or sales) for the authenticated workspace. Returns an array of event objects including event type, timestamp, click details (id, url, country, device, browser), and associated link metadata. No required parameters; supports filtering by event type, domain, link ID, date range, geography, device, and UTM parameters.
- **Create a Dub folder** (Create). Create a folder in dub for the authenticated workspace. Returns the created folder object. Required: name.
- **Delete a Dub folder by ID** (Delete). Delete a dub folder by id. Returns the id of the deleted folder. Existing links remain functional but are no longer associated with the folder. Required: id.
- **List all Dub folders** (List). List all dub folders for the authenticated workspace. Returns an array of folder objects. Optionally filter results by a search term.
- **Update a Dub folder by ID** (Update). Update a dub folder by id. Returns the updated folder object including its name, description, and accessLevel. Required: id.
- **Dub links bulk create** (Create). Bulk create up to 100 links in dub for the authenticated workspace. Returns an array of created link objects. Webhook events are not triggered for bulk link creation.
- **Dub links bulk delete** (Delete). Bulk delete up to 100 links in dub for the authenticated workspace. This action is permanent and cannot be undone; webhook events are not triggered. Required: linkIds.
- **Dub links bulk update** (Update). Bulk update up to 100 dub links with the same data for the authenticated workspace. Useful for batch-tagging, setting expiration dates, or updating UTM parameters. Domain and key cannot be changed via this endpoint; webhook events are not triggered. Required: linkIds.
- **Get single Dub link by ID** (Get). Get a specific dub link by its domain and key. Returns the full link object for the authenticated workspace. Required: domain, key.
- **Create a Dub link** (Create). Create a new link in dub for the authenticated workspace. Returns the created link object including id and shortLink. Required: url.
- **Delete a Dub link by ID** (Delete). Delete a dub link by id for the authenticated workspace. Returns an empty response on success. Required: id.
- **List all Dub links** (List). List all links for the authenticated dub workspace. Returns a paginated list of link objects.
- **Update a Dub link by ID** (Update). Update a dub link by id for the authenticated workspace. Returns the updated link object, or the existing object unchanged if no modifications were made. Required: id.
- **Dub links count** (Action). Retrieve the total number of links for the authenticated dub workspace. Returns a count as a number.
- **Dub links upsert** (Upsert). Upsert a link in dub for the authenticated workspace — creates the link if it does not exist, or updates it if it already does. Returns the link object including id and shortLink. Required: url.
- **List all Dub partner applications** (List). List partner applications in dub. Returns a collection of partner application records.
- **Dub partner applications approve** (Approve). Approve a partner application in dub. Submits an approval decision for a pending partner application.
- **Dub partner applications reject** (Reject). Reject a partner application in dub. Submits a rejection decision for a pending partner application.
- **Create a Dub partner** (Create). Create or update (upsert) a partner in dub. If a partner with the same email already exists their program enrollment is updated; otherwise a new partner is created. Returns id, status, links, and tenantId. Required: email.
- **List all Dub partners** (List). List partners in dub.
- **Dub partners ban** (Action). Ban a partner in dub via the ban endpoint.
- **Dub partners deactivate** (Deactivate). Deactivate a partner in dub via the deactivate endpoint.
- **Create a Dub partner link** (Create). Create a new partner link in dub. Returns the created partner link object.
- **List all Dub partner links** (List). List partner links in dub. Returns a collection of partner link objects.
- **Dub partner links bulk update** (Update). Bulk upsert partner links in dub, inserting or updating multiple records in a single request. Returns the upserted partner link objects.
- **List all Dub payouts** (List). List all payouts for your Dub partner program. Returns an array of payout objects including id, amount, currency, status, and partner details. Optionally filter by status, partnerId, tenantId, or invoiceId.
- **Create a Dub tag** (Create). Create a tag in dub for the authenticated workspace. Returns the created tag object including its id, name, and color.
- **List all Dub tags** (List). List all tags in dub for the authenticated workspace. Returns an array of tag objects including id, name, and color. Supports filtering by search term or specific tag ids.
- **Update a Dub tag by ID** (Update). Update a tag in dub by id. Returns the updated tag object including its id, name, and color. Required: id.
- **Create a Dub track** (Create). Track a lead conversion event in dub by submitting lead data to the lead tracking endpoint. Associates a lead action with a dub link click.
- **Create a Dub track sale** (Create). Track a sale for a short link in dub. Returns: eventName, customer (id, email, externalId), and sale (amount, currency, paymentProcessor). Required: customerExternalId, amount.
