Skip to main content
Glama

Dub MCP by usefulapi

Server Details

Short links with click, lead and sale analytics, customers, tags and the partner programme.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
61.1% over 26 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
Repository
m190/usefulapi-mcp
GitHub Stars
0

TDQS

A3.5/5.0

Scored across 22 tools

Disambiguation5/5

Each tool pairs a clear resource with an action; link analytics, partner analytics, and row-level events are distinguished by their descriptions. No two tools appear to perform the same operation, so misselection risk is low.

Naming Consistency5/5

All tools use the `dub_` prefix plus snake_case verb_noun form, e.g. `dub_list_links`, `dub_create_folder`, `dub_approve_partner_application`. The pattern is consistent across all 22 tools.

Tool Count4/5

22 tools is somewhat heavy relative to the 3-15 guideline, but the server covers links, analytics, partners, customers, domains, tags, folders, commissions, and payouts. The count is justified by the domain breadth, though not every tool is strictly essential.

Completeness4/5

Core link lifecycle is complete (create/get/update/delete/list/count), and read coverage for analytics, customers, partners, commissions, and payouts is solid. Gaps remain for tag/folder update/delete and possibly partner/customer lifecycle operations, but they are minor for common workflows.

Available Tools

22 tools
dub_approve_partner_applicationApprove a partner applicationB
Destructive
Inspect

Approve an application to join the partner programme. The partner gains links and starts earning commission. Dub: POST /partners/applications/approve.

NameRequiredDescriptionDefault
groupIdNoPlace the partner in this group.
applicationIdYesThe application to approve.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds real behavioral context beyond the destructiveHint annotation by explaining the outcome of approval (partner gains links and earns commission). However, it says nothing about reversibility, required permissions/auth, or rate limits, which matters for a state-changing operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the action and its effect, with no wasted words. The trailing 'Dub: POST /partners/applications/approve' is mildly redundant with the tool name but harmless.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple 2-parameter mutation with no output schema, the description covers the what and the outcome. It is missing guidance on prerequisites and whether approval is reversible or triggers side effects like notifications, which the agent would need in lieu of richer annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both applicationId and groupId are already documented in the schema. The description adds no format, constraint, or default information beyond what the schema provides, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb+resource ('Approve a partner application') and it states the consequence of the operation (partner gains links, starts earning commission). The unambiguous verb separates it from dub_reject_partner_application and dub_list_partner_applications, though it never names those siblings explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use or when-not-to-use guidance is given. It does not tell the agent that this is the counter-operation to dub_reject_partner_application, nor does it mention preconditions (e.g. application must be pending).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dub_create_folderCreate a folderC
Destructive
Inspect

Create a folder for grouping links. Dub: POST /folders.

NameRequiredDescriptionDefault
nameYesThe folder name.
accessLevelNoDefault workspace access to the folder.
descriptionNoWhat the folder is for.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With destructiveHint=true already declared, the description adds almost nothing: it does not mention required permissions, workspace scoping, whether the folder applies to existing links, or naming uniqueness constraints. The only extra fact is the underlying API mapping (POST /folders).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with the action and purpose front-loaded; nothing is wasted. The trailing 'Dub: POST /folders' is a minor API breadcrumb rather than essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description should ideally say what a successful creation returns or how the new folder is identified. It is minimally adequate for a simple 3-parameter create tool but leaves behavioral gaps around permissions and effects.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with all three parameters documented, so the schema does the work. The description adds no semantics for 'accessLevel' (the enum parameter) or the optional description field, leaving the baseline score appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Create a folder') plus the purpose ('grouping links'), which distinguishes it from sibling read tools like dub_list_folders. It does not differentiate from the other create tools (dub_create_link, dub_create_tag), but the resource noun carries the distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to create a folder versus using tags or link metadata, no prerequisites (e.g., workspace/plan requirements), and no mention of alternatives. The agent must infer usage entirely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dub_create_tagCreate a tagC
Destructive
Inspect

Create a tag for organising links. Dub: POST /tags.

NameRequiredDescriptionDefault
nameYesThe tag name.
colorNoTag colour in the dashboard.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations supply only destructiveHint=true, which the description neither confirms nor explains (an unusual flag for a creation tool that an agent would benefit from having clarified). No side effects, permission requirements, uniqueness constraints on tag names, or idempotency behavior are disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with the core purpose front-loaded and no filler. The trailing endpoint reference is mildly redundant but cheap and could aid API-mapping.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter create tool with no output schema, the description covers the minimum: what it does. It omits what the call returns (the created tag) and any constraints on tag names, which leaves modest gaps for a mutation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters (name, color with its enum) are already fully documented in the schema, and the description adds nothing beyond that. Baseline 3 applies when the schema carries the parameter burden.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Create a tag for organising links"), which is unambiguous on its own. However it does not distinguish itself from siblings like dub_list_tags or dub_create_folder, and the "Dub: POST /tags" fragment merely restates the operation as an endpoint.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to create a tag versus listing or reusing an existing one, nor any mention of prerequisites or when this tool should be avoided. The agent is left to infer usage entirely.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dub_get_analyticsGet analyticsA
Read-only
Inspect

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.

NameRequiredDescriptionDefault
endNoISO-8601 end of an absolute range.
keyNoThe short key, used with domain.
eventNoWhich event type to report. Defaults to clicks.
startNoISO-8601 start of an absolute range.
deviceNoFilter to one device type.
domainNoOnly links on this domain.
linkIdNoOnly this link.
countryNoFilter to one country code.
groupByNoDimension to group by, e.g. count, timeseries, top_links, countries, cities, devices, browsers, os, referers, utm_sources.
intervalNoRelative time window. Use start/end instead for an absolute range.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The readOnlyHint annotation already establishes this is a safe read. The description adds real value by disclosing that results are aggregated and grouped by a dimension, and that click/lead/sale events are covered. It stays silent on pagination, rate limits, and response shape for a 10-parameter tool with no output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded and compact: the capability, then the grouping dimension, then positioning. The trailing 'Dub: GET /analytics.' is mildly useful API mapping but the least valuable sentence and borders on filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-param analytics endpoint with full schema coverage and no output schema, the description covers purpose, aggregation semantics, and grouping adequately. It would be stronger if it hinted at the response shape (totals vs timeseries) since no output schema exists to do that job.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with 10 well-described parameters, including documented enums for event and interval, so the baseline is 3. The description restates the event types and gives dimension examples that mirror the groupBy enum, adding no syntax or interaction detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Get aggregated click, lead and sale analytics') plus the grouping capability and the covered event types. 'The main reporting read' positions it as the primary analytics endpoint, though it does not explicitly name dub_get_partner_analytics as the sibling it differs from.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied by the phrase 'The main reporting read' – an agent can infer this is the default reporting tool, but there is no explicit when-to-use, when-not-to-use, or comparison against dub_get_partner_analytics or dub_count_links. No prerequisites or exclusions are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dub_get_customerGet one customerA
Read-only
Inspect

Fetch a single customer with their attribution. Dub: GET /customers/{id}.

NameRequiredDescriptionDefault
customer_idYesThe customer's Dub id.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds that attribution is returned as part of the payload, useful context, but says nothing about not-found behavior, authentication, or error handling for an id-based lookup.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with zero padding; the purpose and the endpoint mapping are front-loaded and immediately actionable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read tool with no output schema, the description does enough: it names the resource and flags that attribution comes back. It could say more about the returned shape or missing-customer behavior, but nothing essential to correct invocation is absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single customer_id parameter is documented in the schema as the Dub id. The description only restates this via the GET /customers/{id} path, adding no format or sourcing detail beyond the schema. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Fetch) and resource (a single customer) plus the notable detail that attribution is included, which distinguishes it from a mere lookup. It implies the retrieval of one record versus the sibling dub_list_customers, though it never names that sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The singular framing ('a single customer') implies it is used when you already have a customer id, and the GET path reinforces that. However, there is no explicit when-to-use statement and no reference to dub_list_customers as the alternative for browsing customers, leaving routing to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dub_get_partner_analyticsGet partner analyticsC
Read-only
Inspect

Get analytics for the partner programme — clicks, leads, sales and revenue per partner. Dub: GET /partners/analytics.

NameRequiredDescriptionDefault
endNoISO-8601 end of an absolute range.
startNoISO-8601 start of an absolute range.
groupByNoDimension to group by, e.g. count, timeseries, top_partners.
intervalNoRelative time window. Use start/end instead for an absolute range.
partnerIdNoOnly this partner.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=true already tells the agent this is a safe read, so the description needn't repeat that. It adds no behavioral context of its own — no pagination, aggregation limits, default time window, or rate-limit notes — and the trailing 'Dub: GET /partners/analytics' merely restates the endpoint already implied by the tool name.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with the metric list front-loaded; nothing is padded. The 'Dub: GET /partners/analytics' clause is mild redundancy against the name and title but costs little.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so the description should ideally describe the shape of the response beyond naming metric categories; it partially does this but says nothing about time-range defaults, required pairing of start/end, or how grouping changes the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the interval enum is self-documenting, so the baseline is 3. The description's 'per partner' phrasing only loosely gestures at partnerId/groupBy and adds no syntax, defaults, or interaction rules (e.g. groupBy=timeseries vs top_partners) beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Get analytics for the partner programme') and enumerates the metrics returned (clicks, leads, sales, revenue). An agent can see this scopes to partners rather than links, but the description never explicitly distinguishes it from the sibling dub_get_analytics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, no prerequisites, and no exclusions. With 'dub_get_analytics' present as a sibling, the agent gets no rule for choosing between partner-scoped and general analytics; the choice must be inferred from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dub_list_commissionsList commissionsB
Read-only
Inspect

List partner commissions, by partner, status, customer or time window. Dub: GET /commissions.

NameRequiredDescriptionDefault
pageNo1-based page number.
typeNoOnly commissions of this type, e.g. sale, lead, click.
statusNoOnly commissions in this state.
intervalNoRelative time window. Use start/end instead for an absolute range.
pageSizeNoPage size, 1-100.
partnerIdNoOnly this partner's commissions.
customerIdNoOnly commissions from this customer.

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The readOnlyHint annotation already establishes this is a safe read, and the description adds the concrete upstream endpoint 'GET /commissions', which reinforces that. However, it discloses nothing beyond that: no pagination defaults, no ordering, and no note on what an empty result means. Useful but thin against a low annotation bar.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences with the purpose front-loaded and the filter dimensions immediately after. Nothing is padding; the endpoint reference is a single short clause.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 100% schema coverage and a read-only annotation, the input side is adequately covered. But with no output schema, the description should carry more of the return-value burden and says nothing about the response shape, pagination metadata, or result ordering, leaving a real gap for a 7-parameter list tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter (page, type, status, interval, pageSize, partnerId, customerId) is already documented in the schema, including the interval enum. The description restates the filterable dimensions generically and adds no syntax or format detail beyond the schema, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'List partner commissions'. The filter dimensions (partner, status, customer, time window) sharpen the scope, and the resource is clearly distinct from siblings like dub_list_payouts and dub_list_partners, though it never names an alternative explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use or when-not-to-use guidance and no mention of alternatives in the sibling set (e.g. dub_list_payouts, dub_get_partner_analytics). Usage is only implied by the listed filter dimensions, leaving the agent to infer intent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dub_list_customersList customersB
Read-only
Inspect

List the customers Dub has attributed to links, by email, external id or link. Dub: GET /customers.

