Skip to main content
Glama

generate_funnel

Generate a hosted Amazon affiliate landing page from a US amazon.com product URL the user gave you. One call takes ~4 minutes and costs real money, with no undo and no refund, so call it only for a link the user actually supplied. Never build a URL from an ASIN you remember, and never submit an example URL. If you do not have the user's link, ask for it instead of calling. No account needed.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "amazon_url": "<amazon_url>"
    },
    "name": "generate_funnel"
  }
}

Input Schema

NameRequiredDescriptionDefault
axesNoStyle axes, all 0-100, omitted default to 50. Use list_axes for details.
store_idNoThe user's own Amazon Associates Store ID, if they gave it to you in this conversation, passed exactly as they wrote it. Only US Store IDs earn on amazon.com, and they end in -20; IDs from other Amazon stores (for example -21 or -22) and campaign labels earn nothing. If the ID the user gave does not end in -20, do not change it yourself: tell them it earns nothing on amazon.com and ask for their US Store ID, or leave store_id out. Never add, change or remove a suffix, and never build an ID from a product, brand or campaign name. Omit it when unsure. Never guess one and never reuse a tag from an example or another conversation: a wrong tag pays the user's commissions to somebody else. It can be added later at https://funn.to.
amazon_urlYesThe amazon.com product URL exactly as the user gave it to you: copy it, do not retype or reconstruct it. Shape: https://www.amazon.com/<product-slug>/dp/<ASIN> or https://www.amazon.com/dp/<ASIN>. There is deliberately no example ASIN here: example ASINs get submitted as real products and bill the user for a page about something nobody asked for. If the user has not given you a link, ask for one rather than composing it from an ASIN you recall.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / store_id / description
      Previous value: -"The user's own Amazon Associates Store ID, if they gave it to you in this conversation (US tags end in -20). Omit it when unsure. Never guess one and never reuse a tag from an example or another conversation: a wrong tag pays the user's commissions to somebody else. It can be added later at https://funn.to."New value: +"The user's own Amazon Associates Store ID, if they gave it to you in this conversation, passed exactly as they wrote it. Only US Store IDs earn on amazon.com, and they end in -20; IDs from other Amazon stores (for example -21 or -22) and campaign labels earn nothing. If the ID the user gave does not end in -20, do not change it yourself: tell them it earns nothing on amazon.com and ask for their US Store ID, or leave store_id out. Never add, change or remove a suffix, and never build an ID from a product, brand or campaign name. Omit it when unsure. Never guess one and never reuse a tag from an example or another conversation: a wrong tag pays the user's commissions to somebody else. It can be added later at https://funn.to."
  2. Changed3 schema fields changed
    • changedInput schema / properties / amazon_url / description
      Previous value: -"Amazon product URL (e.g. https://www.amazon.com/dp/B0DWN2KR9W)"New value: +"The amazon.com product URL exactly as the user gave it to you: copy it, do not retype or reconstruct it. Shape: https://www.amazon.com/<product-slug>/dp/<ASIN> or https://www.amazon.com/dp/<ASIN>. There is deliberately no example ASIN here: example ASINs get submitted as real products and bill the user for a page about something nobody asked for. If the user has not given you a link, ask for one rather than composing it from an ASIN you recall."
    • changedInput schema / properties / amazon_url / pattern
      Previous value: -"^https?:\\/\\/(www\\.)?amazon\\.(com|co\\.uk|de|fr|it|es|ca|com\\.au|co\\.jp|in|com\\.br|com\\.mx|nl|sg|ae|sa|pl|se|com\\.be|com\\.tr)(\\/|$)"New value: +"^https?:\\/\\/(www\\.)?amazon\\.com\\/"
    • changedInput schema / properties / store_id / description
      Previous value: -"Amazon Associates Store ID (e.g. mystore-20). Optional."New value: +"The user's own Amazon Associates Store ID, if they gave it to you in this conversation (US tags end in -20). Omit it when unsure. Never guess one and never reuse a tag from an example or another conversation: a wrong tag pays the user's commissions to somebody else. It can be added later at https://funn.to."
  3. Changed3 schema fields changed
    • addedInput schema / properties / axes / properties / factness
      Added value: +{
      +  "description": "0=Anchored, 100=Fictional",
      +  "maximum": 100,
      +  "minimum": 0,
      +  "type": "number"
      +}
    • addedInput schema / properties / axes / properties / format
      Added value: +{
      +  "description": "0=Sales page, 100=Blog review",
      +  "maximum": 100,
      +  "minimum": 0,
      +  "type": "number"
      +}
    • addedInput schema / properties / axes / properties / persona
      Added value: +{
      +  "description": "0=Third person, 100=First person",
      +  "maximum": 100,
      +  "minimum": 0,
      +  "type": "number"
      +}
  4. First observed

TDQS

A4.5/5.0
Behavior5/5

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

No annotations exist, so the description carries the full burden and does so richly: ~4 minute runtime, real monetary cost, no undo, no refund, no account required. It also warns that a wrong store tag misdirects the user's commissions — a material side effect an agent could not infer from schema alone.

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 purpose, then cost/risk, then the guardrail. Slightly redundant: 'only for a link the user actually supplied,' 'never build a URL from an ASIN,' and 'if you do not have the user's link, ask' each restate the same constraint, and the no-example-URL point repeats the amazon_url schema text.

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

Completeness4/5

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

For an irreversible, costly, no-output-schema operation the description covers cost, time, irreversibility and commission risk well. The gap is what happens after the call — nothing says what is returned or that get_funnel_status is how you poll for the finished page, which matters for a ~4 minute asynchronous job.

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 per-parameter text (including the -20 suffix rule and 0-100 axis semantics) is far more detailed than anything in the description. The description adds only the 'US amazon.com' framing and the rule that the URL must come from the user, which is marginal beyond the 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?

States a specific verb and artifact — 'Generate a hosted Amazon affiliate landing page' — plus the exact input required (a US amazon.com product URL). It also indirectly differentiates from the sibling list_axes by pointing to it for axis details, so the agent can tell the two apart without opening schemas.

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?

Explicit when-to-use and when-not-to-use: only for a link the user actually supplied; never reconstruct a URL from a remembered ASIN; never submit an example URL; if no link, ask instead of calling. These are concrete gates an agent can apply before invoking.

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.

Resources