Skip to main content
Glama

Clickwise Affiliate Network

Server Details

Affiliate programs, deals and tracked links, plus product search by text or GTIN.

Ownership verified
Status
Healthy
Uptime
78.5% over 21 days
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
softdevfz/clickwise-api
GitHub Stars
0

TDQS

A3.9/5.0

Scored across 20 tools

Disambiguation4/5

Tools are largely distinct, and the descriptions actively cross-reference alternatives (e.g. find_affiliate_programs vs list_programs vs list_my_programs, and create_tracking_links vs request_tracked_links vs get_monetization_feed). The main friction is the trio of link-generation tools and request_tracked_links vs get_monetization_feed, which overlap in creating provisional affiliates and links, though the account-state distinctions help an agent choose.

Naming Consistency5/5

Every tool follows a strict snake_case verb_noun pattern (get_, list_, request_, create_, apply_, search_, update_, find_), with no camelCase or stylistic deviations. The convention maps cleanly to intent, making the surface highly predictable.

Tool Count4/5

Twenty tools is on the heavier side, but the domain is genuinely broad (discovery, application, links, products, deals, news, payments, conversions, profile, merchant onboarding) and the tools group cleanly by resource. Slightly over-scoped, yet each tool earns a distinct place.

Completeness4/5

Coverage is strong across the affiliate lifecycle: discovery, application, link creation, product feeds/search, reporting, payments, and profile management, plus a merchant onboarding flow. Minor gaps exist (no link management like pausing/deleting links, no single-program detail fetch), but core workflows are well supported.

Available Tools

20 tools
apply_to_programApply to a programA
Idempotent
Inspect

Ask to join a program (program_id from list_my_programs with include_available, or a campaign_id). Clickwise reviews the fit; the result is approved or pending. Requires your own Clickwise affiliate API key on the MCP connection (X-API-Key header or Authorization: Bearer); acts only on your account.

ParametersJSON Schema
NameRequiredDescriptionDefault
program_idNo
campaign_idNo

TDQS

A4.3/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint=false, destructiveHint=false, idempotentHint=true), the description discloses the auth requirement (own Clickwise affiliate API key via X-API-Key or Bearer), the account scoping ('acts only on your account'), and the outcome model ('approved or pending'). That is exactly the behavioral context an agent needs before invoking a mutation.

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?

Three sentences, front-loaded with the action and the ID source before auth details. Dense and largely waste-free, though the parenthetical about ID provenance is a little packed for a reader scanning quickly.

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?

With no output schema, the description correctly supplies the return status (approved or pending) and the auth/account constraints. The remaining gap is the zero-required-parameter ambiguity (must one of program_id/campaign_id be supplied?) and the undocumented campaign_id origin.

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 coverage is 0% and there is no type/format documentation, so the description must carry the load. It gives useful provenance for program_id (comes from list_my_programs with include_available) but says nothing about where campaign_id originates, its valid form, or whether exactly one of the two is required.

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 and resource ('Ask to join a program') and immediately anchors the identifier to the sibling that produces it (list_my_programs with include_available). An agent can distinguish this from list_my_programs, find_affiliate_programs, and the request_* siblings without opening any schema.

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?

Explains where program_id comes from and that campaign_id is an accepted alternative, which tells the agent how to be ready to call it. It does not state when NOT to apply or what the alternative route is if the agent lacks an ID, so it stops short of full when/when-not guidance.

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

find_affiliate_programsFind affiliate programsA
Read-onlyIdempotent
Inspect

Use this first when someone without a Clickwise account asks which merchants to promote: it ranks live programs by fit for a described site, app, newsletter or social channel. Does not require signup. For the whole catalogue page by page use list_programs; for the programs your API key is already approved in use list_my_programs.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
topicNoAudience or content topic, e.g. travel deals, AI shopping assistant, sneakers.
channelNoPublishing channel: site, app, newsletter, Instagram, TikTok, coupon, cashback, etc.
countryNoMain audience country, ISO 3166-1 alpha-2 if known.
networkNoOptional source network slug; applies only to signed-in affiliates.
categoryNoPreferred vertical/category.
merchantNoOptional merchant name/domain filter.
publisher_urlNoWhere the affiliate will publish: URL, app URL, social profile, newsletter page, etc.
traffic_dailyNoEstimated daily visits/reach.
include_unreadyNoAlso return published matched programs whose links are not available yet; can_issue_link_now indicates availability.
traffic_monthlyNoEstimated monthly visits/reach.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so the safety profile is covered by structured data. The description adds genuinely new context the annotations do not carry: no signup/account is required, and results are ranked by fit against the described publisher. It stays silent on result size, pagination, and rate limits, keeping it just short of a 5.

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 sentences, both front-loaded: the eligibility trigger and the ranking behavior come first, the sibling routing second. No filler, no restatement of the tool name, and the reader can act after the first clause.

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 an 11-parameter, all-optional, read-only search tool with no output schema, the description is nearly sufficient: eligibility, ranking semantics, and sibling disambiguation are all present. The gap is that it never hints at what comes back (ranked program list with fit signals) or how the default limit of 8 shapes a response, which an agent choosing argu

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 91% across 11 parameters, so the schema already documents topic, channel, country, network, publisher_url, traffic figures, and include_unready. The description only implicitly echoes topic/channel/publisher_url ('described site, app, newsletter or social channel') without adding format, defaults, or interaction rules beyond what the schema states. Baseline 3 is the correct ceiling here.

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?

The description states a specific verb and resource ('ranks live programs by fit') and names the input that drives the ranking ('for a described site, app, newsletter or social channel'). It also names the two sibling tools it is not, so an agent can distinguish it without opening any schema.

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

Usage Guidelines5/5

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

It gives an explicit trigger ('Use this first when someone without a Clickwise account asks which merchants to promote') and routes to alternatives with their conditions: list_programs for whole-catalogue paging and list_my_programs for already-approved programs. Both when-to-use and when-to-use-something-else are covered.

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

get_catalog_statsGet catalog statisticsA
Read-onlyIdempotent
Inspect

Public GTIN catalog counts as of generated_at, using the same stored snapshot as /api/v1/public/catalog-stats/. Fixed one-hour validity; snapshot_stale marks older counts, served for up to 7 days. No affiliate data or amounts.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description adds genuinely new behavior: a fixed one-hour validity window, a snapshot_stale marker for older counts served up to 7 days, and the explicit exclusion of affiliate data and amounts. These caching and data-scope traits are exactly what an agent needs and cannot infer from the annotations.

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?

Three short, front-loaded sentences with no filler: what it returns, how fresh it is, and what it excludes. The freshness constraint appears before the caveats, which is the right ordering.

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?

With no output schema, the description carries the return-shape burden and discloses the staleness flag and exclusion of amounts. It stops short of saying what the counts actually comprise (e.g. total vs. per-category GTINs), which leaves a small ambiguity about the payload.

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

Parameters4/5

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

The tool takes no parameters, so the baseline is 4. The description correctly implies a parameterless call and instead spends its text on the data semantics that matter for this tool.

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?

The description states a specific verb and resource: it returns public GTIN catalog counts as of a snapshot time. No sibling tool returns statistics, so it is trivially distinguishable from list_/get_ tools that return records. The reference to the equivalent REST endpoint pins down the exact data set.

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 resource (use it to read catalog counts), but there is no explicit when-to-use or when-not guidance, nor any named alternative. With a flat catalog of siblings and no overlap, the absence of exclusions is a minor gap rather than a hazard.

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

get_dealGet dealA
Read-onlyIdempotent
Inspect

Fetch the full record for a single deal by its slug. Returns title, description, code, discount, target_url, etc., in the requested language.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoen
slugYes

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered structurally. The description adds only that the response is a full record in the requested language; it says nothing about not-found behavior, permissions, or rate limits, so it adds modest value on top of annotations.

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 front-loaded sentences with no filler, the identification method ('by its slug') stated first. The trailing 'etc.' makes the return-field list slightly vague but it is efficient overall.

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 two-parameter read with no output schema, the description gives the identifying key, the language option, and a sample of returned fields, while annotations cover safety. Nothing critical is missing for correct invocation, though not-found/error behavior is unstated.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must carry parameter meaning. It explains that 'slug' identifies a single deal and that 'lang' selects the response language, covering both parameters beyond the bare schema. It doesn't state the enum values or the default, which are visible in the schema anyway.

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 ('Fetch the full record for a single deal by its slug'), which clearly separates it from list_deals and search_products. It doesn't explicitly name the sibling it contrasts with, so sibling differentiation is implied rather than stated.

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: fetch one deal when you already have its slug, versus list_deals for browsing. There is no explicit when-to-use/when-not guidance or named alternative, so it stays at the minimum viable level.

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

get_monetization_feedGet monetization feedAInspect

Use this when a publisher without an account wants links ready to render on a site or app: it creates a provisional Clickwise affiliate and tracked links, as request_tracked_links does, and also returns cards, an HTML embed snippet and a JSON feed. Email is optional; the account is claimed later for payout. For plain links use request_tracked_links; with an existing API key use create_tracking_links.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoHow many cards to return.
topicNoAudience/content topic, e.g. travel deals, AI shopping assistant, sneakers.
sub_idNoOptional placement/sub ID for attribution.
countryNoMain audience country, ISO 3166-1 alpha-2.
categoryNoPreferred vertical/category.
claim_emailNoOptional email to claim the account (and payout) later.
program_idsNoOptional specific program IDs; omit to let Clickwise pick fitting merchants.
publisher_urlNoThe app/site/profile where the feed will be embedded.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false and idempotentHint=false, and the description adds real behavioral context beyond them: it creates a provisional affiliate, email is optional, the account is claimed later for payout, and it returns multiple output formats. It doesn't spell out the consequence of repeat calls (non-idempotent side effects) or whether the provisional account persists, which keeps it from a 5.

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?

Three sentences, front-loaded with the usage condition and the sibling routing, and every sentence carries information. It is densely packed but not wasteful; the return-format detail and the alternative routing both earn their place.

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

Completeness5/5

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

With 8 optional parameters, no required inputs and no output schema, the description fills the important gaps: it explains the side effect (provisional account + tracked links), the output shape (cards, HTML embed, JSON feed) and the fallback tools. An agent has enough to call it correctly.

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 8 parameters. The description adds a little meaning by clarifying that claim_email is optional and tied to later payout, but the remaining parameters get no additional semantics. Baseline 3 is correct 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.

Purpose5/5

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

States a specific verb and resource (creates a provisional Clickwise affiliate and tracked links, returns cards, an HTML embed snippet and a JSON feed). It explicitly distinguishes itself from request_tracked_links and create_tracking_links, so an agent can route correctly without opening any schema.

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

Usage Guidelines5/5

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

Gives an explicit condition for use (a publisher without an account wants links ready to render) and names two alternatives with the selecting condition: request_tracked_links for plain links, create_tracking_links with an existing API key. Nothing is left to inference.

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

get_newsGet news articleB
Read-onlyIdempotent
Inspect

Fetch the full record for a single news article by its slug.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoen
slugYes

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds the useful behavioral note that it returns the 'full record' (contrasting with the partial list view), but says nothing about return format, caching, or missing-slug behavior.

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?

A single front-loaded sentence with zero filler; the lookup key follows immediately after the purpose. Nothing is wasted.

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 no output schema and a simple read tool, the description is close to sufficient, but it leaves the lang parameter unexplained and does not state that the slug originates from list_news. Adequate but with recognizable gaps.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must carry the load, but it only explains the 'slug' parameter and gives no semantics for 'lang'. The enum values and default are visible in the schema, but the description never confirms that lang selects the localized article (and what happens with unsupported translations).

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 ('full record for a single news article'), with the lookup key ('by its slug') made explicit. The word 'single' implicitly separates it from the sibling list_news, though the sibling is never named.

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 phrase 'by its slug' implies the caller must already have a slug (presumably from list_news), so usage is implied rather than stated. There is no explicit 'use this instead of list_news when...' routing guidance or precondition statement.

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

get_payment_statusGet my payment statusA
Read-onlyIdempotent
Inspect

Use this when an affiliate asks when they get paid: approved commission not yet paid (per currency and in USD), commission still pending review, the next payment as an estimate with its threshold, and the payment method as its type (a bank account shows only its last 4 digits). Read-only; never returns account numbers, PayPal addresses, postal or tax data. Requires your own Clickwise affiliate API key on the MCP connection (X-API-Key header or Authorization: Bearer); acts only on your account.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare read-only/idempotent/non-destructive, but the description adds substantial context beyond them: the exact privacy boundary (never returns account numbers, PayPal addresses, postal or tax data), the masking behavior (bank account shows only last 4 digits), and the authentication requirement (X-API-Key header or Bearer). That is meaningful behavioral detail an agent cannot derive from structured fields.

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 with the usage trigger, then the return payload, then privacy and auth notes. Every clause carries information, though the first sentence is a dense multi-item list that could be broken up; no filler or redundancy.

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

Completeness5/5

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

With no output schema, the description carries the full burden of describing return values, and it does so field-group by field-group. Auth modality, account scoping, and privacy limits are all covered, so an agent has everything needed to call it correctly.

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

Parameters4/5

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

The tool takes zero parameters, so the baseline is 4. Schema coverage is 100% and there is nothing for the description to disambiguate at the input level.

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+resource (get payment status) and then enumerates exactly what the response covers: approved-but-unpaid commission, commission pending review, next payment estimate with threshold, and payment method type. This is clearly distinguishable from reporting siblings like get_performance_report or list_conversions.

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?

Gives an explicit trigger condition ('Use this when an affiliate asks when they get paid'), which is clear and actionable. It does not name any alternative tool or state when NOT to use it, so it falls short of the 5-level when/when-not/alternatives framing.

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

get_performance_reportGet performance reportA
Read-onlyIdempotent
Inspect

Your conversions and commission (what you earn), grouped by day, week, month, subid, campaign or status, for up to 366 days (default: last 30). Daily/weekly/monthly series include empty periods. Requires your own Clickwise affiliate API key on the MCP connection (X-API-Key header or Authorization: Bearer); acts only on your account.

ParametersJSON Schema
NameRequiredDescriptionDefault
subidNo
statusNo
date_toNoYYYY-MM-DD
group_byNoday
date_fromNoYYYY-MM-DD

TDQS

A4.1/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, yet the description adds real behavior an agent cannot infer: the auth mechanism (X-API-Key or Bearer), that it acts only on the caller's own account, the 366-day cap with a 30-day default, and that daily/weekly/monthly series include empty periods.

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 dense sentence with no filler, and the highest-value content (what is returned) is front-loaded. The run-on auth clause at the end is slightly heavy but still earns its place.

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?

No output schema exists, so the description carries the burden of describing the return shape, and it does (grouped conversion and commission figures, empty periods retained). Remaining gaps are the filter semantics of subid/status, which are minor for a read-only report.

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 coverage is only 40% and 5 parameters exist, so the description must compensate. It usefully covers group_by values and the date window, but frames subid and status only as grouping dimensions rather than explaining their filter behavior, leaving that half of the parameters thin.

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 and resource ('Your conversions and commission... grouped by day, week, month, subid, campaign or status') with the aggregation dimensions and window spelled out. An agent can distinguish this reporting tool from list_conversions or get_catalog_stats 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 Guidelines3/5

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

Gives operational context (default last 30 days, 366-day max, API key required) but never says when to choose this over list_conversions or how the subid/status filters interact. Usage is implied rather than contrasted with alternatives.

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

get_product_feedGet product feed URLA
Idempotent
Inspect

Create or refresh a GTIN product feed for your authenticated affiliate and one country, and return its signed URL (json, csv, tsv or xml) with Clickwise /dl/ tracked product links. The same request returns the same URL. Requires your affiliate API key. Current freshness, permissions, assignments and delivery caps apply.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNojson
countryYes
categoryNo

TDQS

A3.7/5.0
Behavior4/5

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

It goes beyond the annotations by disclosing real behavioral traits: the URL is signed, links are Clickwise /dl/-tracked, the operation is idempotent in a user-visible way ('the same request returns the same URL'), and external factors (freshness, permissions, assignments, delivery caps) can affect the result. This aligns with idempotentHint=true and readOnlyHint=false without contradicting them.

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?

Four sentences, each carrying distinct information (capability, return value, idempotency, prerequisites), with the core action front-loaded. Slightly dense but no 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 three-parameter, no-output-schema mutation tool, it covers the action, return artifact, idempotency, auth requirement and constraints. The main gap is the undocumented category parameter and any indication of error or cap-exceeded behavior.

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 0%, so the description must carry all parameter meaning. It documents country ('one country') and format ('json, csv, tsv or xml') but never mentions the category parameter, leaving one of three parameters completely unexplained.

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 gives a specific verb-and-resource pairing ('Create or refresh a GTIN product feed') plus the concrete outcome (a signed URL with tracked product links), so the agent knows exactly what the tool produces. It stops short of differentiating itself from siblings such as get_monetization_feed, which could plausibly return similar feed artifacts.

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?

It sets preconditions (authenticated affiliate API key, one country, freshness/permissions/assignment/delivery-cap constraints) which is useful context. However, it never states when to prefer this tool over get_monetization_feed or get_catalog_stats, and gives no explicit exclusion or alternative routing.

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

list_conversionsList conversionsA
Read-onlyIdempotent
Inspect

Your individual conversions (default: last 90 days) with status, commission, currency and subid, plus a per-subid rollup. Requires your own Clickwise affiliate API key on the MCP connection (X-API-Key header or Authorization: Bearer); acts only on your account.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
subidNo
statusNo
date_toNoYYYY-MM-DD
date_fromNoYYYY-MM-DD
page_sizeNo

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so safety is covered; the description goes further by disclosing the auth requirement (own Clickwise API key via X-API-Key or Bearer) and the default 90-day window. It does not explain pagination behavior or result ordering, which keeps it short of a 5.

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 tight sentences, front-loaded with what the tool returns and followed by the auth constraint. Every clause carries information; only the parenthetical auth detail slightly crowds the core purpose statement.

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?

With no output schema, the description usefully names the returned fields and the per-subid rollup, and it covers the auth and account-scoping requirements. It stops short of describing pagination limits/defaults, which matters for a 6-param list tool with page_size up to 500.

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 coverage is only 33% across 6 params, so the description must compensate and it partially does: status, subid and the date range ('default: last 90 days') are implied. But page and page_size, which govern result volume, get no mention in either place, leaving a real gap.

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 resource (individual conversions) and enumerates the returned fields (status, commission, currency, subid, plus a per-subid rollup), so an agent knows exactly what this tool produces. No sibling tool in the list deals with conversions, so the resource is self-differentiating from get_performance_report and the rest.

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?

Gives concrete context — default window of the last 90 days and that it acts only on your own account — which implies when it applies. However it never names an alternative (e.g., get_performance_report for aggregate stats) or states any exclusion, so the when-to-use-vs-sibling decision is left to inference.

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

list_dealsList dealsA
Read-onlyIdempotent
Inspect

List active Clickwise deals and offers, optionally filtered by language, category, country or merchant.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoen
limitNo
countryNoISO 3166-1 alpha-2 (US, ES, BR, ...)
networkNoOptional source network slug; applies only to signed-in affiliates.
categoryNoe.g. fashion, travel, electronics, health
merchantNoMerchant name or domain

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered elsewhere. The description adds only the "active" scoping word; it says nothing about pagination behavior or result volume despite limit defaulting to 20 and capping at 100.

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?

A single front-loaded sentence with zero filler; the verb, resource and filter options are all in the first clause.

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 read-only list tool with no output schema and annotation coverage of the safety profile, the description is nearly sufficient. The gaps are pagination/result-shape and the fact that the network filter only applies to signed-in affiliates, which matters for correct invocation.

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 67%, and the description names four of the six filters (lang, category, country, merchant), matching what the schema already documents for three of them. It omits limit and network entirely, so it neither compensates for the undocumented lang/limit fields nor adds syntax 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?

The description states a specific verb (list) and resource (active Clickwise deals and offers) and names the filter dimensions. It is clearly distinguishable from get_deal (single item) and list_programs, though it does not explicitly contrast itself with those siblings.

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?

"Optionally filtered by..." implies the retrieval use case, but there is no explicit when-to-use guidance, no mention of when to prefer get_deal or search_products, and no statement of prerequisites.

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

list_my_programsList my programsA
Read-onlyIdempotent
Inspect

Use this when you hold a Clickwise affiliate API key and need the programs that key is approved to promote, with link readiness and your existing link count; set include_available to add the ones you can apply to. For discovery without an account use find_affiliate_programs or list_programs. Requires your own Clickwise affiliate API key on the MCP connection (X-API-Key header or Authorization: Bearer); acts only on your account.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
searchNoMerchant/campaign name filter.
page_sizeNo
include_availableNo

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive/closed-world, and the description still adds non-obvious behavior: the required auth credential and its exact placement ('X-API-Key header or Authorization: Bearer') and that it 'acts only on your account'. The include_available flag's effect on the result set is also 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?

Front-loads the core purpose and effect, then the alternative, then the auth requirement. The first sentence is dense with semicolon-joined clauses, but every clause carries routing or capability information and nothing is redundant.

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

Completeness5/5

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

There is no output schema, and the description fills that gap by describing what comes back (link readiness, link count). Auth, account scope, sibling disambiguation, and the optional expansion flag are all covered, so an agent has everything needed to invoke it correctly.

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

Parameters4/5

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

Schema coverage is only 25% (just 'search'), but the description compensates by explaining include_available's semantics ('add the ones you can apply to') and the default result set ('programs that key is approved to promote'). page and page_size are left to their self-evident names/defaults, which is a minor gap rather than a failure.

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 and resource ('list my programs') plus the exact scope: programs the supplied API key is approved to promote, augmented with link readiness and existing link count. It explicitly separates itself from the discovery siblings find_affiliate_programs and list_programs, so an agent can route without opening any schema.

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

Usage Guidelines5/5

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

Gives a clear trigger ('when you hold a Clickwise affiliate API key and need the programs that key is approved to promote') and names the alternative for the opposite case ('for discovery without an account use find_affiliate_programs or list_programs'). Exclusions are stated, not implied.

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

list_newsList program newsB
Read-onlyIdempotent
Inspect

List Clickwise news announcements about affiliate programs (policy changes, launches, shutdowns, commission updates).

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoen
limitNo
networkNo
severityNo

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety and consistency profile is fully covered. The description adds only topical scope, no pagination, ordering, or defaulting behavior, which is acceptable given the annotation coverage but adds little.

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?

A single front-loaded sentence with no filler; the resource and its scope appear immediately.

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

Completeness2/5

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

With no output schema and 0% parameter description coverage, the description should carry the burden of explaining the returned item shape and filters, but it does neither. For a four-parameter filtered list tool, this leaves an agent guessing about defaults and result structure.

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

Parameters2/5

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

Schema description coverage is 0% for four parameters (lang, limit, network, severity), and the description explains none of them. The severity enum (info/warn/critical) loosely maps to the listed news categories, but language, result cap, and network filtering are left entirely undocumented.

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 ('Clickwise news announcements about affiliate programs') and enumerates the content types covered (policy changes, launches, shutdowns, commission updates). It is clear what the tool returns, but it never distinguishes itself from the sibling get_news, leaving the list-vs-get split to inference.

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, and no prerequisite or alternative named. An agent facing both list_news and get_news gets no signal about which to pick.

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

list_programsList programsA
Read-onlyIdempotent
Inspect

Use this to browse the whole live catalogue page by page, filtered by merchant, category or country, when find_affiliate_programs' ranked top matches are not enough. No key needed; it shows programs anyone can join. For the programs your API key is approved in use list_my_programs.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
countryNoISO 3166-1 alpha-2
networkNoOptional source network slug; applies only to signed-in affiliates.
categoryNo
merchantNoMerchant name or domain
page_sizeNo
ready_onlyNoOnly programs that can issue a tracked link right now.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint/idempotentHint/non-destructive, so the safety profile is covered. The description adds genuinely new behavior: no API key required and the result set is limited to publicly joinable programs, which materially affects how an agent should interpret results. It stops short of describing pagination termination or result ordering.

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?

Three short sentences, each carrying distinct information: purpose and filters first, then the auth/visibility fact, then the disambiguation pointer. No filler and nothing buried.

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 7-parameter, no-output-schema read tool this covers purpose, filtering, auth requirements and sibling routing, which is most of what an agent needs. The remaining gap is pagination semantics (how many pages, how to know when to stop) and the effect of ready_only's default.

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 57%, so the schema already documents country, network, merchant and ready_only. The description names three of the seven filters (merchant, category, country) but says nothing about page/page_size or the meaningful ready_only default of true, which changes what the agent gets back.

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 and resource ('browse the whole live catalogue page by page') plus the filterable dimensions, and explicitly distinguishes itself from both find_affiliate_programs and list_my_programs. An agent can route between the three sibling list tools without opening any schema.

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

Usage Guidelines5/5

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

Gives the exact condition for choosing this tool ('when find_affiliate_programs' ranked top matches are not enough') and names the alternative for the other case ('For the programs your API key is approved in use list_my_programs'). When-to-use and when-to-use-something-else are both explicit.

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

request_merchant_onboardingRequest merchant onboardingAInspect

Start a Clickwise merchant (advertiser) onboarding application. Describe the store; an automated evaluator replies with a follow-up question, an approval or a decline. Returns the status and an access secret to continue.

ParametersJSON Schema
NameRequiredDescriptionDefault
countryNo
messageNoFree-text about the store / what they sell — the AI can drive the whole interview from this.
websiteNo
verticalNo
company_nameNo
contact_emailNoOptional; lets the merchant claim/continue later.
networks_usedNoAffiliate networks the merchant already works with, if any.

TDQS

A3.9/5.0
Behavior4/5

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

Goes well beyond the annotations (readOnlyHint=false, idempotentHint=false, openWorldHint=true) by disclosing the stateful, multi-turn interview loop and the possible outcomes (follow-up question, approval, decline). It also notes the response carries a status and an access secret needed to continue, which is valuable since there is no output schema. It stops short of stating auth requirements or what happens to abandoned/duplicate applications.

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 tight sentences, front-loaded with the action, then the interaction outcome. No filler or repetition of the title or annotations.

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 7-param, zero-required, no-output-schema tool, it explains the call flow and the returned status/secret, which covers the biggest unknowns. It leaves gaps on how the access secret is subsequently used and on the undocumented parameters.

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

Parameters2/5

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

Schema description coverage is only 43% (3 of 7 params), so the description is expected to compensate, but it only gestures at the free-text store description. country, website, vertical, and company_name receive no meaning, format, or optionality guidance in either place.

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 and resource (start a merchant/advertiser onboarding application) and immediately describes the interaction model (automated evaluator responds with question/approval/decline). This clearly distinguishes it from the read/discovery siblings like list_programs and get_product_feed.

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: use this to begin onboarding a new merchant and to drive the interview via free-text. There is no explicit when-not guidance, no mention of what to do for an existing in-progress application, and no routing away from alternatives such as request_tracked_links.

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

search_productsSearch catalog productsA
Idempotent
Inspect

Search fresh GTIN products in the catalog your affiliate can deliver (freshness, permissions and caps apply). Requires your affiliate API key in X-API-Key or Bearer authorization; a sandbox key (cw_sbx_, free at partners.clickwise.net/developers) also works and returns example links that never earn. Every key gets exactly the REST GET /api/v1/publisher/products/ format (with gtin: /products/lookup/): products with id, gtin, title, price and currency, url (a Clickwise /dl/ tracked link created for your affiliate the first time a product is returned), image, merchant (id, name and its public website domain), availability, country, brand, category, regular_price, description, size, color and group_id (shared by the sizes of one model and colour), plus count, total and total_exact. Search by text, brand or category, or list one market by country alone; min_price and max_price filter by price in each product's own currency (inclusive, no conversion) and currency keeps one currency; with gtin every market carrying that GTIN is searched; offset paginates.

ParametersJSON Schema
NameRequiredDescriptionDefault
gtinNo
textNo
brandNo
limitNo
offsetNo
countryNo
categoryNo
currencyNoISO 4217 code: only products priced in this currency (the price range then applies to it).
max_priceNoInclusive upper price bound, in each product's own currency (no conversion). Number from 0 with up to 4 decimals.
min_priceNoInclusive lower price bound, in each product's own currency (no conversion). Number from 0 with up to 4 decimals.

TDQS

A4.5/5.0
Behavior5/5

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

Adds substantial context beyond annotations: auth requirements (X-API-Key or Bearer), the sandbox key behavior (returns example links that never earn), the freshness/permissions/caps caveat, and crucially the side effect that a Clickwise /dl/ tracked link is created the first time a product is returned — which explains why readOnlyHint is false. Ceiling of behavioral disclosure for a search tool.

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

Conciseness3/5

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

Information-dense with little wasted wording, but delivered as a single run-on paragraph mixing auth, return fields, and query modes, so nothing is visually front-loaded beyond the opening clause. Functional but not well structured.

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

Completeness5/5

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

No output schema exists, and the description compensates by enumerating the returned product fields (id, gtin, title, price, currency, url, image, merchant, availability, country, brand, category, regular_price, description, size, color, group_id) plus count/total/total_exact. An agent has enough to call and interpret the result.

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

Parameters4/5

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

Schema description coverage is only 30%, so the description carries the burden and largely does: it defines min_price/max_price semantics (inclusive, in each product's own currency, no conversion), currency filtering, offset pagination, and the roles of text/brand/category/country/gtin. It omits the limit default/max behavior, leaving that one parameter to the schema alone.

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+resource ('Search fresh GTIN products in the catalog your affiliate can deliver') and scopes it with a real constraint, distinguishing it from siblings like get_product_feed and get_catalog_stats without opening their schemas.

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?

Explains the query modes clearly ('Search by text, brand or category, or list one market by country alone') and the gtin case ('every market carrying that GTIN is searched'), giving the agent concrete selection criteria among parameters. It stops short of naming when to prefer a sibling tool such as get_product_feed over this search.

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

update_profileUpdate creator profileA
DestructiveIdempotent
Inspect

Update a creator's monetization profile (claim email, display name, website, country, payment method) using the application_id + access_secret returned by request_tracked_links. Overwrites the fields provided. Lets a creator's assistant complete claim/payout details without leaving chat.

ParametersJSON Schema
NameRequiredDescriptionDefault
countryNo
claim_emailNo
website_urlNo
display_nameNo
access_secretYes
application_idYes
payment_methodNoe.g. {"Type": "Paypal", "Paypal_ID": "you@example.com", "Paypal_Name": "Your Name"}

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, and the description adds the crucial mechanism: 'Overwrites the fields provided.' That tells the agent unmentioned fields are preserved and supplied fields are clobbered, which the annotations alone do not convey. It could go further on reversibility or whether payment_method changes have side effects.

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?

Three tight sentences, front-loaded with the verb and resource, then prerequisites, then the overwrite semantics. No filler and nothing redundant.

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?

Covers purpose, credentials, and overwrite behavior for a 7-parameter mutation tool with no output schema. Remaining gaps are minor: no mention of error/permission behavior or response shape, though the latter is less critical here.

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

Parameters4/5

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

Schema description coverage is 14%, so the description must carry the weight, and it names all five mutable fields plus the two credential parameters already required. The main gap is that only payment_method has a schema-level example object, while formats for website_url and claim_email are left implicit.

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+resource (update a creator's monetization profile) and enumerates exactly which fields can be changed (claim email, display name, website, country, payment method). No sibling tool updates profiles, so it is clearly distinguishable from request_tracked_links, get_payment_status, etc.

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?

Explains the prerequisite credential source (application_id + access_secret from request_tracked_links) and the use case (assistant completing claim/payout details without leaving chat). It stops short of stating when NOT to use it, e.g. pointing to request_tracked_links for initial setup vs. this tool for later edits.

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. 1 tool update
    • Changedsearch_products3 fields changed
      • addedInput schema / properties / currency
        Added value: +{
        +  "description": "ISO 4217 code: only products priced in this currency (the price range then applies to it).",
        +  "pattern": "^[A-Za-z]{3}$",
        +  "type": "string"
        +}
      • addedInput schema / properties / max_price
        Added value: +{
        +  "description": "Inclusive upper price bound, in each product's own currency (no conversion). Number from 0 with up to 4 decimals.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
      • addedInput schema / properties / min_price
        Added value: +{
        +  "description": "Inclusive lower price bound, in each product's own currency (no conversion). Number from 0 with up to 4 decimals.",
        +  "type": [
        +    "number",
        +    "string"
        +  ]
        +}
  2. 1 tool update
    • Addedget_payment_status
  3. 19 tool updates
    • First observedapply_to_program
    • First observedcreate_tracking_links
    • First observedfind_affiliate_programs
    • First observedget_catalog_stats
    • First observedget_deal
    • First observedget_monetization_feed
    • First observedget_news
    • First observedget_performance_report
    • First observedget_product_feed
    • First observedget_tracked_link_request
    • First observedlist_conversions
    • First observedlist_deals
    • First observedlist_my_programs
    • First observedlist_news
    • First observedlist_programs
    • First observedrequest_merchant_onboarding
    • First observedrequest_tracked_links
    • First observedsearch_products
    • First observedupdate_profile

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Enables an AI assistant to search affiliate product feeds from any network (Awin, Amazon, CJ, Impact, and others with deep links) and return buy links built with the user's own affiliate IDs, each shipped with a disclosure the assistant is told to show. Supports keyword search with price, currency, network and merchant filters, side-by-side comparison of products, sub-ID tagging of links, and validation of configured feeds before connecting an assistant.
    4
    437 npm
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to search products and generate affiliate links across European and global affiliate networks, automating product discovery and link creation for monetization.
    5
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables affiliate marketing and product promotion across Taobao, JD.com, and Pinduoduo platforms with link conversion, product search, and order tracking capabilities.
    10 npm
    125
    ISC
  • A
    license
    Not graded
    quality
    D
    maintenance
    Affiliate product search for AI agents. Indexes structured merchant feeds — real prices, live stock, affiliate links built in. Works with any MCP client.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.