Dub MCP by usefulapi
by usefulapi.io · remote · no sign-in to list tools · v1.16.3 · published by io.usefulapi
Short links with click, lead and sale analytics, customers, tags and the partner programme.
22 tools: 7 can delete or cancel things and 15 only read.
Scanned Oct 21, 2026
- Deletes or cancels7Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things0Claude Code: ask
- Only reads15Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http dub https://dub.usefulapi.io/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
22 tools
Deletes or cancels 7Claude Code: deny
dub_approve_partner_applicationApprove an application to join the partner programme.No findings
Why it is in this group
- The name "dub_approve_partner_application" says "approve": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Approve an application to join the partner programme. The partner gains links and starts earning commission. Dub: POST /partners/applications/approve.
Annotations the server declares
- title: Approve a partner application
- destructiveHint: true
dub_create_folderCreate a folder for grouping links.No findings
Why it is in this group
- The name "dub_create_folder" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Create a folder for grouping links. Dub: POST /folders.
Annotations the server declares
- title: Create a folder
- destructiveHint: true
dub_create_linkCreate a short link.No findings
Why it is in this group
- The name "dub_create_link" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Create a short link. Omit `key` to let Dub generate one. Dub: POST /links.
Annotations the server declares
- title: Create a short link
- destructiveHint: true
dub_create_tagCreate a tag for organising links.No findings
Why it is in this group
- The name "dub_create_tag" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Create a tag for organising links. Dub: POST /tags.
Annotations the server declares
- title: Create a tag
- destructiveHint: true
dub_delete_linkDelete a short link.No findings
Why it is in this group
- The name "dub_delete_link" says "delete": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Delete a short link. The URL stops resolving immediately and its analytics go with it. Dub: DELETE /links/{linkId}.
Annotations the server declares
- title: Delete a short link
- destructiveHint: true
dub_reject_partner_applicationReject an application to join the partner programme.No findings
Why it is in this group
- The name "dub_reject_partner_application" says "reject": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Reject an application to join the partner programme. Dub: POST /partners/applications/reject.
Annotations the server declares
- title: Reject a partner application
- destructiveHint: true
dub_update_linkChange a link's destination, key, tags or archived state.No findings
Why it is in this group
- The name "dub_update_link" says "update": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Change a link's destination, key, tags or archived state. Dub: PATCH /links/{linkId}.
Annotations the server declares
- title: Update a short link
- destructiveHint: true
Only reads 15Claude Code: allow
dub_count_linksCount links matching a filter, optionally grouped by domain, tag or folder.No findings
Why it is in this group
- The name "dub_count_links" says "count": a word for reading.
Description, as the server wrote it Count links matching a filter, optionally grouped by domain, tag or folder. Cheaper than listing when you only need totals. Dub: GET /links/count.
Annotations the server declares
- title: Count short links
- readOnlyHint: true
dub_get_analyticsGet aggregated click, lead and sale analytics, grouped by a dimension such as country, device, referer or top links.No findings
Why it is in this group
- The name "dub_get_analytics" says "get": a word for reading.
Description, as the server wrote it Get aggregated click, lead and sale analytics, grouped by a dimension such as country, device, referer or top links. The main reporting read. Dub: GET /analytics.
Annotations the server declares
- title: Get analytics
- readOnlyHint: true
dub_get_customerFetch a single customer with their attribution.No findings
Why it is in this group
- The name "dub_get_customer" says "get": a word for reading.
Description, as the server wrote it Fetch a single customer with their attribution. Dub: GET /customers/{id}.
Annotations the server declares
- title: Get one customer
- readOnlyHint: true
dub_get_linkFetch a single link by its id, its external id, or its domain plus key.No findings
Why it is in this group
- The name "dub_get_link" says "get": a word for reading.
Description, as the server wrote it Fetch a single link by its id, its external id, or its domain plus key. Dub: GET /links/info.
Annotations the server declares
- title: Get one short link
- readOnlyHint: true
dub_get_partner_analyticsGet analytics for the partner programme — clicks, leads, sales and revenue per partner.No findings
Why it is in this group
- The name "dub_get_partner_analytics" says "get": a word for reading.
Description, as the server wrote it Get analytics for the partner programme — clicks, leads, sales and revenue per partner. Dub: GET /partners/analytics.
Annotations the server declares
- title: Get partner analytics
- readOnlyHint: true
dub_list_commissionsList partner commissions, by partner, status, customer or time window.No findings
Why it is in this group
- The name "dub_list_commissions" says "list": a word for reading.
Description, as the server wrote it List partner commissions, by partner, status, customer or time window. Dub: GET /commissions.
Annotations the server declares
- title: List commissions
- readOnlyHint: true
dub_list_customersList the customers Dub has attributed to links, by email, external id or link.No findings
Why it is in this group
- The name "dub_list_customers" says "list": a word for reading.
Description, as the server wrote it List the customers Dub has attributed to links, by email, external id or link. Dub: GET /customers.
Annotations the server declares
- title: List customers
- readOnlyHint: true
dub_list_domainsList the short domains configured on the workspace.No findings
Why it is in this group
- The name "dub_list_domains" says "list": a word for reading.
Description, as the server wrote it List the short domains configured on the workspace. Dub: GET /domains.
Annotations the server declares
- title: List domains
- readOnlyHint: true
dub_list_eventsList individual click, lead and sale events rather than aggregates — the row-level detail behind the analytics.No findings
Why it is in this group
- The name "dub_list_events" says "list": a word for reading.
Description, as the server wrote it List individual click, lead and sale events rather than aggregates — the row-level detail behind the analytics. Dub: GET /events.
Annotations the server declares
- title: List raw events
- readOnlyHint: true
dub_list_foldersList link folders and their access levels.No findings
Why it is in this group
- The name "dub_list_folders" says "list": a word for reading.
Description, as the server wrote it List link folders and their access levels. Dub: GET /folders.
Annotations the server declares
- title: List folders
- readOnlyHint: true
dub_list_linksList short links, filtered by domain, tag, folder or a text search.No findings
Why it is in this group
- The name "dub_list_links" says "list": a word for reading.
Description, as the server wrote it List short links, filtered by domain, tag, folder or a text search. Dub: GET /links.
Annotations the server declares
- title: List short links
- readOnlyHint: true
dub_list_partner_applicationsList pending applications to join the partner programme.No findings
Why it is in this group
- The name "dub_list_partner_applications" says "list": a word for reading.
Description, as the server wrote it List pending applications to join the partner programme. Dub: GET /partners/applications.
Annotations the server declares
- title: List partner applications
- readOnlyHint: true
dub_list_partnersList the partners (affiliates) in the programme, by status, country or email.No findings
Why it is in this group
- The name "dub_list_partners" says "list": a word for reading.
Description, as the server wrote it List the partners (affiliates) in the programme, by status, country or email. Dub: GET /partners.
Annotations the server declares
- title: List partners
- readOnlyHint: true
dub_list_payoutsList partner payouts and their status.No findings
Why it is in this group
- The name "dub_list_payouts" says "list": a word for reading.
Description, as the server wrote it List partner payouts and their status. Dub: GET /payouts.
Annotations the server declares
- title: List payouts
- readOnlyHint: true
dub_list_tagsList the tags available for organising links.No findings
Why it is in this group
- The name "dub_list_tags" says "list": a word for reading.
Description, as the server wrote it List the tags available for organising links. Dub: GET /tags.
Annotations the server declares
- title: List tags
- readOnlyHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.16.3. Values in angle brackets are yours to fill in.
claude mcp add --transport http dub https://dub.usefulapi.io/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__dub__dub_list_links",
"mcp__dub__dub_get_link",
"mcp__dub__dub_count_links",
"mcp__dub__dub_get_analytics",
"mcp__dub__dub_list_events",
"mcp__dub__dub_list_customers",
"mcp__dub__dub_get_customer",
"mcp__dub__dub_list_tags",
"mcp__dub__dub_list_folders",
"mcp__dub__dub_list_domains",
"mcp__dub__dub_list_partners",
"mcp__dub__dub_get_partner_analytics",
"mcp__dub__dub_list_partner_applications",
"mcp__dub__dub_list_commissions",
"mcp__dub__dub_list_payouts"
],
"ask": [],
"deny": [
"mcp__dub__dub_create_link",
"mcp__dub__dub_update_link",
"mcp__dub__dub_delete_link",
"mcp__dub__dub_create_tag",
"mcp__dub__dub_create_folder",
"mcp__dub__dub_approve_partner_application",
"mcp__dub__dub_reject_partner_application"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as dub. Review it before you use it.