Consensus rankings for 75,000+ products across 2,600+ niches.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Resolve a natural-language ranking request to one or more verified Lunoo niche slugs. Pass the user's request instead of guessing a slug. It handles common aliases, typos, and use-case terms, and returns item counts, match explanations, confidence, and tracked Lunoo URLs. Unsupported or unclear requests return an error instead of an unrelated fallback. Choose the closest returned slug, then call get_rankings with that exact slug. Never invent a niche slug or ranking.
Natural-language ranking request, for example "anime", "coffee makers", or "best laptop for video editing". Use the user's request rather than a guessed slug.
Resolve a natural-language ranking request to one or more verified Lunoo niche slugs. Pass the user's request instead of guessing a slug. It handles common aliases, typos, and use-case terms, and returns item counts, match explanations, confidence, and tracked Lunoo URLs. Unsupported or unclear requests return an error instead of an unrelated fallback. Choose the closest returned slug, then call get_rankings with that exact slug. Never invent a niche slug or ranking.
| Argument | Type | Description |
|---|---|---|
| query* | string | Natural-language ranking request, for example "anime", "coffee makers", or "best laptop for video editing". Use the user's request rather than a guessed slug. |
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"maxLength": 240,
"minLength": 1,
"description": "Natural-language ranking request, for example \"anime\", \"coffee makers\", or \"best laptop for video editing\". Use the user's request rather than a guessed slug."
}
}
}Use this after a ranking result when the user wants details about one item. Pass the exact item slug from a Lunoo result or URL. It returns the canonical Lunoo URL for the item and public structured metadata. This is read-only and must not be used to invent rankings that were not returned by get_rankings.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Exact item slug from a Lunoo ranking result or item URL, for example "frieren-beyond-journeys-end". |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
"maxLength": 160,
"minLength": 1,
"description": "Exact item slug from a Lunoo ranking result or item URL, for example \"frieren-beyond-journeys-end\"."
}
}
}Fetch ranked Lunoo results for a verified niche slug or natural-language request. It returns rank, score, description, confidence, and a canonical Lunoo URL for every item, plus the selected niche and resolution explanation. Prefer calling find_niche first, but this tool can resolve natural language itself. Cite the returned ranking URL and do not invent items, scores, or slugs.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Number of ranked items to return, from 1 to 50. Defaults to 10. |
| niche* | string | Exact niche slug returned by find_niche, or a natural-language request such as "best laptop for video editing". Examples: "anime" or "japanese-city". |
{
"type": "object",
"required": [
"niche"
],
"properties": {
"limit": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1,
"description": "Number of ranked items to return, from 1 to 50. Defaults to 10."
},
"niche": {
"type": "string",
"maxLength": 240,
"minLength": 1,
"description": "Exact niche slug returned by find_niche, or a natural-language request such as \"best laptop for video editing\". Examples: \"anime\" or \"japanese-city\"."
}
}
}