Skip to main content
Glama

Server Details

Affilio.link URL shortener — shorten affiliate links, get QR codes, powered by Affilio's affiliate link management platform.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Available Tools

20 tools
auth.create_productAuth.Create ProductAInspect

Create a new product in your Affilio product catalog.

Products are the items you promote via affiliate links. Each product can have multiple affiliate links (one per platform or country) and can be added to one or more Affilio storefronts.

The response includes the new product's ID — you'll need it for auth.add_product_link, auth.get_product, and storefront operations.

Requires Bearer token authentication.

Technical reference: https://affilio.link/blog/mcp-for-everyone

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesCanonical product page URL (affiliate or standard). Affilio detects and classifies the affiliate network automatically. Example: https://www.amazon.com/dp/B09XS7JWHH?tag=mystore-20
nameYesProduct display name shown in your storefront and link catalog. Example: 'Sony WH-1000XM5 Wireless Noise-Cancelling Headphones'.
platformYesAffiliate platform identifier for this product — e.g. 'amazon', 'ebay', 'awin'. Use the platform name as returned by auth.list_integrations.
image_urlNoOptional product image URL — must be a publicly accessible HTTPS URL. Displayed in storefront product cards and listings. Example: https://m.media-amazon.com/images/I/71o8Q5XJS5L.jpg
descriptionNoOptional product description displayed to storefront visitors. Supports plain text. Omit to leave blank.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral disclosure burden. It states this is a creation operation, that a Bearer token is required, and that the response contains the new product ID for downstream use. It also clarifies the product-to-affiliate-link relationship. It does not cover idempotency or error behavior, but it provides meaningful operational context beyond the bare mutation.

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?

The description is concise, front-loaded with the main action, and every sentence adds value: the action, the product concept, downstream usage of the returned ID, authentication, and a reference link. No filler or unnecessary 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?

The tool is simple enough, the input schema is fully documented, and an output schema exists, so the description does not need to explain return values in detail. It covers the domain model, the required auth, and the follow-up operations. It could be more explicit about when not to use it, but for a create-with-five-parameters tool it is sufficiently 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 the schema already thoroughly documents all five parameters with examples. The description adds conceptual context about products and affiliate links, but it does not add parameter-level meaning beyond what the schema provides. Baseline 3 is 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?

The description uses a specific verb and resource: 'Create a new product in your Affilio product catalog.' It distinguishes products from links by explaining that products are promoted via affiliate links and can have multiple links, which separates create_product from sibling auth.create_link and auth.add_product_link.

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 description gives clear context for when to call this tool: before adding product links or storefront operations, since 'the response includes the new product's ID' needed by auth.add_product_link and auth.get_product. It does not explicitly state when not to use it or name alternatives, but the product/link distinction makes the intended usage clear.

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

auth.get_productAuth.Get ProductAInspect

Retrieve a single product from your Affilio product catalog by ID.

Returns full product metadata: name, description, image URL, associated affiliate links, categories, custom attributes, visibility/active status, and timestamps.

Requires Bearer token authentication.

Technical reference: https://affilio.link/blog/mcp-for-everyone

ParametersJSON Schema
NameRequiredDescriptionDefault
product_idYesProduct ID returned by auth.create_product or auth.search_products.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations provided, the description carries the full behavioral burden. It discloses the Bearer token authentication requirement and the read-only nature of retrieving a product, and it summarizes what metadata is returned. It does not describe edge cases like invalid IDs, but for a straightforward single-product getter this is a minor omission.

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?

The description is four sentences with no filler. It front-loads the action and resource, then efficiently covers return contents, authentication, and a reference link. Every sentence serves a purpose.

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?

For a one-parameter, single-product getter with an output schema available, the description is complete enough to call correctly. It includes the required parameter origin, what the response contains, and the authentication prerequisite. Nothing essential is missing.

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 100%, and the product_id parameter already has a clear description explaining it comes from auth.create_product or auth.search_products. The tool description adds only the context of retrieving by ID, so its parameter-level contribution beyond the schema is minimal but acceptable.

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 opens with a specific verb and resource: 'Retrieve a single product from your Affilio product catalog by ID.' This clearly distinguishes it from siblings such as auth.list_store_products and auth.search_products, which operate over multiple products or use search criteria.

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 tool says it retrieves a single product by ID, which clearly implies it is for when you already have a product_id. The parameter description adds that product_id comes from auth.create_product or auth.search_products, giving useful context. It does not explicitly name alternatives or when-not-to-use cases, but the intended usage is clear.

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

auth.get_storeAuth.Get StoreAInspect

Retrieve your Affilio storefront configuration.

Returns full store configuration: name, description, public store URL/slug, branding settings (primary/secondary colors, logo, fonts, favicon, banner image), product display layout, footer text, embedded snippet, active status, and timestamps.

Requires Bearer token authentication.

Technical reference: https://affilio.link/blog/mcp-for-everyone

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of disclosure. It explicitly states 'Retrieve' (a read operation), describes the full contents of the response, and calls out the Bearer token authentication requirement. It does not discuss deeper behavioral traits like rate limits or error semantics, but for a simple parameterless getter this is solid coverage.

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?

The description is compact and well-organized: a one-line purpose, a bullet-style list of returned fields, an authentication note, and a reference link. Every sentence earns its place, and the core retrieval intent is front-loaded.

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?

For a parameterless read tool with an output schema available, the description is fully sufficient. It names the resource, details the return contents, and states the authentication requirement. Nothing needed to invoke the tool correctly is missing.

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 has zero parameters and the schema has 100% description coverage, so there is nothing for the description to add regarding parameter meaning. The baseline for a zero-parameter tool is 4, and the description appropriately focuses on the return payload instead.

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 opens with a specific verb and resource: 'Retrieve your Affilio storefront configuration.' It lists the exact fields returned, distinguishing it clearly from sibling tools like auth.get_product or auth.list_links. An agent can immediately tell this is the read-only storefront-level getter.

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 description makes clear it returns store configuration and requires Bearer token authentication, giving a usable context. However, it does not explicitly state when to use this tool versus alternatives such as auth.update_store or when a cached value might suffice. No exclusions or alternative routing are provided.

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

auth.list_integrationsAuth.List IntegrationsAInspect

List all affiliate platform integrations connected to your Affilio account.

Returns the status, configuration, and credential metadata for each connected integration. Active integrations are required to use auth.search_products for live product search.

Requires Bearer token authentication.

Technical reference: https://affilio.link/blog/mcp-for-everyone

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the burden of disclosure. It states the operation is a list (read-only), enumerates returned content ('status, configuration, and credential metadata'), and mentions Bearer token authentication. It does not discuss rate limits, pagination, or error behavior, but those are less critical for a parameterless read-only call.

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?

Four substantive sentences plus a reference link. The purpose is front-loaded, the return contents are in the second sentence, and the dependency on auth.search_products is a high-value note. 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?

For a simple no-argument list tool, this is complete: purpose, returned data categories, the related search tool's prerequisite, and authentication requirement are all present. An output schema exists, so the description need not spell out return value structure.

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 input schema has zero parameters, so the 0-parameters baseline of 4 applies. The description adds no parameter-level details because there are none to document.

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 opens with a specific verb and resource: 'List all affiliate platform integrations connected to your Affilio account.' The resource is distinct from sibling list tools (links, products, stores), though it never names a sibling or explicitly contrasts with auth.list_links or auth.list_store_products.

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 description gives useful context by stating that 'Active integrations are required to use auth.search_products for live product search,' which implies checking this tool before searching. It lacks explicit when-not-to-use guidance or alternatives, 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.

auth.list_store_productsAuth.List Store ProductsAInspect

List all products assigned to your Affilio storefront.

Returns paginated product objects with: name, description, image URL, associated affiliate links, categories, custom attributes, and active status. Products are returned in their configured storefront display order.

Use skip + limit to paginate through large storefronts. Requires Bearer token authentication.

Technical reference: https://affilio.link/blog/mcp-for-everyone

ParametersJSON Schema
NameRequiredDescriptionDefault
skipNoNumber of products to skip for pagination. Default: 0.
limitNoMaximum number of products to return per page (1–200). Default: 50.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full behavioral disclosure burden. It discloses the response contents, pagination behavior, storefront ordering, and Bearer token requirement. For a read-only list operation, this is reasonably transparent, though it does not mention rate limits or explicit read-only guarantees.

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?

The description is concise and front-loaded with the main purpose. Each sentence adds useful context such as return fields, ordering, pagination, authentication, and a reference link. The technical reference link is slightly extraneous but not distracting.

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?

Given the tool's low complexity, an output schema, and fully described optional parameters, the description covers the essentials: what is returned, pagination, ordering, and authentication. It does not explicitly route agents away from sibling tools or state read-only behavior, but for a list endpoint these omissions are minor.

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 both skip and limit already have clear descriptions, defaults, and bounds. The description only reinforces pagination without adding semantic details beyond what the schema provides, so the baseline of 3 is 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: 'List all products assigned to your Affilio storefront.' It clearly conveys the scope and distinguishes this from a generic list call, though it does not explicitly contrast it with sibling tools like auth.search_products or auth.get_product.

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 description gives concrete operational guidance ('Use skip + limit to paginate through large storefronts') and mentions authentication. However, it does not explain when to prefer this tool over sibling alternatives such as auth.search_products or auth.list_links, leaving some selection burden on the agent.

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

auth.search_productsAuth.Search ProductsAInspect

Search for products on a connected affiliate platform.

Returns live product listings from the platform's catalog including: product name, price, image URL, direct affiliate link, ASIN/item ID, and platform metadata. Results are ready to pass directly to auth.create_product.

Prerequisites:

  • Platform integration must be active (connect via Affilio dashboard → Settings → Integrations)

  • Verify with auth.list_integrations before calling

Error envelopes:

  • plan_restriction: Live product search requires a paid Affilio plan

  • validation_error: Unsupported or misspelled platform name

  • no_integrations_connected: No integration found for the requested platform

  • auth_error: Missing or invalid Bearer token

Requires Bearer token authentication.

Technical reference: https://affilio.link/blog/mcp-for-everyone

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of products to return (1–50). Default: 10.
queryYesProduct search query sent to the affiliate platform's live catalog. Use natural-language product descriptions for best results. Example: 'wireless noise cancelling headphones', 'standing desk electric'.
platformYesAffiliate platform to search. Supported values: amazon, aliexpress, ebay. The corresponding platform integration must be connected in your Affilio account (Settings → Integrations). Check auth.list_integrations to verify connectivity.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses that results are live, requires Bearer token authentication, lists prerequisites, and enumerates relevant error envelopes such as plan_restriction and no_integrations_connected. It stops short of explicitly stating read-only semantics, but 'search' and 'returns listings' strongly imply no 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?

The description is well structured: a one-sentence purpose, a concise returns summary, prerequisites, and error envelopes. It is slightly longer than strictly necessary due to the technical reference link and repeated platform examples, but the organization helps an agent parse requirements 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?

