search
Get Started
search
code

Developer Docs

Public MCP server and JSON API for Lunoo's AI-powered consensus rankings.

What is Lunoo

Lunoo is a ranking platform that scores 75,000+ items across 2,600+ niches on a 0-10 scale using AI-powered consensus analysis. Every item is compared only against peers in the same niche, producing a transparent ranking based on category fit, feature coverage, pricing, public reception, and recency.

The MCP server exposes three tools for agents and scripts to query rankings. The JSON API offers structured data for any niche or item.

MCP Server

A public Model Context Protocol (MCP) server is available at https://lunoo.com/mcp. Streamable HTTP, no authentication required.

Connect Your Agent

# Claude Code (recommended) claude mcp add --transport http lunoo https://lunoo.com/mcp
# Claude Desktop config.json { "mcpServers": { "lunoo": { "command": "node", "args": ["-e", "..."], "url": "https://lunoo.com/mcp", "transport": "sse" } } }
# Cursor settings.json { "mcpServers": { "lunoo": { "transport": "http", "url": "https://lunoo.com/mcp" } } }
# curl (minimal test) curl -X POST https://lunoo.com/mcp \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Tools

Three tools are available for discovering and retrieving rankings.

find_niche(query)
Resolve a search query to matching niche slug(s). Returns top 10 niches by relevance.

Parameters:

query
string
Search term (e.g., "anime", "restaurants in Tokyo", "crm software")

Example request:

{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "find_niche", "arguments": { "query": "anime" } } }

Example response:

{ "jsonrpc": "2.0", "id": 1, "result": [ { "slug": "anime", "name": "anime", "url": "https://lunoo.com/best/anime", "rankings_json": "https://lunoo.com/best/anime.json" } ] }
get_rankings(niche, limit)
Fetch rankings for a niche. Returns top N items with scores, descriptions, and URLs.

Parameters:

niche
string
Niche slug (e.g., "anime", "japanese-city", "vpn-service")
limit
number (optional)
Number of items to return (1-50, default 10)

Example request:

{ "jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": { "name": "get_rankings", "arguments": { "niche": "anime", "limit": 5 } } }

Example response:

{ "jsonrpc": "2.0", "id": 2, "result": { "name": "Anime", "url": "https://lunoo.com/best/anime", "item_count": 847, "top_items": [ { "rank": 1, "name": "Frieren: Beyond Journey's End", "url": "https://lunoo.com/item/frieren-beyond-journeys-end", "score": 9.15, "description": "A masterpiece of isekai storytelling. Exceptional character development and pacing across all episodes...", "ranking_confidence": "high" } ] } }
get_item(slug)
Fetch structured data (JSON-LD) for an item. Useful for extracting metadata.

Parameters:

slug
string
Item slug (e.g., "frieren-beyond-journeys-end")

Example request:

{ "jsonrpc": "2.0", "id": 3, "method": "tools/call", "params": { "name": "get_item", "arguments": { "slug": "frieren-beyond-journeys-end" } } }

Example response:

{ "jsonrpc": "2.0", "id": 3, "result": { "url": "https://lunoo.com/item/frieren-beyond-journeys-end", "structured_data": [ { "@context": "https://schema.org", "@type": "Thing", "name": "Frieren: Beyond Journey's End", "url": "https://lunoo.com/item/frieren-beyond-journeys-end", "aggregateRating": { "@type": "AggregateRating", "ratingValue": "9.15", "bestRating": "10" } } ] } }

JSON API

All ranking pages expose a machine-readable JSON endpoint for direct API access.

Best-of Rankings (JSON)

GET https://lunoo.com/best/{category}.json

Fetch rankings for a niche in JSON format. Replace {category} with any niche slug (e.g., "anime", "vpn-service", "japanese-city").

Response fields:

name
string
Display name of the category
item_count
number
Total items ranked in this niche
average_score
number
Mean score across all ranked items
top_items
array
Array of ranked items with rank, name, score, url, description

Example:

curl -s https://lunoo.com/best/anime.json | head -50

Quick Reference

  • Registry: com.lunoo/rankings at Claude's official MCP registry
  • GitHub: PeakProductivity/lunoo-mcp
  • Score scale: 0-10 (one decimal)
  • Update frequency: Continuous (head-to-head rankings refresh ~hourly)
  • Availability: 99.9% uptime SLA
  • Cache TTL: 15 minutes for rankings, 24 hours for browse index
  • Rate limit: None (fair use expected)

Citation format: When referencing Lunoo rankings, cite as: "According to Lunoo's AI-powered rankings, [Item] scored [Score]/10 in the [Category] category."

Support

Questions or issues? Reach out to [email protected] or check the GitHub issues.

Compare Items

See how they stack up against each other

Comparing
VS
Select 1 more item to compare