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.2/5 across 18 of 18 tools scored. Lowest: 3.5/5.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct operation (create, get, update, list, archive, set visibility, search, etc.) on distinct resources (links, products, stores, integrations). There is no ambiguity between tools.

Naming Consistency4/5

Most tools follow 'auth.<verb>_<noun>' pattern (e.g., auth.create_link, auth.get_product). However, 'generate_qr' and 'shorten_url' lack the 'auth.' prefix, breaking full consistency.

Tool Count4/5

18 tools cover link management, product management, storefronts, integrations, and utilities (QR, shorten). While slightly above the typical 3-15 range, each tool has a clear purpose and fits the domain scope.

Completeness3/5

Core CRUD is present for links (create, read, update, archive) but missing update/delete for products and no create store or delete store/links. Notable gaps in lifecycle coverage.

Available Tools

18 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-tools-guide

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. Supported values: amazon, aliexpress, ebay, awin, shareasale, impact, cj, rakuten, etsy, walmart, target, bestbuy.
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

Behavior4/5

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

The description discloses that the response includes the new product's ID (needed for other tools), requires Bearer token authentication, and automatically detects affiliate networks from the URL. No annotations provided, so it carries full burden; it's fairly transparent but omits rate limits or idempotency details.

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

Conciseness5/5

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

Three paragraphs, first sentence states purpose immediately. Each sentence adds value: purpose, product explanation, response usage, auth requirement, reference link. No fluff or redundancy.

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

Completeness4/5

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

The description covers purpose, response (product ID), prerequisite auth, and links to docs. Output schema exists so no need to detail return values. It lacks mention of error cases (e.g., duplicate product) but is otherwise complete for a creation tool.

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

Parameters3/5

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

