Skip to main content
Glama

Auth.Create Link

auth.create_link

Create a new affiliate link in your Affilio account.

IMPORTANT: This AUTHENTICATED tool creates a PERMANENT, account-owned affiliate link at affilio.link/ur/{code}. The link lives in the Affilio dashboard with full click analytics and does NOT expire. Prefer this over the unauthenticated shorten_url whenever the user wants a long-lived, tracked link.

Affilio validates the target URL, auto-classifies its affiliate network, and generates a short URL plus QR code automatically.

The response contains the new link's ID, short URL, affiliate classification, labels, visibility status, and timestamps — everything needed for subsequent auth.get_link, auth.update_link, or auth.add_product_link calls.

Requires Bearer token authentication (Authorization: Bearer <api_key>). Returns an auth_error envelope if authentication fails.

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

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesThe affiliate URL to shorten and track. Any valid HTTP/HTTPS affiliate link is accepted. Affilio auto-detects the affiliate network from the URL.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed4 schema 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."
  2. Changed4 schema 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."
  3. Added

TDQS

A4.6/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 it delivers: it discloses Bearer-token authentication, the permanent/non-expiring nature of the link, account ownership with dashboard analytics, automatic URL validation and network classification, QR generation, and the `auth_error` envelope on auth failure. This goes far beyond the bare 'Create a new affiliate link' that a weaker definition would stop at.

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 longer than minimum length but well-organized, with each paragraph earning its place: purpose, sibling differentiation, automatic behaviors, response contents, auth, and reference. The 'IMPORTANT' callout front-loads the key distinction from `shorten_url`, though the trailing blog reference is marginal value.

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 tool with an output schema and zero annotations, nothing an agent needs to call it correctly is missing: usage conditions, authentication mechanism, failure envelope, response summary, and a technical reference. The output schema already documents return values, so the description's response overview is a bonus rather than a required burden.

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% — the schema already documents the single `url` parameter, valid HTTP/HTTPS inputs, and network auto-detection. The description echoes this ('validates the target URL, auto-classifies its affiliate network') without adding new parameter-level meaning, 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?

Opens with a specific verb+resource+scope: 'Create a new affiliate link in your Affilio account.' It explicitly distinguishes itself from the sibling `shorten_url` by emphasizing this is the AUTHENTICATED, PERMANENT, account-owned variant. An agent can tell these two tools apart without opening either schema.

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

Usage Guidelines5/5

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

Gives an explicit routing rule: 'Prefer this over the unauthenticated `shorten_url` whenever the user wants a long-lived, tracked link.' The conditions that select this tool (long-lived, tracked) are stated upfront, and the inverse condition that would select the alternative is implied.

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

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