For a search tool with an output schema and richly described parameters, the description covers the necessary context: prerequisites, authentication, error behavior, and the downstream use of results. It does not mention rate limits or explicit read-only guarantees, but these are not blocking for an agent to invoke the tool 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?

The input schema already documents all three parameters with 100% coverage, including defaults, limits, supported values, and examples. The description adds no significant parameter-level meaning beyond what the schema provides, such as how limit interacts with pagination or how platform values map to integrations.

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: 'Search for products on a connected affiliate platform' and clarifies it returns live catalog listings with product details. The description differentiates from nearby tools like list_store_products by emphasizing the live external platform catalog and integration prerequisite, though it does not explicitly name sibling alternatives.

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?

Provides clear usage context: requires an active platform integration, advises verifying with auth.list_integrations, and notes results are ready for auth.create_product. It does not explicitly state when not to use the tool or name a specific alternative, but the integration prerequisite and 'live affiliate platform' framing make the intended scenario clear.

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

auth.update_storeAuth.Update StoreAInspect

Update your Affilio storefront's metadata.

Provide any combination of name, description, and layout — fields omitted are left unchanged. For full branding updates (colors, logo, custom fonts, banner image, favicon, footer text, embedded snippet) use the Affilio dashboard → Storefront settings.

Requires Bearer token authentication.

Technical reference: https://affilio.link/blog/mcp-for-everyone

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoNew display name for the store. Omit to leave unchanged.
layoutNoProduct display layout. Accepted values: 'grid' (default card grid layout) or 'list' (vertical list view). Omit to leave unchanged.
descriptionNoNew store description shown to storefront visitors. Supports plain text. Omit to leave unchanged.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations provided, the description carries the full behavioral burden. It discloses that this is an update operation, clarifies partial-update behavior, and adds an authentication prerequisite: 'Requires Bearer token authentication.' It also scopes out full branding updates, which helps prevent misuse, though it does not discuss side effects or failure modes.

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?

The description is compact and front-loaded: purpose, partial-update semantics, scope boundary, auth requirement, and a docs link all appear in a short, readable block. The technical reference URL is slightly marginal for an agent-focused description, but the overall structure is efficient and every substantive sentence 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?

For a three-optional-parameter update tool, the description plus fully described input schema are nearly sufficient: it explains what can change, how partial updates work, what is out of scope, and what authentication is required. Since an output schema exists, the description does not need to document return values, though it could have mentioned what happens on success.

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?

The input schema already documents all three parameters with 100% coverage, including accepted values for layout and individual 'omit to leave unchanged' notes. The description's 'fields omitted are left unchanged' line reinforces what the schema already says but does not add meaningful new parameter-level information.

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 opens with a specific verb+resource: 'Update your Affilio storefront's metadata,' and then lists the exact modifiable fields (name, description, layout). This clearly separates it from sibling tools like auth.update_link and auth.get_store, so an agent can identify what this tool is for without guessing.

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 description gives concrete usage guidance: 'Provide any combination of name, description, and layout' and notes that omitted fields are left unchanged, implying partial-update semantics. It also gives an explicit when-not: full branding updates should go through the Affilio dashboard rather than this tool, though it does not explicitly name a sibling MCP alternative.

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

check_international_redirectCheck International RedirectAInspect

Test an Amazon affiliate link from US, EU, and Asia vantage points to check whether Amazon's OneLink geo-redirect is active for it.

Returns per-region resolved marketplace domains, a summary of whether a redirect was detected, and caveats about the test's limitations.

Use this tool when the user needs to:

  • Check if their Amazon affiliate link redirects international visitors

  • Verify OneLink is configured for a specific product link

  • Diagnose why international clicks may not be earning commissions

Returns: input_url (str): The tested URL tested_at (str): ISO 8601 timestamp of the test results (list): Per-region results with final_domain and http_status summary (object): redirect_detected flag, distinct regions, interpretation caveats (list): Always present — limitations of continent-level vantage points

Powered by Affilio.link — smart affiliate link management.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesAn Amazon product URL (amazon.<tld>/dp/... or /gp/product/...) or an amzn.to short link. Non-Amazon URLs are rejected. Example: https://www.amazon.com/dp/B08N5WRWNW?tag=mystore-20

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full transparency burden. It discloses per-region results, the redirect_detected summary, and that caveats are always present, including continent-level vantage-point limitations. This is substantial, though it does not mention authorization requirements or network-side effects beyond the inferred remote test.

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?

The description is front-loaded with the core behavior, followed by bulleted use cases and a compact return summary. Structure is clean and each section earns its place; the closing 'Powered by Affilio.link' tagline is the only non-essential addition.

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 a complete input schema and an output schema, the description need not restate return values. It adds the missing context: when to use it, what the test checks, and its limitations. A minor gap is the absence of any explicit relationship or distinction from the sibling check_url 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?

The input schema already documents the single url parameter with 100% coverage, including accepted URL formats and a concrete example. The description adds no further parameter-level detail, which is acceptable given the schema coverage 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?

The description opens with a specific verb ('Test'), a specific resource ('Amazon affiliate link'), and the precise behavior ('from US, EU, and Asia vantage points to check whether Amazon's OneLink geo-redirect is active'). This clearly differentiates it from sibling tools like check_url and shorten_url because the geo-redirect and vantage-point angle is explicit.

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 description provides three explicit 'Use this tool when...' scenarios, allowing an agent to match user intent confidently. It does not name when-not-to-use alternatives or explicitly compare against the similar-sounding check_url, so it falls just short of full routing guidance.

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

check_urlCheck UrlAInspect

Check the health and destination of a URL (link checker / redirect resolver).

Follows the redirect chain, returns the final resolved URL, HTTP status codes, page title, and — for Amazon and AliExpress product pages — whether the product is still available (in stock / not deleted).

Use this tool when the user needs to:

  • Verify an affiliate or product link still works (not broken / 404 / dead)

  • Resolve where a short or redirecting link actually lands

  • Check whether an Amazon/AliExpress product is still available

  • Inspect the redirect chain of a URL

Returns: finalUrl (str): The final URL after following all redirects title (str): The destination page's title (or empty string) redirectChain (list[str]): URLs visited, in order responseCode (str): Final HTTP status code (e.g. "200", "404") lastRedirectResponseCode (str): Status of the last redirect hop, if any available (bool | null): True/False for Amazon/AliExpress product pages, null when availability is not applicable

Powered by Affilio.link — smart affiliate link management.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesFull HTTP/HTTPS URL to health-check. The tool follows redirects, reports the final URL and HTTP status, extracts the page title, and detects Amazon/AliExpress product availability. Example: https://www.amazon.com/dp/B08N5WRWNW

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

No annotations are provided, so the description carries the behavioral disclosure burden. It transparently explains that the tool follows redirect chains, returns HTTP status codes, extracts page titles, and detects availability only for Amazon/AliExpress product pages. This goes well beyond the input schema, though it does not mention potential external network behavior or 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.

Conciseness4/5

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

The description is well organized with a clear summary, a use-case bullet list, and a return-value block. It is slightly verbose because the return fields are also present in the output schema, but the structure makes the information easy to scan and act on.

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?

For a single-parameter tool with an output schema, the description is complete: it explains the tool's purpose, what it follows and returns, when to use it, and the special availability behavior for Amazon/AliExpress. Nothing essential for invoking or interpreting the tool is missing.

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 100% and the single parameter is already well documented in the schema. The description adds behavioral context but no additional parameter-specific semantics beyond what the schema provides. Baseline 3 is 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 and resource: 'Check the health and destination of a URL (link checker / redirect resolver).' It clearly names what the tool does and distinguishes it from sibling tools like shorten_url, generate_qr, and check_international_redirect by focusing on health checking and redirect resolution.

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?

Provides an explicit bulleted list of when to use the tool: verifying affiliate/product links, resolving short links, checking Amazon/AliExpress availability, and inspecting redirect chains. It does not explicitly name alternatives or when-not-to-use conditions, but the use cases are clear enough for an agent to select it correctly.

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

generate_qrGenerate QrAInspect

Generate a branded QR code PNG image for any URL with full visual customization.

Returns a base64-encoded PNG you can embed directly in a web page (<img src="data:image/png;base64,..."/>), email, or document. Color, transparency, and dot style are all configurable.

Use this tool when the user needs to:

  • Create a scannable QR code for a URL

  • Generate print-ready QR codes for marketing materials, packaging, or flyers

  • Embed a QR code in an email or web page

  • Create a branded QR code matching their visual identity (custom colors, transparent background)

Returns: url (str): The input URL that was encoded qr_image_base64 (str): Base64-encoded PNG — embed as data:image/png;base64,... mime_type (str): Always "image/png" powered_by (str): Brand tagline

Docs & technical deep-dive: https://affilio.link/blog/mcp-tools-guide Powered by Affilio.link — smart affiliate link management.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesFull URL to encode in the QR code. Must be a valid HTTP/HTTPS URL. Example: https://mcp.affilio.link/r/abc1234
colorNoForeground/dot color as a CSS hex string. Examples: #000000 (black), #1A73E8 (Google blue), #FF5722 (deep orange). Default: #000000 (black).#000000
roundedNoWhen true, uses rounded/circular dot style instead of hard square pixels. Produces a modern, visually appealing QR code. Default: true.
transparentNoWhen true, the QR code background is rendered transparent (PNG alpha channel). Overrides background_color. Ideal for overlaying on branded backgrounds. Default: true.
background_colorNoBackground fill color as a CSS hex string. Ignored when transparent=true. Examples: #FFFFFF (white), #F5F5F5 (light grey). Default: #FFFFFF (white).#FFFFFF

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

Annotations are absent, so the description carries the transparency burden. It discloses the output format (base64 PNG), embeddability, configurable color/transparency/dot style, and the exact returned fields. This gives an agent a solid behavioral model for a non-destructive generation tool.

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?

The description is well organized: a one-line summary, return format, use-case bullets, and a returns table. It front-loads the most important information and stays readable despite the promotional 'Powered by' line and documentation link.

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?

The description covers the return contract, embedding usage, typical use cases, and customization capabilities. With only one required parameter and an output schema present, nothing critical is missing for an agent to call the tool correctly, though it could briefly mention URL validation constraints beyond the schema.

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 input schema already documents every parameter with defaults and examples. The description only summarizes that 'color, transparency, and dot style are configurable,' adding no parameter detail beyond what the schema provides, so the baseline score of 3 is 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?

The description opens with a specific verb and resource: 'Generate a branded QR code PNG image for any URL with full visual customization.' It clearly distinguishes the tool from sibling link-management and URL-checking tools, and the title expands into a concrete capability an agent can act on.

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 description includes a clear 'Use this tool when the user needs to' section listing four relevant scenarios, such as print-ready QR codes and embedding in email. It does not explicitly name alternatives or exclusion cases, but the sibling set contains no other QR-generation tool, so the context is strong.

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

shorten_urlShorten UrlAInspect

Shorten any URL into a compact, trackable Affilio.link short URL with affiliate link intelligence.

IMPORTANT: This is the UNAUTHENTICATED public shortener. It creates a TEMPORARY, MCP-hosted link at mcp.affilio.link/r/{code} that expires after 30 days and is NOT tied to any Affilio account or dashboard. Links are verified for security before they redirect (new/unknown domains return pending=True until verified). For a PERMANENT, account-owned link at affilio.link/ur/{code} with full click analytics, use the auth.create_link tool instead (requires a bearer token).

Affilio deduplicates identical URLs (same URL always returns the same short link) and generates a branded QR code in the same call.

Use this tool when the user needs to:

  • Shorten a URL for sharing on social media, email, or in content

  • Generate a QR code for print/digital media alongside the short link

  • Get a compact, clean version of a long product or affiliate URL

  • Create a throwaway/temporary link that does not need account tracking

Returns: short_url (str): The shortened URL — e.g. https://mcp.affilio.link/r/abc1234 qr_url (str): Hosted QR code image URL (PNG, publicly accessible) qr_image_base64 (str): Base64-encoded PNG QR code — embed as data:image/png;base64,... classification (str): Security classification — "allowlisted" (safe) or "pending" (awaiting verification) powered_by (str): Brand tagline pending (bool): True while the link awaits security verification (redirects return 202 until then) expires_at (str | null): ISO 8601 expiry timestamp. MCP short links expire after the configured period (default 30 days) — this is never null for this tool. already_existed (bool): True if this URL was previously shortened (deduplicated)

Docs & technical deep-dive: https://affilio.link/blog/mcp-tools-guide Powered by Affilio.link — smart affiliate link management.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesFull HTTP/HTTPS URL to shorten. Supports affiliate links from Amazon Associates, eBay Partner Network, AliExpress, Awin, ShareASale, Impact, CJ Affiliate, Rakuten Advertising, Etsy, Walmart, Target, Best Buy, and any other URL. Example: https://www.amazon.com/dp/B08N5WRWNW?tag=mystore-20

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does it thoroughly. It discloses the unauthenticated nature, 30-day expiry, security verification with pending state, deduplication behavior, and QR generation. It even explains what 'pending' means for redirects (202 until verified) and that expires_at is never null. No contradictions with 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?

The description is long but efficiently front-loaded: the primary purpose and critical caveats (unauthenticated, temporary, expiry) come first, followed by use cases and returns. The 'Returns' block is quite verbose and partly redundant given an output schema exists, but each element serves a purpose in clarifying unusual behaviors like pending and already_existed.

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?

For a tool with no annotations, an output schema, and one simple parameter, the description covers all needed context: purpose, auth model, expiry, security, dedup, QR, use cases, and the sibling alternative. The docs link adds a final safety net. Nothing an agent needs to decide or call correctly is missing.

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 100% for the single 'url' parameter, which already includes format and example. The description adds value by explaining the URL is verified for security, unknown domains return pending, and identical URLs are deduplicated—semantics not in the schema. It enriches rather than repeats.

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: 'Shorten any URL into a compact, trackable Affilio.link short URL with affiliate link intelligence.' It explicitly distinguishes itself from auth.create_link and other siblings, noting this is the unauthenticated public shortener while permanent links belong to auth.create_link. The tool's scope is unambiguous.

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?

Provides a dedicated 'Use this tool when the user needs to' section listing four concrete scenarios (social sharing, QR generation, compact links, throwaway links). Explicitly names the alternative: 'For a PERMANENT, account-owned link ... use the auth.create_link tool instead.' This is textbook 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.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 1 tool update
    • Addedcheck_international_redirect
  2. 1 tool update
    • Changedgenerate_qr1 field changed
      • changedInput schema / properties / url / description
        Previous value: -"Full URL to encode in the QR code. Must be a valid HTTP/HTTPS URL. Example: https://affilio.link/abc123"New value: +"Full URL to encode in the QR code. Must be a valid HTTP/HTTPS URL. Example: https://mcp.affilio.link/r/abc1234"
  3. 1 tool update
    • Addedcheck_url
  4. 14 tool updates
    • Changedauth.add_product_link2 fields changed
      • changedInput schema / properties / link_id / description
        Previous value: -"Unique link/URL ID (MongoDB ObjectId string) of the affiliate link to associate with this product. Create links first via auth.create_link, then pass the returned ID here."New value: +"Link ID returned by auth.create_link."
      • changedInput schema / properties / product_id / description
        Previous value: -"Unique product ID (MongoDB ObjectId string) of the product to attach the link to. Retrieve via auth.create_product or auth.get_product."New value: +"Product ID returned by auth.create_product or auth.get_product."
    • Changedauth.archive_link1 field changed
      • changedInput schema / properties / link_id / description
        Previous value: -"Unique link ID (MongoDB ObjectId string) of the link to archive. Archived links stop redirecting but are NOT permanently deleted — click history and analytics are preserved."New value: +"Link ID returned by auth.create_link or auth.list_links. Archived links stop redirecting but are NOT permanently deleted — click history and analytics are preserved."
    • Changedauth.create_link4 fields changed
      • removedInput schema / properties / destination
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ],
        -  "default": null,
        -  "description": "Override destination URL — the URL visitors land on after clicking the short link. Defaults to `url` when not set. Useful for split-testing or geo-redirect scenarios."
        -}
      • removedInput schema / properties / project_id
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ],
        -  "default": null,
        -  "description": "Project ID (MongoDB ObjectId string) to assign this link to. If omitted, the link is created in your account's default project. Retrieve project IDs from the Affilio dashboard or via the API."
        -}
      • removedInput schema / properties / title
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ],
        -  "default": null,
        -  "description": "Human-readable label for the link — e.g. 'Sony WH-1000XM5 Headphones'. If omitted, Affilio attempts to fetch the page title automatically."
        -}
      • changedInput schema / properties / url / description
        Previous value: -"Full destination URL for the affiliate link — e.g. https://www.amazon.com/dp/B08N5WRWNW?tag=mystore-20. Supports Amazon Associates, eBay Partner Network, AliExpress, Awin, ShareASale, Impact, CJ Affiliate, Rakuten, Etsy, Walmart, Target, Best Buy, and any standard HTTP/HTTPS URL."New value: +"The affiliate URL to shorten and track. Any valid HTTP/HTTPS affiliate link is accepted. Affilio auto-detects the affiliate network from the URL."
    • Changedauth.create_product1 field changed
      • changedInput schema / properties / platform / description
        Previous value: -"Affiliate platform identifier. Supported values: amazon, aliexpress, ebay, awin, shareasale, impact, cj, rakuten, etsy, walmart, target, bestbuy."New value: +"Affiliate platform identifier for this product — e.g. 'amazon', 'ebay', 'awin'. Use the platform name as returned by auth.list_integrations."
    • Changedauth.get_link1 field changed
      • changedInput schema / properties / link_id / description
        Previous value: -"Unique link ID (MongoDB ObjectId string) returned when the link was created, or retrieved via auth.list_links. Example: '64a1f2b3c4d5e6f7a8b9c0d1'."New value: +"Link ID returned by auth.create_link or auth.list_links."
    • Changedauth.get_link_stats1 field changed
      • changedInput schema / properties / link_id / description
        Previous value: -"Unique link ID (MongoDB ObjectId string) of the link whose click statistics to retrieve. Retrieve link IDs via auth.list_links or auth.create_link."New value: +"Link ID returned by auth.create_link or auth.list_links."
    • Changedauth.get_product1 field changed
      • changedInput schema / properties / product_id / description
        Previous value: -"Unique product ID (MongoDB ObjectId string) returned by auth.create_product or found via auth.search_products. Example: '64a1f2b3c4d5e6f7a8b9c0d1'."New value: +"Product ID returned by auth.create_product or auth.search_products."
    • Changedauth.get_store2 fields changed
      • removedInput schema / properties / store_id
        Removed value: -{
        -  "description": "Unique store ID (MongoDB ObjectId string) of the Affilio storefront to retrieve. Retrieve store IDs from the Affilio dashboard or via the API.",
        -  "type": "string"
        -}
      • removedInput schema / required
        Removed value: -[
        -  "store_id"
        -]
    • Changedauth.list_links1 field changed
      • removedInput schema / properties / project_id
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ],
        -  "default": null,
        -  "description": "Filter links by project ID (MongoDB ObjectId string). If omitted, returns links across all projects in the account."
        -}
    • Changedauth.list_links_ranked1 field changed
      • removedInput schema / properties / project_id
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ],
        -  "default": null,
        -  "description": "Filter to a specific project ID (MongoDB ObjectId string). If omitted, ranks links across all projects in the account."
        -}
    • Changedauth.list_store_products2 fields changed
      • removedInput schema / properties / store_id
        Removed value: -{
        -  "description": "Unique store ID (MongoDB ObjectId string) of the storefront whose products to list.",
        -  "type": "string"
        -}
      • removedInput schema / required
        Removed value: -[
        -  "store_id"
        -]
    • Changedauth.set_link_visibility2 fields changed
      • changedInput schema / properties / link_id / description
        Previous value: -"Unique link ID (MongoDB ObjectId string) of the link whose visibility to change."New value: +"Link ID returned by auth.create_link or auth.list_links."
      • changedInput schema / properties / product_id / description
        Previous value: -"Unique product ID (MongoDB ObjectId string) that the link belongs to. Link visibility in Affilio is managed per product; retrieve via auth.create_product or auth.get_product."New value: +"Product ID that owns this link. Returned by auth.create_product or auth.get_product."
    • Changedauth.update_link1 field changed
      • changedInput schema / properties / link_id / description
        Previous value: -"Unique link ID (MongoDB ObjectId string) of the link to update. Retrieve via auth.list_links or from the create response."New value: +"Link ID returned by auth.create_link or auth.list_links."
    • Changedauth.update_store2 fields changed
      • removedInput schema / properties / store_id
        Removed value: -{
        -  "description": "Unique store ID (MongoDB ObjectId string) of the storefront to update.",
        -  "type": "string"
        -}
      • removedInput schema / required
        Removed value: -[
        -  "store_id"
        -]
  5. 1 tool update
    • Changedauth.set_link_visibility3 fields changed
      • addedInput schema / properties / product_id
        Added value: +{
        +  "description": "Unique product ID (MongoDB ObjectId string) that the link belongs to. Link visibility in Affilio is managed per product; retrieve via auth.create_product or auth.get_product.",
        +  "type": "string"
        +}
      • changedInput schema / properties / visibility / description
        Previous value: -"Visibility setting for the link. Accepted values: 'public' — link is accessible to anyone with the short URL and appears in storefront listings; 'private' — link is hidden from public access and storefront listings, only visible to the account owner."New value: +"Visibility setting for the link. Accepted values: 'public' — link is visible in the product's storefront listing; 'private' — link is hidden from storefront listings."
      • changedInput schema / required
        Previous value: -[
        -  "link_id",
        -  "visibility"
        -]New value: +[
        +  "product_id",
        +  "link_id",
        +  "visibility"
        +]
  6. 17 tool updates
    • Changedauth.add_product_link2 fields changed
      • addedInput schema / properties / link_id / description
        Added value: +"Unique link/URL ID (MongoDB ObjectId string) of the affiliate link to associate with this product. Create links first via auth.create_link, then pass the returned ID here."
      • addedInput schema / properties / product_id / description
        Added value: +"Unique product ID (MongoDB ObjectId string) of the product to attach the link to. Retrieve via auth.create_product or auth.get_product."
    • Changedauth.archive_link1 field changed
      • addedInput schema / properties / link_id / description
        Added value: +"Unique link ID (MongoDB ObjectId string) of the link to archive. Archived links stop redirecting but are NOT permanently deleted — click history and analytics are preserved."
    • Changedauth.create_link4 fields changed
      • addedInput schema / properties / destination / description
        Added value: +"Override destination URL — the URL visitors land on after clicking the short link. Defaults to `url` when not set. Useful for split-testing or geo-redirect scenarios."
      • addedInput schema / properties / project_id / description
        Added value: +"Project ID (MongoDB ObjectId string) to assign this link to. If omitted, the link is created in your account's default project. Retrieve project IDs from the Affilio dashboard or via the API."
      • addedInput schema / properties / title / description
        Added value: +"Human-readable label for the link — e.g. 'Sony WH-1000XM5 Headphones'. If omitted, Affilio attempts to fetch the page title automatically."
      • addedInput schema / properties / url / description
        Added value: +"Full destination URL for the affiliate link — e.g. https://www.amazon.com/dp/B08N5WRWNW?tag=mystore-20. Supports Amazon Associates, eBay Partner Network, AliExpress, Awin, ShareASale, Impact, CJ Affiliate, Rakuten, Etsy, Walmart, Target, Best Buy, and any standard HTTP/HTTPS URL."
    • Changedauth.create_product5 fields changed
      • addedInput schema / properties / description / description
        Added value: +"Optional product description displayed to storefront visitors. Supports plain text. Omit to leave blank."
      • addedInput schema / properties / image_url / description
        Added value: +"Optional product image URL — must be a publicly accessible HTTPS URL. Displayed in storefront product cards and listings. Example: https://m.media-amazon.com/images/I/71o8Q5XJS5L.jpg"
      • addedInput schema / properties / name / description
        Added value: +"Product display name shown in your storefront and link catalog. Example: 'Sony WH-1000XM5 Wireless Noise-Cancelling Headphones'."
      • addedInput schema / properties / platform / description
        Added value: +"Affiliate platform identifier. Supported values: amazon, aliexpress, ebay, awin, shareasale, impact, cj, rakuten, etsy, walmart, target, bestbuy."
      • addedInput schema / properties / url / description
        Added value: +"Canonical product page URL (affiliate or standard). Affilio detects and classifies the affiliate network automatically. Example: https://www.amazon.com/dp/B09XS7JWHH?tag=mystore-20"
    • Changedauth.get_link1 field changed
      • addedInput schema / properties / link_id / description
        Added value: +"Unique link ID (MongoDB ObjectId string) returned when the link was created, or retrieved via auth.list_links. Example: '64a1f2b3c4d5e6f7a8b9c0d1'."
    • Changedauth.get_link_stats1 field changed
      • addedInput schema / properties / link_id / description
        Added value: +"Unique link ID (MongoDB ObjectId string) of the link whose click statistics to retrieve. Retrieve link IDs via auth.list_links or auth.create_link."
    • Changedauth.get_product1 field changed
      • addedInput schema / properties / product_id / description
        Added value: +"Unique product ID (MongoDB ObjectId string) returned by auth.create_product or found via auth.search_products. Example: '64a1f2b3c4d5e6f7a8b9c0d1'."
    • Changedauth.get_store1 field changed
      • addedInput schema / properties / store_id / description
        Added value: +"Unique store ID (MongoDB ObjectId string) of the Affilio storefront to retrieve. Retrieve store IDs from the Affilio dashboard or via the API."
    • Changedauth.list_links6 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Maximum number of links to return per page (1–200). Default: 50."
      • addedInput schema / properties / limit / maximum
        Added value: +200
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • addedInput schema / properties / project_id / description
        Added value: +"Filter links by project ID (MongoDB ObjectId string). If omitted, returns links across all projects in the account."
      • addedInput schema / properties / skip / description
        Added value: +"Number of links to skip for pagination. Default: 0."
      • addedInput schema / properties / skip / minimum
        Added value: +0
    • Changedauth.list_links_ranked6 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Maximum number of links to return (1–200). Default: 50."
      • addedInput schema / properties / limit / maximum
        Added value: +200
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • addedInput schema / properties / project_id / description
        Added value: +"Filter to a specific project ID (MongoDB ObjectId string). If omitted, ranks links across all projects in the account."
      • addedInput schema / properties / skip / description
        Added value: +"Number of links to skip for pagination. Default: 0."
      • addedInput schema / properties / skip / minimum
        Added value: +0
    • Changedauth.list_store_products6 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Maximum number of products to return per page (1–200). Default: 50."
      • addedInput schema / properties / limit / maximum
        Added value: +200
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • addedInput schema / properties / skip / description
        Added value: +"Number of products to skip for pagination. Default: 0."
      • addedInput schema / properties / skip / minimum
        Added value: +0
      • addedInput schema / properties / store_id / description
        Added value: +"Unique store ID (MongoDB ObjectId string) of the storefront whose products to list."
    • Changedauth.search_products5 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Maximum number of products to return (1–50). Default: 10."
      • addedInput schema / properties / limit / maximum
        Added value: +50
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • addedInput schema / properties / platform / description
        Added value: +"Affiliate platform to search. Supported values: amazon, aliexpress, ebay. The corresponding platform integration must be connected in your Affilio account (Settings → Integrations). Check auth.list_integrations to verify connectivity."
      • addedInput schema / properties / query / description
        Added value: +"Product search query sent to the affiliate platform's live catalog. Use natural-language product descriptions for best results. Example: 'wireless noise cancelling headphones', 'standing desk electric'."
    • Changedauth.set_link_visibility2 fields changed
      • addedInput schema / properties / link_id / description
        Added value: +"Unique link ID (MongoDB ObjectId string) of the link whose visibility to change."
      • addedInput schema / properties / visibility / description
        Added value: +"Visibility setting for the link. Accepted values: 'public' — link is accessible to anyone with the short URL and appears in storefront listings; 'private' — link is hidden from public access and storefront listings, only visible to the account owner."
    • Changedauth.update_link4 fields changed
      • addedInput schema / properties / labels / description
        Added value: +"Comma-separated list of label names to assign to this link — e.g. 'summer-sale,featured'. This REPLACES all existing labels (not a merge). Pass an empty string to clear all labels. Omit to leave labels unchanged."
      • addedInput schema / properties / link_id / description
        Added value: +"Unique link ID (MongoDB ObjectId string) of the link to update. Retrieve via auth.list_links or from the create response."
      • addedInput schema / properties / target / description
        Added value: +"New destination URL — the URL visitors land on after clicking the short link. Omit to leave unchanged."
      • addedInput schema / properties / title / description
        Added value: +"New human-readable title for the link. Omit to leave unchanged."
    • Changedauth.update_store4 fields changed
      • addedInput schema / properties / description / description
        Added value: +"New store description shown to storefront visitors. Supports plain text. Omit to leave unchanged."
      • addedInput schema / properties / layout / description
        Added value: +"Product display layout. Accepted values: 'grid' (default card grid layout) or 'list' (vertical list view). Omit to leave unchanged."
      • addedInput schema / properties / name / description
        Added value: +"New display name for the store. Omit to leave unchanged."
      • addedInput schema / properties / store_id / description
        Added value: +"Unique store ID (MongoDB ObjectId string) of the storefront to update."
    • Changedgenerate_qr5 fields changed
      • addedInput schema / properties / background_color / description
        Added value: +"Background fill color as a CSS hex string. Ignored when transparent=true. Examples: #FFFFFF (white), #F5F5F5 (light grey). Default: #FFFFFF (white)."
      • addedInput schema / properties / color / description
        Added value: +"Foreground/dot color as a CSS hex string. Examples: #000000 (black), #1A73E8 (Google blue), #FF5722 (deep orange). Default: #000000 (black)."
      • addedInput schema / properties / rounded / description
        Added value: +"When true, uses rounded/circular dot style instead of hard square pixels. Produces a modern, visually appealing QR code. Default: true."
      • addedInput schema / properties / transparent / description
        Added value: +"When true, the QR code background is rendered transparent (PNG alpha channel). Overrides background_color. Ideal for overlaying on branded backgrounds. Default: true."
      • addedInput schema / properties / url / description
        Added value: +"Full URL to encode in the QR code. Must be a valid HTTP/HTTPS URL. Example: https://affilio.link/abc123"
    • Changedshorten_url1 field changed
      • addedInput schema / properties / url / description
        Added value: +"Full HTTP/HTTPS URL to shorten. Supports affiliate links from Amazon Associates, eBay Partner Network, AliExpress, Awin, ShareASale, Impact, CJ Affiliate, Rakuten Advertising, Etsy, Walmart, Target, Best Buy, and any other URL. Example: https://www.amazon.com/dp/B08N5WRWNW?tag=mystore-20"
  7. 16 tool updates
    • Addedauth.add_product_link
    • Addedauth.archive_link
    • Addedauth.create_link
    • Addedauth.create_product
    • Addedauth.get_link
    • Addedauth.get_link_stats
    • Addedauth.get_product
    • Addedauth.get_store
    • Addedauth.list_integrations
    • Addedauth.list_links
    • Addedauth.list_links_ranked
    • Addedauth.list_store_products
    • Addedauth.search_products
    • Addedauth.set_link_visibility
    • Addedauth.update_link
    • Addedauth.update_store
  8. 2 tool updates
    • First observedgenerate_qr
    • First observedshorten_url

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables detection and analysis of pre-public product launches through web search, content extraction, AI-powered scoring, and automated alerting. Provides comprehensive tools for surfacing stealth startup signals before they trend publicly.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI chat clients to perform market research and competitive intelligence by gathering company overviews, competitor lists, product portfolios, pricing snapshots, and recent news via live Tavily search.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.9/5.0
Disambiguation4/5

Most tools map cleanly to distinct resources and actions, but auth.create_link vs shorten_url and check_url vs check_international_redirect have overlapping purposes. The descriptions do a good job of clarifying the differences, so ambiguity is limited.

Naming Consistency4/5

All names follow a readable snake_case verb_noun pattern, but auth.* tools are prefixed while utility tools like check_url, generate_qr, and shorten_url are not. Names like list_links and list_links_ranked are also close, though still predictable.

Tool Count3/5

20 tools is on the heavy side for this domain. Most cover distinct functions, but there is some redundancy such as list_links_ranked being a sorting variant of list_links and shorten_url overlapping with auth.create_link.

Completeness3/5

Link lifecycle coverage is solid: create, get, list, update, archive, stats, and visibility are all present. However, product management is incomplete with no update/delete/remove-link operations, and there is no unarchive or hard-delete for links.

Resources