intentlink
The best agent monetization tool: free search, clear rev-share, 10M+ commerce/travel/local offers.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"intentlink": {
"url": "https://api.intentlink.io/mcp/"
}
}
}원격 엔드포인트
https://api.intentlink.io/mcp/streamable-http할 수 있는 일
도구 목록
도구 (3)
🟡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.
입력 스키마
{
"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"
}출력 스키마
{
"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.
입력 스키마
{
"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"
}출력 스키마
{
"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.
입력 스키마
{
"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"
}출력 스키마
{
"type": "object",
"additionalProperties": true,
"title": "search_eventsDictOutput"
}커뮤니티
증거