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.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.3/5 across 18 of 18 tools scored. Lowest: 3.7/5.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct action or resource (e.g., create_link vs. get_link vs. list_links_ranked, generate_qr vs. shorten_url). No two tools have overlapping purposes, making it easy for an agent to select the correct one.

Naming Consistency4/5

Most tools follow a consistent verb_noun pattern with 'auth.' prefix, but generate_qr and shorten_url lack the prefix and break the pattern. This is a minor inconsistency in an otherwise well-structured naming scheme.

Tool Count4/5

With 18 tools, the set is slightly above the typical 3-15 range but still well-scoped for a comprehensive affiliate link management API. Each tool serves a clear purpose and none are redundant.

Completeness3/5

The tool surface covers core link lifecycle (CRUD plus archive), product creation and linking, storefront management, analytics, and integrations. However, missing update and delete for products (update_product, delete_product) leaves a notable gap that agents cannot work around.

Available Tools

19 tools
auth.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

Behavior3/5

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

There are no annotations, so the description carries the full burden. It discloses the authentication requirement (Bearer token) and mentions the response includes the new product ID. However, it doesn't touch on error conditions, idempotency, or side effects beyond creation, leaving some behavioral gaps.

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 four sentences: purpose, product context, response note, and auth requirement. It's efficient and front-loaded with the main purpose. The contextual sentences about product relationships are valuable but slightly verbose, costing a point.

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 is complete enough for a create tool. It explains the product's role, mentions the output schema (product ID) indirectly, and provides a technical reference link. The schema and output schema cover parameters and return values. Minor missing details about error handling or edge cases keep it from a 5.

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 schema already provides 100% parameter coverage with detailed descriptions for all five parameters. The tool description itself adds no parameter-specific information beyond what's in the schema, so a baseline 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-resource pair: 'Create a new product in your Affilio product catalog.' It clearly differentiates from siblings like auth.create_link (which creates links) and auth.add_product_link (which adds a link to an existing product). The scope is well-defined.

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 clear usage context by explaining that the response includes a product ID needed for auth.add_product_link, auth.get_product, and storefront operations. This tells the agent when to use this tool (before adding links or storefront operations) but doesn't explicitly state alternatives or when not to use it, so a perfect score isn't warranted.

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

auth.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

Behavior4/5

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

With no annotations, the description carries the full burden. It discloses the Bearer token authentication requirement and lists the full product metadata returned. It does not cover error handling or rate limits, but for a simple get-by-ID read operation this is adequate.

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 purpose in the first sentence and return metadata in the second. The third sentence's technical reference URL is extraneous for an agent and adds minor noise.

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 single-parameter get-by-ID tool, the description covers purpose, return payload, and auth requirement. The existence of an output schema reduces the burden of explaining return values. Minor gaps include no explicit error behavior and no mention of alternative tools.

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 provides a description for product_id (100% coverage), so the tool description adds little beyond restating that lookup is by ID. No additional syntax, format, or usage examples are given.

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 clearly states 'Retrieve a single product from your Affilio product catalog by ID,' identifying the verb, resource, and scope. It distinguishes this from sibling tools like auth.list_store_products and auth.search_products by focusing on single-product retrieval.

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 through 'by ID' and the parameter description that product_id comes from auth.create_product or auth.search_products. However, it doesn't explicitly state when to prefer this over other getters or list/search tools, nor does it mention any exclusions.

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

auth.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

Behavior4/5

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

With no annotations provided, the description carries the burden. It discloses an authentication requirement and enumerates the returned configuration fields. The verb 'Retrieve' implies a read-only operation, but it does not explicitly state that no modifications occur. Still, the behavior is transparent enough for a simple getter.

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 and well-structured: one sentence for purpose, a clear list of returned fields, and a short auth note plus reference. Every sentence earns its place, and it's front-loaded with the primary action.

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?

Given that the tool has no parameters and an output schema exists, the description goes beyond the minimum by listing the contained fields and the authentication requirement. It is complete for a simple store configuration retrieval tool.

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 input schema is empty. According to the rubric, a zero-parameter tool gets a baseline of 4. The description adds no parameter information, but none is needed.

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: 'Retrieve your Affilio storefront configuration.' This clearly distinguishes it from sibling tools like get_link or get_product, which target different resources. The 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 Guidelines4/5

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

The description implies when to use the tool: whenever you need the storefront configuration. It also provides a clear prerequisite (Bearer token authentication). However, it does not explicitly mention alternatives or exclusions, so it doesn't earn 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_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

Behavior4/5

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

With no annotations, the description carries the full burden. It discloses the read-only nature via the verb 'List', describes the output (status, configuration, credential metadata), and notes the authentication requirement. It does not mention pagination or side effects, but for a simple list tool this is sufficient. No contradiction with annotations (none).

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 and front-loaded. The first sentence states the purpose, followed by output details, a usage dependency, authentication note, and a technical reference. Every sentence adds value with no 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?

Given the tool's simplicity (no parameters, has output schema), the description covers all relevant context: purpose, return contents, auth requirement, and relationship to auth.search_products. The output schema handles return value details, so the description is complete.

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, so schema coverage is trivially 100%. The rubric sets a baseline of 4 for zero-param tools, and the description adds no additional parameter information because none is needed.

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 clearly states the tool lists all affiliate platform integrations for the Affilio account. The verb 'List' and specific resource 'affiliate platform integrations' distinguish it from sibling list tools (e.g., auth.list_links, auth.list_store_products). It also specifies the returned metadata (status, configuration, credentials).

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?

The description explicitly ties usage to auth.search_products by stating active integrations are required for live product search. This gives a concrete 'when to use' scenario. It also notes the Bearer token authentication requirement, adding another usage prerequisite.

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

auth.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

Behavior4/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It reveals that results are paginated, returns a specific set of fields, preserves storefront display order, and requires Bearer token authentication. It does not cover error cases or rate limits, but for a read-only list operation this is reasonably transparent.

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 and well-structured: the opening sentence states the core purpose, followed by return content, ordering behavior, pagination guidance, auth requirement, and a reference link. Every sentence adds value and there is no 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?

Given that the tool has an output schema and a simple parameter set, the description fully covers what the tool does, what it returns, how pagination works, and authentication requirements. It even provides a technical reference. This is comprehensive enough for an agent to select and 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 fully documents both parameters (skip and limit) with descriptions, defaults, and bounds (100% coverage). The description adds a brief mention of pagination but no additional semantic meaning beyond what the schema provides, so a baseline score 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 clearly states the tool's purpose: 'List all products assigned to your Affilio storefront.' It uses a specific verb and resource, and the scope is distinct from search_products (which likely filters). However, it does not explicitly differentiate itself from sibling tools like auth.search_products or auth.get_product, so it falls short of a perfect 5.

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 implies usage by explaining pagination with 'skip' and 'limit' and notes it's for 'large storefronts,' but it does not specify when to prefer this over auth.search_products or auth.get_product. There are no exclusions or alternative recommendations, leaving usage context incomplete.

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

auth.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

Behavior5/5

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

With no annotations provided, the description carries the full burden and does well: it discloses authentication requirements, error envelopes with specific meanings, prerequisites, and integration dependencies. The read-only nature is implied by 'Search' and 'Returns live product listings', and no contradictions exist.

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 with a clear opening, prerequisites, error envelopes, and authentication note. It is slightly longer than necessary, repeating the Bearer token requirement in both the auth_error description and the standalone line, but overall each section earns its 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?

Given the tool's moderate complexity, an existing output schema, and no annotations, the description is remarkably complete. It covers prerequisites, integration verification, exact error scenarios, authentication, and even includes a technical reference link. No significant gaps remain.

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 clearly with descriptions, defaults, and constraints (100% coverage). The description adds some recurring context about platform integration and error cases, but it does not materially enrich the meaning of individual parameters beyond what the schema provides, so the 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 clearly states the tool 'Search for products on a connected affiliate platform' with a specific verb and resource. It also distinguishes itself by describing live listings, direct affiliate links, and integration with auth.create_product, which separates it from sibling list/create tools.

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 strong contextual guidance: prerequisites for active integrations, verification via auth.list_integrations, and when errors may surface (e.g., plan_restriction). It does not explicitly state when *not* to use this tool or mention alternative search/list tools, so it stops short of a full 5.

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

auth.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

Behavior4/5

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

With no annotations, the description shoulders the burden and discloses key behavioral traits: partial update semantics, auth requirement, and scope limitation (metadata only, not full branding). It doesn't discuss failure modes or reversibility, but for a simple metadata update these omissions are acceptable.

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 front-loaded with the core purpose and uses five short sentences, each adding value: fields, partial updates, when-not-to-use, auth, and a reference link. There is no redundancy or fluff.

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 tool with 3 optional, well-documented parameters and an output schema, the description covers purpose, usage boundaries, auth, and a technical reference. It is complete without needing to explain return values, since the output schema exists.

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% with descriptive parameter comments that already explain omission behavior. The description's 'fields omitted are left unchanged' reinforces but does not add meaning beyond the schema. No additional syntax or format details are needed beyond what the schema provides.

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 ('Update') and resource ('your Affilio storefront's metadata') and enumerates the exact fields (name, description, layout), clearly distinguishing it from sibling tools like auth.update_link and auth.get_store. It immediately answers what the tool does.

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 explicitly says fields omitted are left unchanged, telling the agent when to use it for partial metadata updates. It also provides a clear exclusion: for full branding updates, use the Affilio dashboard, which names an alternative path. The Bearer token requirement is an additional usage prerequisite.

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

check_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

Behavior5/5

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

With no annotations, the description carries the full burden of transparency. It discloses key behavioral traits: follows redirects, returns specific fields, handles Amazon/AliExpress availability specially, and notes the 'available' field can be null when not applicable. This goes beyond a simple surface-level description.

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 well-structured with a clear opening line, a bulleted use-case section, and a formatted returns list. Every sentence provides useful information without unnecessary fluff; the length is justified by the tool's complexity.

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 URL checker with one parameter and an output schema, the description is complete: it covers the purpose, use cases, output fields, and special cases (null availability, Amazon/AliExpress). No missing behavioral context is apparent.

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 provides 100% coverage of the single 'url' parameter, including a detailed description and example. The tool description adds no additional parameter-level meaning beyond what the schema already states, so a 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 clearly states the tool's purpose with a specific verb and resource: 'Check the health and destination of a URL (link checker / redirect resolver)'. It outlines distinct capabilities (redirect resolution, HTTP status, page title, product availability) that distinguish it from sibling tools like shorten_url or auth.get_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 explicitly lists when to use the tool with four bullet-point use cases, which is clear context. However, it does not mention when not to use it or explicitly name alternative tools, so it falls short of a full 5.

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

generate_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

Behavior4/5

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

No annotations are provided, so the description carries full burden. It discloses output format (base64 PNG, embeddable via data URI), configurable visual properties, and the return fields (url, qr_image_base64, mime_type, powered_by). It does not address side effects or error cases, but for a stateless generation tool this is acceptable. Credit for adding the embeddable data URI tip and return structure.

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 purpose, followed by clearly grouped use cases and a return-value list. It is slightly padded with a marketing tagline and docs link, but remains efficient and scannable. Score 4 rather than 5 due to the extra 'Powered by Affilio.link' line.

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 what, when, and what output to expect, with the input schema covering parameter specifics. It includes a docs link for a technical deep-dive. It is complete for a straightforward generation tool, though it omits potential edge cases like URL validation errors or size constraints, which 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 coverage is 100% with detailed descriptions for all 5 parameters (url, color, rounded, transparent, background_color). The description only generically summarizes 'Color, transparency, and dot style are all configurable,' adding no concrete details beyond the schema, so baseline 3 applies.

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

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+scope: 'Generate a branded QR code PNG image for any URL with full visual customization.' It clearly distinguishes from sibling tools like shorten_url and auth.* which handle link management, not QR generation.

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 lists concrete scenarios under 'Use this tool when the user needs to,' including creating scannable QR codes, print-ready materials, and embedding in email/web. It lacks explicit when-not or alternative mentions, but no sibling offers QR generation, so the context is clear.

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

shorten_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

Behavior5/5

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

No annotations are provided, so the description fully carries the transparency burden. It discloses key behavioral traits: temporary 30-day expiry, MCP-hosted link, no account/dashboard association, deduplication, pending security verification, and return values. This is exceptionally transparent for a tool with no 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 verbose but well-structured and front-loaded with the core purpose, followed by critical caveats, use cases, and return fields. Every section adds necessary information for this security-sensitive tool, though it is longer than strictly minimal.

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?

Despite the presence of an output schema (not shown in detail), the description enumerates all return fields with types and examples, explains expiry, pending state, QR generation, and deduplication, and provides a documentation link. The tool's behavior, constraints, and response format are fully covered with no obvious gaps.

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 url parameter in the schema already explains what URLs are accepted with an example. The main description adds behavioral context like deduplication and pending verification, but does not add meaningful parameter-level semantics beyond the schema. 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 opens with a specific verb and resource: 'Shorten any URL into a compact, trackable Affilio.link short URL.' It clearly distinguishes itself from sibling tools by stating it is the unauthenticated public shortener, in contrast to auth.create_link for permanent account-owned links. This makes the tool's purpose unmistakable.

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?

The description provides explicit 'Use this tool when' bullet points covering social sharing, QR generation, clean URLs, and temporary links. It also names the alternative tool (auth.create_link) and explains when to choose it instead, giving clear usage guidance.

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

Discussions

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

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    GTM signal intelligence suite for AI agents. Six tools: hiring signals, tech stack detection, company-to-LinkedIn resolution, ICP scoring, job board scanning, and a combined signals aggregator. Built for outbound sales workflows.
    11
    737
    1
    MIT
  • F
    license
    -
    quality
    C
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources