MCPサーバー

dub

io.usefulapi/dub
マーケティング・広告 公開・接続可能 MCP 2026-07-28

このMCPでできること

Creates and manages short links, organizes them with tags and folders, reports click and conversion analytics, and administers affiliate partners and commissions.

dub_approve_partner_application
Approve a partner application
Approve an application to join the partner programme. The partner gains links and starts earning commission. Dub: POST /partners/applications/approve.
破壊的操作あり
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['applicationId'], 'properties': {'groupId': {'type': 'string', 'description': 'Place the partner in this group.'}, 'applicationId': {'type': 'string', 'description': 'The application to approve.'}}}
dub_count_links
Count short links
Count links matching a filter, optionally grouped by domain, tag or folder. Cheaper than listing when you only need totals. Dub: GET /links/count.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'domain': {'type': 'string', 'description': 'Only links on this short domain.'}, 'search': {'type': 'string', 'description': 'Free-text search.'}, 'groupBy': {'enum': ['domain', 'tagId', 'folderId', 'userId'], 'type': 'string', 'description': 'Return counts grouped by this dimension.'}, 'folderId': {'type': 'string', 'description': 'Only links in this folder.'}}}
dub_create_folder
Create a folder
Create a folder for grouping links. Dub: POST /folders.
破壊的操作あり
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'The folder name.'}, 'accessLevel': {'enum': ['write', 'read', 'none'], 'type': 'string', 'description': 'Default workspace access to the folder.'}, 'description': {'type': 'string', 'description': 'What the folder is for.'}}}
dub_create_link
Create a short link
Create a short link. Omit `key` to let Dub generate one. Dub: POST /links.
破壊的操作あり
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['url'], 'properties': {'key': {'type': 'string', 'description': 'The short key. Omit for a random one.'}, 'url': {'type': 'string', 'description': 'The destination URL.'}, 'title': {'type': 'string', 'description': 'Custom link preview title.'}, 'domain': {'type': 'string', 'description': 'Short domain to create it on. Defaults to the workspace default.'}, 'comments': {'type': 'string', 'description': 'An internal note.'}, 'folderId': {'type': 'string', 'description': 'Folder to file it under.'}, 'tagNames': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Tags to attach, by name.'}, 'externalId': {'type': 'string', 'description': 'Your own id for this link.'}, 'description': {'type': 'string', 'description': 'Custom link preview description.'}}}
dub_create_tag
Create a tag
Create a tag for organising links. Dub: POST /tags.
破壊的操作あり
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'The tag name.'}, 'color': {'enum': ['red', 'yellow', 'green', 'blue', 'purple', 'pink', 'brown'], 'type': 'string', 'description': 'Tag colour in the dashboard.'}}}
dub_delete_link
Delete a short link
Delete a short link. The URL stops resolving immediately and its analytics go with it. Dub: DELETE /links/{linkId}.
破壊的操作あり
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['linkId'], 'properties': {'linkId': {'type': 'string', 'description': 'The link to delete.'}}}
dub_get_analytics
Get analytics
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.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'end': {'type': 'string', 'description': 'ISO-8601 end of an absolute range.'}, 'key': {'type': 'string', 'description': 'The short key, used with domain.'}, 'event': {'enum': ['clicks', 'leads', 'sales', 'composite'], 'type': 'string', 'description': 'Which event type to report. Defaults to clicks.'}, 'start': {'type': 'string', 'description': 'ISO-8601 start of an absolute range.'}, 'device': {'type': 'string', 'description': 'Filter to one device type.'}, 'domain': {'type': 'string', 'description': 'Only links on this domain.'}, 'linkId': {'type': 'string', 'description': 'Only this link.'}, 'country': {'type': 'string', 'description': 'Filter to one country code.'}, 'groupBy': {'type': 'string', 'description': 'Dimension to group by, e.g. count, timeseries, top_links, countries, cities, devices, browsers, os, referers, utm_sources.'}, 'interval': {'enum': ['24h', '7d', '30d', '90d', '1y', 'mtd', 'qtd', 'ytd', 'all'], 'type': 'string', 'description': 'Relative time window. Use start/end instead for an absolute range.'}}}
dub_get_customer
Get one customer
Fetch a single customer with their attribution. Dub: GET /customers/{id}.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['customer_id'], 'properties': {'customer_id': {'type': 'string', 'description': "The customer's Dub id."}}}
dub_get_link
Get one short link
Fetch a single link by its id, its external id, or its domain plus key. Dub: GET /links/info.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'key': {'type': 'string', 'description': 'The short key, used with domain.'}, 'domain': {'type': 'string', 'description': 'The short domain, used with key.'}, 'linkId': {'type': 'string', 'description': "The link's Dub id."}, 'externalId': {'type': 'string', 'description': 'Your own id for the link.'}}}
dub_get_partner_analytics
Get partner analytics
Get analytics for the partner programme — clicks, leads, sales and revenue per partner. Dub: GET /partners/analytics.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'end': {'type': 'string', 'description': 'ISO-8601 end of an absolute range.'}, 'start': {'type': 'string', 'description': 'ISO-8601 start of an absolute range.'}, 'groupBy': {'type': 'string', 'description': 'Dimension to group by, e.g. count, timeseries, top_partners.'}, 'interval': {'enum': ['24h', '7d', '30d', '90d', '1y', 'mtd', 'qtd', 'ytd', 'all'], 'type': 'string', 'description': 'Relative time window. Use start/end instead for an absolute range.'}, 'partnerId': {'type': 'string', 'description': 'Only this partner.'}}}
dub_list_commissions
List commissions
List partner commissions, by partner, status, customer or time window. Dub: GET /commissions.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': '1-based page number.'}, 'type': {'type': 'string', 'description': 'Only commissions of this type, e.g. sale, lead, click.'}, 'status': {'type': 'string', 'description': 'Only commissions in this state.'}, 'interval': {'enum': ['24h', '7d', '30d', '90d', '1y', 'mtd', 'qtd', 'ytd', 'all'], 'type': 'string', 'description': 'Relative time window. Use start/end instead for an absolute range.'}, 'pageSize': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size, 1-100.'}, 'partnerId': {'type': 'string', 'description': "Only this partner's commissions."}, 'customerId': {'type': 'string', 'description': 'Only commissions from this customer.'}}}
dub_list_customers
List customers
List the customers Dub has attributed to links, by email, external id or link. Dub: GET /customers.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': '1-based page number.'}, 'email': {'type': 'string', 'description': 'Only the customer with this email.'}, 'linkId': {'type': 'string', 'description': 'Only customers attributed to this link.'}, 'search': {'type': 'string', 'description': 'Free-text search.'}, 'pageSize': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size, 1-100.'}, 'externalId': {'type': 'string', 'description': 'Your own id for the customer.'}}}
dub_list_domains
List domains
List the short domains configured on the workspace. Dub: GET /domains.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': '1-based page number.'}, 'search': {'type': 'string', 'description': 'Free-text search.'}, 'archived': {'type': 'boolean', 'description': 'Include archived domains.'}, 'pageSize': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size, 1-100.'}}}
dub_list_events
List raw events
List individual click, lead and sale events rather than aggregates — the row-level detail behind the analytics. Dub: GET /events.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'end': {'type': 'string', 'description': 'ISO-8601 end of an absolute range.'}, 'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': '1-based page number.'}, 'event': {'enum': ['clicks', 'leads', 'sales'], 'type': 'string', 'description': 'Which event type to list.'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size, 1-100.'}, 'start': {'type': 'string', 'description': 'ISO-8601 start of an absolute range.'}, 'linkId': {'type': 'string', 'description': "Only this link's events."}, 'interval': {'enum': ['24h', '7d', '30d', '90d', '1y', 'mtd', 'qtd', 'ytd', 'all'], 'type': 'string', 'description': 'Relative time window. Use start/end instead for an absolute range.'}, 'customerId': {'type': 'string', 'description': "Only this customer's events."}}}
dub_list_folders
List folders
List link folders and their access levels. Dub: GET /folders.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': '1-based page number.'}, 'search': {'type': 'string', 'description': 'Free-text search over folder names.'}, 'pageSize': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size, 1-100.'}}}
dub_list_links
List short links
List short links, filtered by domain, tag, folder or a text search. Dub: GET /links.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': '1-based page number.'}, 'domain': {'type': 'string', 'description': 'Only links on this short domain.'}, 'search': {'type': 'string', 'description': 'Free-text search over the key, URL and title.'}, 'folderId': {'type': 'string', 'description': 'Only links in this folder.'}, 'pageSize': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size, 1-100.'}, 'tagNames': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Only links carrying these tag names.'}, 'showArchived': {'type': 'boolean', 'description': 'Include archived links.'}}}
dub_list_partner_applications
List partner applications
List pending applications to join the partner programme. Dub: GET /partners/applications.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': '1-based page number.'}, 'pageSize': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size, 1-100.'}}}
dub_list_partners
List partners
List the partners (affiliates) in the programme, by status, country or email. Dub: GET /partners.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': '1-based page number.'}, 'email': {'type': 'string', 'description': 'Only the partner with this email.'}, 'search': {'type': 'string', 'description': 'Free-text search.'}, 'status': {'type': 'string', 'description': 'Only partners in this state, e.g. approved, pending.'}, 'pageSize': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size, 1-100.'}}}
dub_list_payouts
List payouts
List partner payouts and their status. Dub: GET /payouts.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': '1-based page number.'}, 'status': {'type': 'string', 'description': 'Only payouts in this state.'}, 'pageSize': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size, 1-100.'}, 'partnerId': {'type': 'string', 'description': "Only this partner's payouts."}}}
dub_list_tags
List tags
List the tags available for organising links. Dub: GET /tags.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': '1-based page number.'}, 'search': {'type': 'string', 'description': 'Free-text search over tag names.'}, 'pageSize': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size, 1-100.'}}}
dub_reject_partner_application
Reject a partner application
Reject an application to join the partner programme. Dub: POST /partners/applications/reject.
破壊的操作あり
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['applicationId'], 'properties': {'applicationId': {'type': 'string', 'description': 'The application to reject.'}}}
dub_update_link
Update a short link
Change a link's destination, key, tags or archived state. Dub: PATCH /links/{linkId}.
破壊的操作あり
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['linkId'], 'properties': {'key': {'type': 'string', 'description': 'New short key.'}, 'url': {'type': 'string', 'description': 'New destination URL.'}, 'title': {'type': 'string', 'description': 'New preview title.'}, 'linkId': {'type': 'string', 'description': 'The link to update.'}, 'archived': {'type': 'boolean', 'description': 'Archive or unarchive the link.'}, 'comments': {'type': 'string', 'description': 'New internal note.'}, 'tagNames': {'type': 'array', 'items': {'type': 'string'}, 'description': "Replace the link's tags."}}}
変更
dub_reject_partner_application
2026年10月2日2:40
変更
dub_approve_partner_application
2026年10月2日2:40
変更
dub_create_folder
2026年10月2日2:40
変更
dub_create_tag
2026年10月2日2:40
変更
dub_delete_link
2026年10月2日2:40
変更
dub_update_link
2026年10月2日2:40
変更
dub_create_link
2026年10月2日2:40
変更
dub_list_payouts
2026年10月2日2:40
変更
dub_list_commissions
2026年10月2日2:40
変更
dub_list_partner_applications
2026年10月2日2:40
変更
dub_get_partner_analytics
2026年10月2日2:40
変更
dub_list_partners
2026年10月2日2:40
変更
dub_list_domains
2026年10月2日2:40
変更
dub_list_folders
2026年10月2日2:40
変更
dub_list_tags
2026年10月2日2:40
変更
dub_get_customer
2026年10月2日2:40
変更
dub_list_customers
2026年10月2日2:40
変更
dub_list_events
2026年10月2日2:40
変更
dub_get_analytics
2026年10月2日2:40
変更
dub_count_links
2026年10月2日2:40
変更
dub_get_link
2026年10月2日2:40
変更
dub_list_links
2026年10月2日2:40
追加
dub_reject_partner_application
2026年9月30日2:40
追加
dub_approve_partner_application
2026年9月30日2:40
追加
dub_create_folder
2026年9月30日2:40
追加
dub_create_tag
2026年9月30日2:40
追加
dub_delete_link
2026年9月30日2:40
追加
dub_update_link
2026年9月30日2:40
追加
dub_create_link
2026年9月30日2:40
追加
dub_list_payouts
2026年9月30日2:40