Schema coverage is 100% with clear descriptions for all parameters. The description adds minimal extra value: it mentions URL accepts affiliate or standard links and that image must be publicly accessible HTTPS (already in 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 clearly states the tool creates a new product in the Affilio catalog, defines products as promotional items, and distinguishes from siblings like auth.create_link and auth.add_product_link by noting the product ID is needed for those operations.

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 explains the role of products and that they can have multiple links and storefronts, implying use before adding links. It mentions authentication and provides a reference link, but lacks explicit when-to-use vs alternatives or exclusion criteria.

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-tools-guide

ParametersJSON Schema
NameRequiredDescriptionDefault
product_idYesUnique product ID (MongoDB ObjectId string) returned by auth.create_product or found via auth.search_products. Example: '64a1f2b3c4d5e6f7a8b9c0d1'.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

Describes return fields and authentication requirement, adding value beyond the input schema. Lacks disclosure of error behavior, but adequate for a simple read operation.

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?

Efficient, front-loaded purpose, no wasted words. Each sentence contributes clear value.

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

Completeness4/5

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

Covers purpose, authentication, and return fields sufficiently given output schema exists. Lacks error handling details, but acceptable for a retrieval tool.

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

Parameters3/5

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

Schema already provides full description of product_id parameter including type and source. Description adds minimal additional meaning.

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 retrieves a single product by ID, distinguishing it from sibling tools like auth.search_products which return multiple products.

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?

Provides context for when to use (retrieve single product by ID) and mentions where to obtain the product_id, but does not explicitly state when not to use or compare to alternatives.

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 an Affilio storefront by ID.

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-tools-guide

ParametersJSON Schema
NameRequiredDescriptionDefault
store_idYesUnique store ID (MongoDB ObjectId string) of the Affilio storefront to retrieve. Retrieve store IDs from the Affilio dashboard or via the API.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/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 that the tool is a read operation via 'Retrieve' and requires Bearer token authentication, but does not discuss side effects, rate limits, or error conditions. The return fields are listed but behavioral details are minimal.

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 (3 sentences plus a link), with the purpose front-loaded. Every sentence adds value: purpose, return data, auth requirement. The link adds some verbosity but is optional.

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 has only one parameter and an output schema exists, the description adequately lists return fields and authentication context. It is complete enough for a read-only operation, though it omits error scenarios or pagination (if applicable).

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 schema already documents the store_id parameter as a MongoDB ObjectId. The description adds no extra information beyond paraphrasing the parameter (by ID), 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 starts with a clear verb+resource combination ('Retrieve an Affilio storefront by ID'), explicitly stating the action and the target. It lists specific returned fields, making it distinct from sibling tools like auth.update_store 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 Guidelines3/5

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

The description implies usage for retrieving store configurations but does not explicitly state when to use this tool over siblings (e.g., auth.get_link for links). It mentions authentication but lacks when-not or alternative guidance.

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 — such as Amazon Associates (tag + marketplace), AliExpress App credentials, and eBay App ID. Active integrations are required to use auth.search_products for live product search.

Requires Bearer token authentication.

Technical reference: https://affilio.link/blog/mcp-tools-guide

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 full burden. It mentions the return values (status, configuration, credential metadata) and authentication requirement (Bearer token). The presence of an output schema reduces the need to detail return format.

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, with no unnecessary words. It is front-loaded with the main purpose and structured logically.

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 no parameters and an output schema, the description provides sufficient context: purpose, return content, authentication, relationship to sibling, and a reference link.

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?

There are no parameters, so baseline is 4. The description adds context about what the tool returns, compensating for the lack of parameter documentation.

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, with examples of what is returned (Amazon Associates, AliExpress, eBay). It distinguishes from siblings by noting that active integrations are needed for auth.search_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 indicates when to use the tool (to list integrations) and provides context linking to auth.search_products. However, it does not explicitly state when not to use this tool or mention alternatives beyond the single sibling reference.

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 a specific 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-tools-guide

ParametersJSON Schema
NameRequiredDescriptionDefault
skipNoNumber of products to skip for pagination. Default: 0.
limitNoMaximum number of products to return per page (1–200). Default: 50.
store_idYesUnique store ID (MongoDB ObjectId string) of the storefront whose products to list.

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 provided, so description carries full burden. It states this is a list operation (read-only), returns paginated results in configured display order, and requires authentication. No side effects mentioned, but none expected for a list tool. Good coverage of behavioral traits.

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

Conciseness4/5

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

Two short paragraphs plus a reference URL. Information is front-loaded: purpose first, then output details, then pagination, then auth. No unnecessary words. Could be slightly more concise but overall efficient.

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 an output schema present, description covers essential context: purpose, pagination, authentication, ordering, and output fields. Does not mention error cases or invalid store_id, but given output schema exists and parameters are well-documented, completeness is adequate.

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%, so baseline is 3. Description reiterates pagination use for skip/limit and mentions store_id implicitly. Adds the context that products are returned in configured display order, which is not in schema. Marginal value beyond schema.

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?

Description clearly states 'List all products assigned to a specific Affilio storefront', specifying verb and resource. Distinguishes from sibling tools like auth.search_products by implying a full list vs search. Output fields are listed, adding specificity.

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?

Explicitly describes pagination with skip and limit, and requires Bearer token authentication. However, lacks explicit guidance on when not to use this tool versus alternatives like auth.search_products. Implicit differentiation is present but not explicit.

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 (Amazon, AliExpress, or eBay).

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-tools-guide

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

Behavior4/5

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

With no annotations provided, the description covers authentication (Bearer token), prerequisites, error envelopes, and the live nature of results. It does not mention rate limits or explicitly state it is read-only, but the search semantics imply no side effects.

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

Conciseness5/5

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

The description is well-structured with clear sections: main purpose, returned data, prerequisites, error envelopes, authentication, and a reference link. Every sentence is informative and non-redundant.

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

Completeness5/5

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

Given the presence of an output schema, the description still covers return fields, prerequisites, authentication, errors, and the integration workflow. It is fully adequate for an agent to understand how and when to invoke the 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?

Schema description coverage is 100%. The description adds value for 'query' with natural-language examples and for 'platform' with supported values and a cross-reference to auth.list_integrations. It does not reiterate the 'limit' parameter, but the schema already provides clear details.

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 searches for products on connected affiliate platforms (Amazon, AliExpress, eBay). It specifies the verb 'search' and resource 'products', and distinguishes from siblings by noting results are ready for auth.create_product.

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 prerequisites (active integration, check auth.list_integrations) and error envelopes for common failure cases. It provides context on when to use the tool but does not explicitly state when not to use it or compare to alternatives beyond referencing auth.create_product.

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 an 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-tools-guide

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.
store_idYesUnique store ID (MongoDB ObjectId string) of the storefront to update.
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?

No annotations provided, so description carries full burden. It notes it updates metadata (write operation) and requires Bearer token authentication. It doesn't mention rate limits or error handling, but overall sufficient for a mutation tool. No contradiction.

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

Conciseness5/5

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

Three sentences, each purposeful. First states action, second explains usage, third provides exclusion guidance. Front-loaded and no 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 tool with 4 params (1 required), good schema coverage, and existence of output schema, the description covers purpose, usage, exclusions, authentication, and provides a technical reference. Complete and clear.

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%, so baseline is 3. Description adds value by synthesizing: 'Provide any combination ... fields omitted are left unchanged.' This clarifies behavior beyond individual schema descriptions.

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 explicitly says 'Update an Affilio storefront's metadata' with a specific verb and resource. It distinguishes from sibling tools like auth.get_store, auth.create_product, etc. High clarity.

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 clear when-to-use: 'Provide any combination of name, description, and layout — fields omitted are left unchanged.' Also states when-not-to-use: 'For full branding updates ... use the Affilio dashboard → Storefront settings.' Explicit guidance.

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://affilio.link/abc123
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

Behavior3/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 return format (base64 PNG) and customization options, but does not mention potential limitations (e.g., rate limits, authentication requirements, or side effects beyond image generation).

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 and concise, starting with a clear one-liner, then explaining return format, use cases, and return fields. Every sentence adds value, and the overall length is appropriate.

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 core functionality, use cases, and return format. The output schema further documents return values. Some minor details are missing (e.g., URL length limits, error handling), but the tool is simple and well-documented. A link to additional docs is provided.

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 parameter descriptions. The description adds marginal value by noting 'Color, transparency, and dot style are all configurable,' but this largely repeats schema information. 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 states 'Generate a branded QR code PNG image for any URL with full visual customization.' This is a specific verb-resource combination that clearly distinguishes it from sibling tools which focus on link management and URL shortening.

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 four use cases in a bulleted list, providing clear guidance on when to use the tool. However, it does not explicitly state when not to use it or compare to alternative tools, though no alternative QR tool exists among siblings.

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.

Affilio automatically classifies the affiliate network (Amazon, eBay, AliExpress, Awin, etc.), 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

  • Create a trackable affiliate link with click analytics

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

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

Returns: short_url (str): The shortened URL — e.g. https://affilio.link/abc123 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): Detected affiliate platform — e.g. "amazon", "ebay", "unknown" powered_by (str): Brand tagline pending (bool): True if the link is queued for async processing expires_at (str | null): ISO 8601 expiry timestamp, or null for permanent links 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

Behavior4/5

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

Discloses deduplication, affiliate classification, QR code generation, async processing, and expiry. Without annotations, this provides substantial behavioral context, though rate limits or auth requirements are absent.

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

Conciseness4/5

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

Front-loaded with a clear summary, followed by bullet lists for use cases and return fields. Slightly lengthy due to return field details that output schema could cover, but overall efficient.

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?

Fully covers core functionality including dedup, classification, QR, async processing, and expiry. No output schema provided, but return fields are comprehensively described. Sibling tools are not needed for completeness.

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% with one parameter (url). The description adds value by explaining supported URL types (affiliate networks) and providing an example, exceeding baseline expectations.

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 shortens URLs with affiliate link intelligence, specifying verb and resource. It distinguishes from siblings like generate_qr and auth.create_link by highlighting combined shortening, classification, and 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?

Explicitly lists four usage scenarios (shortening, tracking, QR, compact version). While it doesn't state when not to use or name alternatives, the context is sufficient for decision-making.

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!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources