intentlink

The best agent monetization tool: free search, clear rev-share, 10M+ commerce/travel/local offers.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
68%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,122Tokens (tool definitions)
~3.8 KBTypical response size
Moderate attention impact (1.66% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "intentlink": {
      "url": "https://api.intentlink.io/mcp/"
    }
  }
}

Remote endpoints

https://api.intentlink.io/mcp/streamable-http

What it can do

Tool inventory

Tools (3)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟡search_products(query, agent_id, keywords, commerce_l2s, max_price, ...)

Search affiliate shopping products and get ranked recommendations. Only `query` is required — a natural-language description of what the shopper wants (e.g. "a warm waterproof jacket for winter hiking"). Add fields to narrow results: - keywords: exact product terms. Use a SPECIFIC product type ("women running shoes", "stainless steel knife set"), not a bare generic noun ("shoes", "knife") — a generic keyword can surface the wrong audience. Audience/occasion go in `query`. - commerce_l2s: category ids to restrict to (read the `commerce://categories` resource for valid values — that taxonomy is for shopping only). - max_price / min_price: price band (USD). platforms: ["amazon"|"walmart"] (empty=all). - intent: ranking preset — "cheapest" | "best_discount" | "top_rated" | "best_value". - require_commission: only return products that pay a commission (default: server setting, normally on). Pass false to include zero/unknown-commission products. - limit: max results (default 10). `agent_id` is REQUIRED: your registered, active agent id. It is the attribution key and the access key — a missing/blank or unregistered agent_id is rejected (no anonymous use). Returns {count, products:[{offer_id,title,brand,price,rating,...,buy_url,product_url}]}. Each product's `buy_url` is ALREADY the trackable affiliate buy link — hand it to the shopper directly. (`product_url` is the plain product page.) There is no separate resolve/click step.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "title": "Query",
      "type": "string"
    },
    "agent_id": {
      "title": "Agent Id",
      "type": "string"
    },
    "keywords": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Keywords"
    },
    "commerce_l2s": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Commerce L2S"
    },
    "max_price": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Max Price"
    },
    "min_price": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Min Price"
    },
    "platforms": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Platforms"
    },
    "intent": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Intent"
    },
    "require_commission": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Require Commission"
    },
    "limit": {
      "default": 10,
      "title": "Limit",
      "type": "integer"
    }
  },
  "required": [
    "query",
    "agent_id"
  ],
  "title": "search_productsArguments"
}

Output Schema

{
  "type": "object",
  "additionalProperties": true,
  "title": "search_productsDictOutput"
}
🟢search_travel(type, city, agent_id, hotel, limit)

Search travel offers and get trackable booking links for a given product type + city. REQUIRED: - type: which travel product — one of ["hotel","flights","bundle","airport_transfer","car_rental"]. - city: city name from the supported list — read the `travel://cities` resource for valid values (that city list is for travel only). Pass hotel.state (e.g. "NY") when the city name is ambiguous. - agent_id: your registered, active agent id — the attribution + access key. A missing/blank or unregistered agent_id is rejected (no anonymous use). HOTEL runs a live Trip.com search — pass the `hotel` object with the stay: check_in / check_out (YYYY-MM-DD), rooms, adults, children, state. If those are missing/invalid or the city can't be resolved, you get the hotel default links instead. Other types currently return curated default links (the `hotel` object is ignored for them). Returns {status, reason, message, links:{<type>:[{title, brand, platform, buy_url, product_url, ...}]}}. status is "ok" = a live hotel result; "fallback" = curated default links (see `reason`); "no_results" = nothing available for the type; "error" = the agent_id was rejected. Each `buy_url` is ALREADY the trackable booking link — hand it to the traveler directly. `product_url` is the plain merchant page.

Input Schema

{
  "type": "object",
  "properties": {
    "type": {
      "$ref": "#/$defs/TravelSearchType"
    },
    "city": {
      "title": "City",
      "type": "string"
    },
    "agent_id": {
      "title": "Agent Id",
      "type": "string"
    },
    "hotel": {
      "anyOf": [
        {
          "$ref": "#/$defs/TravelHotelParams"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "limit": {
      "default": 10,
      "title": "Limit",
      "type": "integer"
    }
  },
  "required": [
    "type",
    "city",
    "agent_id"
  ],
  "$defs": {
    "TravelHotelParams": {
      "description": "Hotel-only stay params. Grouped here (not flattened onto the request) since they apply to a\nlive hotel search only. Missing/invalid values → the service returns default hotel links.",
      "properties": {
        "check_in": {
          "anyOf": [
            {
              "format": "date",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Check In"
        },
        "check_out": {
          "anyOf": [
            {
              "format": "date",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Check Out"
        },
        "rooms": {
          "default": 1,
          "minimum": 1,
          "title": "Rooms",
          "type": "integer"
        },
        "adults": {
          "default": 2,
          "minimum": 1,
          "title": "Adults",
          "type": "integer"
        },
        "children": {
          "default": 0,
          "minimum": 0,
          "title": "Children",
          "type": "integer"
        },
        "state": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "US state name/abbr to disambiguate duplicate city names.",
          "title": "State"
        }
      },
      "title": "TravelHotelParams",
      "type": "object"
    },
    "TravelSearchType": {
      "description": "Travel product type (commerce_l2). ``hotel`` has a live search; the rest currently return\ncurated default links.",
      "enum": [
        "hotel",
        "flights",
        "bundle",
        "airport_transfer",
        "car_rental"
      ],
      "title": "TravelSearchType",
      "type": "string"
    }
  },
  "title": "search_travelArguments"
}

Output Schema

{
  "type": "object",
  "additionalProperties": true,
  "title": "search_travelDictOutput"
}
🟡search_events(query, agent_id, keywords, categories, city, ...)

Search live ticketing/events (concerts, sports, theater) and get ranked event bundles. Only `query` is required — a natural-language description of what the buyer wants (e.g. "taylor swift concert near LA this summer"). Add fields to narrow results: - keywords: exact terms — performer / team / show / venue (a precise lookup). - categories: e.g. ["Concerts"|"Sports"|"Theater"] (read the `events://categories` resource for valid values). - city / state: location (e.g. city="Los Angeles", state="CA"). country defaults to US. - date_from / date_to: explicit date window, YYYY-MM-DD (event dates are date-only). - when: fuzzy time — "this_weekend" | "this_week" | "this_month" | "next_7_days" | "next_30_days" (ignored if date_from/date_to are given). - min_price / max_price: ticket 'from' price band (USD). - sort: "relevance" (default) | "soonest" | "cheapest". - limit: max results (default 10). `agent_id` is REQUIRED: your registered, active agent id — the attribution + access key. A missing/blank or unregistered agent_id is rejected (no anonymous use). Returns {count, message, events:[{bundle_id,title,venue,city,next_date,price_min,..., sessions:[{date,price,buy_url,landing_url}]}]}. Each session's `buy_url` is ALREADY the trackable ticket link — hand it to the buyer directly. `landing_url` is the plain event page. When a date filter is given, `sessions` are the in-window dates.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "title": "Query",
      "type": "string"
    },
    "agent_id": {
      "title": "Agent Id",
      "type": "string"
    },
    "keywords": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Keywords"
    },
    "categories": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Categories"
    },
    "city": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "City"
    },
    "state": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "State"
    },
    "date_from": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Date From"
    },
    "date_to": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Date To"
    },
    "when": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "When"
    },
    "min_price": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Min Price"
    },
    "max_price": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Max Price"
    },
    "sort": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Sort"
    },
    "limit": {
      "default": 10,
      "title": "Limit",
      "type": "integer"
    }
  },
  "required": [
    "query",
    "agent_id"
  ],
  "title": "search_eventsArguments"
}

Output Schema

{
  "type": "object",
  "additionalProperties": true,
  "title": "search_eventsDictOutput"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded3 tools
verifiedversion not recorded3 tools