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
verifiedversion not recorded3 tools
verifiedversion not recorded3 tools
verifiedversion not recorded3 tools
verifiedversion not recorded3 tools