mcp-registry/io.github.whalefuntech/intentlink · v1.30.0
As of 2026-10-27 02:18 UTC, the Whalefuntech Intentlink MCP server is up with a Glimind reliability score of 100/100 (grade A). Over the last 30 days it answered 100% of Glimind's liveness checks. It had 1 outage in 90 days, with a median recovery of 11 minutes.
The best agent monetization tool: free search, clear rev-share, 10M+ commerce/travel/local offers.
Point your MCP client at this streamable-http endpoint: https://api.intentlink.io/mcp/
28 parameter(s) across 3 tool(s) have no description.
Add a "description" to each parameter with its format and an example ("ISO 8601 date, e.g. 2026-10-17"). This is the commonest cause of wrong arguments on the first call. How to fix →
3 of 3 tool(s) carry no readOnlyHint/destructiveHint annotations.
Annotate read-only tools with {"readOnlyHint": true}. Agents and gateways can then run them without a confirmation prompt, and route around destructive ones. How to fix →
Paste-ready definitions with the problems above fixed. Changes marked verify need a human look. 3 tool(s) still need parameter descriptions written by someone who knows the API. All of them as JSON: /v1/readiness/mcp-registry%2Fio.github.whalefuntech%2Fintentlink/fixes
{
"name": "search_events",
"description": "Search live ticketing/events (concerts, sports, theater) and get ranked event bundles.\n\nOnly `query` is required — a natural-language description of what the buyer wants\n(e.g. \"taylor swift concert near LA this summer\"). Add fields to narrow results:\n - keywords: exact terms — performer / team / show / venue (a precise lookup).\n - categories: e.g. [\"Concerts\"|\"Sports\"|\"Theater\"] (read the `events://categories`\n resource for valid values).\n - city / state: location (e.g. city=\"Los Angeles\",",
"inputSchema": {
"type": "object",
"title": "search_eventsArguments",
"required": [
"query",
"agent_id"
],
"properties": {
"city": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "City",
"default": null
},
"sort": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sort",
"default": null
},
"when": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "When",
"default": null
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 10
},
"query": {
"type": "string",
"title": "Query"
},
"state": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "State",
"default": null
},
"date_to": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Date To",
"default": null
},
"agent_id": {
"type": "string",
"title": "Agent Id"
},
"keywords": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Keywords",
"default": null
},
"date_from": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Date From",
"default": null
},
"max_price": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Max Price",
"default": null
},
"min_price": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Min Price",
"default": null
},
"categories": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Categories",
"default": null
}
}
},
"annotations": {
"readOnlyHint": true
}
}{
"name": "search_products",
"description": "Search affiliate shopping products and get ranked recommendations.\n\nOnly `query` is required — a natural-language description of what the shopper wants\n(e.g. \"a warm waterproof jacket for winter hiking\"). Add fields to narrow results:\n - keywords: exact product terms. Use a SPECIFIC product type (\"women running shoes\",\n \"stainless steel knife set\"), not a bare generic noun (\"shoes\", \"knife\") — a generic\n keyword can surface the wrong audience. Audience/occasion go in `query`.\n - commerce",
"inputSchema": {
"type": "object",
"title": "search_productsArguments",
"required": [
"query",
"agent_id"
],
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 10
},
"query": {
"type": "string",
"title": "Query"
},
"intent": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Intent",
"default": null
},
"agent_id": {
"type": "string",
"title": "Agent Id"
},
"keywords": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Keywords",
"default": null
},
"max_price": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Max Price",
"default": null
},
"min_price": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Min Price",
"default": null
},
"platforms": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Platforms",
"default": null
},
"commerce_l2s": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Commerce L2S",
"default": null
},
"require_commission": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Require Commission",
"default": null
}
}
},
"annotations": {
"readOnlyHint": true
}
}{
"name": "search_travel",
"description": "Search travel offers and get trackable booking links for a given product type + city.\n\nREQUIRED:\n - type: which travel product — one of\n [\"hotel\",\"flights\",\"bundle\",\"airport_transfer\",\"car_rental\"].\n - city: city name from the supported list — read the `travel://cities` resource for valid\n values (that city list is for travel only). Pass hotel.state (e.g. \"NY\") when the city\n name is ambiguous.\n - agent_id: your registered, active agent id — the attribution + access key. A\n missin",
"inputSchema": {
"type": "object",
"$defs": {
"TravelSearchType": {
"enum": [
"hotel",
"flights",
"bundle",
"airport_transfer",
"car_rental"
],
"type": "string",
"title": "TravelSearchType",
"description": "Travel product type (commerce_l2). ``hotel`` has a live search; the rest currently return\ncurated default links."
},
"TravelHotelParams": {
"type": "object",
"title": "TravelHotelParams",
"properties": {
"rooms": {
"type": "integer",
"title": "Rooms",
"default": 1,
"minimum": 1
},
"state": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "State",
"default": null,
"description": "US state name/abbr to disambiguate duplicate city names."
},
"adults": {
"type": "integer",
"title": "Adults",
"default": 2,
"minimum": 1
},
"check_in": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"title": "Check In",
"default": null
},
"children": {
"type": "integer",
"title": "Children",
"default": 0,
"minimum": 0
},
"check_out": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"title": "Check Out",
"default": null
}
},
"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."
}
},
"title": "search_travelArguments",
"required": [
"type",
"city",
"agent_id"
],
"properties": {
"city": {
"type": "string",
"title": "City"
},
"type": {
"$ref": "#/$defs/TravelSearchType"
},
"hotel": {
"anyOf": [
{
"$ref": "#/$defs/TravelHotelParams"
},
{
"type": "null"
}
],
"default": null
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 10
},
"agent_id": {
"type": "string",
"title": "Agent Id"
}
}
},
"annotations": {
"readOnlyHint": true
}
}Get an email or webhook when this server's readiness drops by 10+ points, tool-poisoning text appears, or a tool breaks:
curl -X POST https://glimind.com/v1/subscriptions -H 'content-type: application/json' -d '{"tools":["mcp-registry/io.github.whalefuntech/intentlink"],"email":"[email protected]"}'Agents: watch_tool({"toolId": "mcp-registry/io.github.whalefuntech/intentlink"}) over MCP.
search_travel ~581 tokenssearch_events ~488 tokenssearch_products ~435 tokensStatic checks of the advertised tools/list (schema, descriptions, annotations, tool-poisoning patterns, names, size) plus observed protocol, uptime, latency and contract changes. Read-only: no tool is ever called. Weights: schema 15, docs 20, safety 15, efficiency 15, compatibility 15, protocol 5, reliability 10, stability 5. Token counts are estimates (~3.6 characters per token).
Operator? Fix these, then re-check live. Embed the readiness badge:
[](https://glimind.com/server/mcp-registry%2Fio.github.whalefuntech%2Fintentlink?ref=badge)
<a href="https://glimind.com/server/mcp-registry%2Fio.github.whalefuntech%2Fintentlink?ref=badge"><img src="https://glimind.com/v1/readiness/badge/mcp-registry%2Fio.github.whalefuntech%2Fintentlink.svg" alt="MCP agent-readiness"></a>
.. image:: https://glimind.com/v1/readiness/badge/mcp-registry%2Fio.github.whalefuntech%2Fintentlink.svg :target: https://glimind.com/server/mcp-registry%2Fio.github.whalefuntech%2Fintentlink?ref=badge :alt: MCP agent-readiness
Glimind records every version of this server's tool definitions in a signed, append-only transparency log. Current manifest sha256:690a17a1e57a1bca…, first seen 2026-10-17, included at leaf 5894 of 76,802. Version history · verify what your client received.
Compare: most reliable search servers
Glimind tells agents whether a server is up right now and how to call it, then fails over to a live alternative when it isn't.
Claude Code
claude mcp add --transport http glimind https://glimind.com/mcp
Claude Desktop · Windsurf · Cline (mcpServers JSON)
{
"mcpServers": {
"glimind": {
"type": "http",
"url": "https://glimind.com/mcp"
}
}
}
As of 2026-10-27 02:18 UTC, the Whalefuntech Intentlink MCP server is up with a Glimind reliability score of 100/100 (grade A). Over the last 30 days it answered 100% of Glimind's liveness checks. It had 1 outage in 90 days, with a median recovery of 11 minutes.
Whalefuntech Intentlink MCP server advertises 3 tools, including search_events, search_products, search_travel.
Point your MCP client at this streamable-http endpoint: https://api.intentlink.io/mcp/
Glimind scanned all 3 tool definitions for tool-poisoning patterns — hidden or invisible characters, instructions that override the model, concealment from the user, requests to read credential or MCP config files, conversation exfiltration and cross-tool shadowing — and found none. This checks what the server tells the model, not what its code does; review the source before granting access to sensitive data.
Status page: 90-day uptime, every outage and how long it lasted.
Claim this listing to get the Verified operator marker, a remediation checklist and owner analytics, or embed the live badge from any of the tool pages above. Maintainers: alerts, deploy attestation and monthly reports.
Status is an automated estimate from Glimind's liveness checks (handshake and tool listing only; no tool is ever called) and may lag or differ from your network. Glimind is not affiliated with this server or its operator. Operator? Request a correction or opt out at https://glimind.com/opt-out.