NameRequiredDescriptionDefault
pageNo1-based page number.
emailNoOnly the customer with this email.
linkIdNoOnly customers attributed to this link.
searchNoFree-text search.
pageSizeNoPage size, 1-100.
externalIdNoYour own id for the customer.

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, and 'GET /customers' merely restates that. It adds nothing about pagination behavior (page/pageSize), default page size, result caps, or auth requirements, which is the context a read-only listing tool would benefit from.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with the resource first. The trailing 'Dub: GET /customers' adds little beyond the verb already stated and the tool name, but the total length is tight and non-repetitive.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description could reasonably say what a listed customer contains or how pagination is returned, which it omits. It is minimally adequate for a filtered list endpoint whose safety profile is covered by annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all six parameters. The description's mention of email/external id/link loosely maps to three of them but contributes no format or syntax detail beyond the schema. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List the customers Dub has attributed to links') and enumerates the filter axes (email, external id, link). This distinguishes it from the singular sibling dub_get_customer, though it never names that sibling explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the filter axes listed, but the description never says when to prefer this over dub_get_customer (single lookup) or dub_list_events/commissions. No explicit when-to-use or exclusions are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dub_list_domainsList domainsA
Read-only
Inspect

List the short domains configured on the workspace. Dub: GET /domains.

NameRequiredDescriptionDefault
pageNo1-based page number.
searchNoFree-text search.
archivedNoInclude archived domains.
pageSizeNoPage size, 1-100.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds workspace scoping and the GET endpoint mapping, but discloses nothing about result ordering, default page size, or pagination behavior beyond what the schema hints at.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the resource scope, and the endpoint mapping is a compact addition. No filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list tool with fully documented parameters, the definition is nearly sufficient. The absence of an output schema is the only reason more could be said about return shape (e.g., whether results are paginated).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so page, search, archived, and pageSize are fully documented in the schema. The description adds no parameter-level meaning, which is the expected baseline when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (List) and resource (short domains configured on the workspace), and the 'Dub: GET /domains' mapping pins down the underlying endpoint. It is clearly distinguishable from sibling list tools such as dub_list_links or dub_list_tags by resource, though it does not explicitly contrast with them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the unique resource (there is no sibling alternative for enumerating domains), but the description gives no explicit when-to-use, prerequisites, or filtering context despite exposing search/archived filters.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dub_list_eventsList raw eventsA
Read-only
Inspect

List individual click, lead and sale events rather than aggregates — the row-level detail behind the analytics. Dub: GET /events.

NameRequiredDescriptionDefault
endNoISO-8601 end of an absolute range.
pageNo1-based page number.
eventNoWhich event type to list.
limitNoPage size, 1-100.
startNoISO-8601 start of an absolute range.
linkIdNoOnly this link's events.
intervalNoRelative time window. Use start/end instead for an absolute range.
customerIdNoOnly this customer's events.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The readOnlyHint annotation already establishes this is a non-destructive read, so the description only needs to add context. It adds that results are row-level rather than aggregated, but says nothing about pagination behavior, result caps, or ordering — notable given page/limit parameters exist.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short clauses that front-load the core purpose followed by the disambiguating contrast. No filler, no restatement of the title, and the endpoint reference is compact.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 8 all-optional filters, 100% schema coverage, and no output schema, the definition covers purpose adequately but leaves the shape of a returned event row and pagination semantics unexplained. For a list tool with no output schema, a sentence on the result payload would close the remaining gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter including event, interval, linkId, customerId, start/end, page and limit is already documented. The description adds no syntax, format, or interaction detail (e.g., interval vs start/end precedence) beyond that baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (list) and resource (individual click/lead/sale events) and explicitly differentiates itself from aggregate analytics, which distinguishes it from the sibling dub_get_analytics. The appended 'Dub: GET /events' endpoint reference anchors the operation precisely.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'rather than aggregates — the row-level detail behind the analytics' tells the agent when this tool is appropriate versus summary reporting, which is clear implicit routing. It never names the alternative tool (dub_get_analytics) or lists exclusions, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dub_list_foldersList foldersC
Read-only
Inspect

List link folders and their access levels. Dub: GET /folders.

