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