NameRequiredDescriptionDefault
pageNo1-based page number.
searchNoFree-text search over folder names.
pageSizeNoPage size, 1-100.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=true already tells the agent this is a safe read; the description only adds that access levels are included in the result. It says nothing about pagination behavior despite page/pageSize parameters, result ordering, or result size limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the purpose. The 'Dub: GET /folders.' clause is minor REST reference padding but not harmful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list tool with fully documented parameters this is adequate, but with no output schema the description could have clarified the paginated response shape (which the page/pageSize params imply) to be truly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so page, search, and pageSize are fully documented in the schema itself. The description adds no syntax or semantics beyond that, which is the expected baseline when the schema does the work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (List) and resource (link folders), and adds scope detail (their access levels). It is distinguishably about folders versus the many sibling list_* tools, though it doesn't explicitly contrast with dub_create_folder or other folder-related operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No indication of when to use this versus alternatives, no prerequisites, no mention of what it complements (e.g., dub_create_folder). The only guidance is implicit in the resource noun.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dub_list_partner_applicationsList partner applicationsB
Read-only
Inspect

List pending applications to join the partner programme. Dub: GET /partners/applications.

NameRequiredDescriptionDefault
pageNo1-based page number.
pageSizeNoPage size, 1-100.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds the useful non-obvious scope constraint that results are limited to pending applications, but says nothing about pagination defaults, result ordering, or what happens when the page is out of range.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the purpose and the scoping qualifier before the API mapping. The 'Dub: GET /partners/applications' clause is mildly redundant but cheap and occasionally useful for API lookup.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple, zero-required-parameter read-only list this is close to adequate, but with no output schema the description could have sketched what an application record contains or that pagination metadata is not returned alongside, leaving the agent to infer the response shape.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with page and pageSize fully described including bounds, so the baseline is 3. The description contributes no additional parameter meaning such as defaults or sensible values.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (list) and resource (partner applications) with a scoping qualifier (pending), which separates it from dub_list_partners. It does not explicitly name or contrast that sibling, but the resource noun is distinct enough that an agent can route correctly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no mention that the sibling tools dub_approve_partner_application and dub_reject_partner_application operate on the records this tool returns, and no note that only pending (not approved/rejected) applications are surfaced as a filter. Usage is implied by the name and 'pending' qualifier only.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dub_list_partnersList partnersB
Read-only
Inspect

List the partners (affiliates) in the programme, by status, country or email. Dub: GET /partners.

NameRequiredDescriptionDefault
pageNo1-based page number.
emailNoOnly the partner with this email.
searchNoFree-text search.
statusNoOnly partners in this state, e.g. approved, pending.
pageSizeNoPage size, 1-100.

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=true already tells the agent this is a safe read, and the description adds nothing beyond that — no pagination behavior, default page size, or total-count semantics despite page/pageSize params. It also cites a 'country' filter that does not exist as a parameter, a minor inaccuracy against the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, zero waste, with the resource and filter dimensions front-loaded before the endpoint mapping. Nothing is padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a five-parameter, no-required-params listing tool with no output schema and only a readOnlyHint annotation, the description is thin: pagination defaults and the distinction from dub_list_partner_applications are left unexplained, though the core operation is adequately conveyed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description paraphrases the filter intent (status/email) but adds no semantics beyond the schema, and its mention of 'country' does not correspond to any actual parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear specific verb+resource: 'List the partners (affiliates) in the programme', and it names the filter dimensions. However, it does not distinguish itself from the very similar sibling dub_list_partner_applications, which an agent could easily confuse with partner listing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'by status, country or email' implies a filtered listing, but there is no explicit when-to-use guidance, no mention of the confusable sibling dub_list_partner_applications, and no statement of preconditions. Usage is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dub_list_payoutsList payoutsB
Read-only
Inspect

List partner payouts and their status. Dub: GET /payouts.

NameRequiredDescriptionDefault
pageNo1-based page number.
statusNoOnly payouts in this state.
pageSizeNoPage size, 1-100.
partnerIdNoOnly this partner's payouts.

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=true already covers the safety profile, and the description adds no behavior beyond it: no pagination semantics, no note on default status filtering, no indication of what 'status' values mean. The 'Dub: GET /payouts' line is an API-mapping aid, not behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with the purpose front-loaded and no filler. The endpoint reference is the only marginally expendable element, but it is compact.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only list tool with a fully documented schema and annotations, the description is minimally sufficient, but it omits any mention of filtering/pagination behavior or result shape, and an agent gets no help distinguishing payout listings from commission listings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all four optional filters (page, pageSize, status, partnerId) are already documented in the schema. The description adds no extra meaning such as allowed status values or pagination defaults, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear verb+resource ('List partner payouts and their status'), so an agent knows what the tool returns. It does not distinguish itself from neighbors like dub_list_commissions or dub_list_partners, which also list partner-related financial/entity data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied by the name; there is no statement of when to prefer this over dub_list_commissions or how status/partner filtering should drive the choice. No exclusions or prerequisites are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dub_list_tagsList tagsB
Read-only
Inspect

List the tags available for organising links. Dub: GET /tags.

NameRequiredDescriptionDefault
pageNo1-based page number.
searchNoFree-text search over tag names.
pageSizeNoPage size, 1-100.

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds the REST endpoint (GET /tags) and that the tags are for organising links, but it does not disclose pagination behaviour, ordering, authentication needs, or return shape.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the purpose, followed by the endpoint mapping. Every word earns its place with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list endpoint with fully documented parameters and a readOnlyHint annotation, the description is mostly complete. It omits return-value details (no output schema exists), but the complexity is low enough that this is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents page, search, and pageSize. The description adds no parameter details beyond what the schema already provides, making the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (list) and resource (tags) with the scope of organising links, so the agent knows what it returns. It does not explicitly distinguish itself from siblings such as dub_create_tag or other list endpoints, so it falls short of 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides no when-to-use guidance, prerequisites, or alternatives. The purpose implies it retrieves tags, but nothing tells the agent when this tool is preferable to dub_create_tag or another list operation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dub_reject_partner_applicationReject a partner applicationB
Destructive
Inspect

Reject an application to join the partner programme. Dub: POST /partners/applications/reject.

NameRequiredDescriptionDefault
applicationIdYesThe application to reject.

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, and the description adds nothing beyond that: it does not say whether the rejection is reversible, whether the applicant is notified, what state the application moves to, or whether permissions are required. The API endpoint reference is the only extra detail and carries little behavioral value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with the action front-loaded and no wasted prose. The 'Dub: POST /partners/applications/reject' line is compact but largely redundant for an agent that never constructs raw HTTP calls.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter mutation tool with no output schema, the definition covers what is needed to invoke it, and the destructiveHint annotation carries the safety profile. It remains thin on consequences of the destructive action, which is the main outstanding gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single applicationId parameter, so the schema already documents it fully. The description adds no syntax, format, or sourcing guidance beyond what the schema provides, making the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (reject) and resource (application to join the partner programme), and the verb itself cleanly separates it from the dub_approve_partner_application sibling. An agent can identify the action without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use or when-not guidance, no mention of the approve alternative, and no prerequisites such as required partner-programme state. The only usage signal is the implied context that this handles rejections rather than approvals.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 22 tool updates
    • Changeddub_approve_partner_application1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changeddub_count_links1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changeddub_create_folder1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changeddub_create_link1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changeddub_create_tag1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changeddub_delete_link1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changeddub_get_analytics1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changeddub_get_customer1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changeddub_get_link1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changeddub_get_partner_analytics1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changeddub_list_commissions1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changeddub_list_customers1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changeddub_list_domains1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changeddub_list_events1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changeddub_list_folders1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changeddub_list_links1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changeddub_list_partner_applications1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changeddub_list_partners1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changeddub_list_payouts1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changeddub_list_tags1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changeddub_reject_partner_application1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changeddub_update_link1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    User can create short urls, edit short urls, get click analytics, generate qr codes and much more.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Affilio.link URL shortener — shorten affiliate links, get QR codes, powered by Affilio's affiliate link management platform.
    Apache 2.0
  • A
    license
    C
    quality
    A
    maintenance
    It enables AI agents and command-line users to manage short links, analytics, conversions, partner workflows, commissions, payouts, and private workspace profiles with explicit write controls and exact reviewed batch submissions.
    61
    20 npm
    AGPL 3.0
  • A
    license
    A
    quality
    D
    maintenance
    Generate styled QR codes, manage dynamic short links with click analytics, and publish micro-landing pages via AI agents.
    19
    13 npm
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.