Server data from the Official MCP Registry
Consensus rankings for 75,000+ products across 2,600+ niches.
Consensus rankings for 75,000+ products across 2,600+ niches.
Remote endpoints: streamable-http: https://lunoo.com/mcp
Valid MCP server (1 strong, 1 medium validity signals). 3 known CVEs in dependencies Imported from the Official MCP Registry. 1 finding(s) downgraded by scanner intelligence.
3 tools verified · Open access · 4 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Remote Plugin
No local installation needed. Your AI client connects to the remote endpoint directly.
Add this to your MCP configuration to connect:
{
"mcpServers": {
"com-lunoo-rankings": {
"url": "https://lunoo.com/mcp"
}
}
}From the project's GitHub README.
Public Model Context Protocol (MCP) server for Lunoo, a consensus-based rankings platform scoring 74,000+ items across 2,600+ niches on a 0-10 scale.
Query verified rankings for any topic, from anime and video games to restaurants, SaaS tools, landmarks, and thousands of other categories. Powered by frontier LLM judges and community consensus.
This is a read-only public proxy over Lunoo's public web API. No authentication required, no database access, no API keys, no cost.
Add to your Claude Desktop config at %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"lunoo": {
"url": "https://lunoo.com/mcp"
}
}
}
Restart Claude Desktop. Lunoo tools will be available in every conversation.
In your project's .claude/settings.json:
{
"mcpServers": {
"lunoo": {
"url": "https://lunoo.com/mcp"
}
}
}
Or run from any Claude Code session:
claude mcp add --transport http lunoo https://lunoo.com/mcp
Post JSON-RPC 2.0 requests to https://lunoo.com/mcp. Example:
curl -X POST https://lunoo.com/mcp \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc": "2.0",
"method": "tools/list",
"id": 1
}'
npm install
npm start
# Server listens on http://localhost:8972
Health check:
curl http://localhost:8972/healthz
# {"ok":true,"service":"lunoo-mcp"}
Discover ranking niches by query string. Returns top 10 matches sorted by relevance.
Input:
{
"query": "string - search term, e.g. 'anime', 'best restaurants in tokyo'"
}
Output: Array of niches with slug, display name, Lunoo URL, and JSON endpoint URL.
Example Request:
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "find_niche",
"arguments": { "query": "anime" }
},
"id": 1
}
Example Response:
{
"jsonrpc": "2.0",
"result": {
"isError": false,
"content": [
{
"type": "text",
"text": "[\n {\n \"slug\": \"anime\",\n \"name\": \"anime\",\n \"url\": \"https://lunoo.com/best/anime\",\n \"rankings_json\": \"https://lunoo.com/best/anime.json\"\n },\n ...\n]"
}
]
},
"id": 1
}
Fetch the ranked items for a niche. Returns metadata plus top N items with scores, descriptions, and confidence levels.
Input:
{
"niche": "string - niche slug, e.g. 'anime'",
"limit": "number? - items to return, 1-50, default 10"
}
Output: Niche metadata plus ranked items with rank, name, score (0-10), description, URL, and confidence label.
Example Request:
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "get_rankings",
"arguments": { "niche": "anime", "limit": 3 }
},
"id": 2
}
Example Response:
{
"jsonrpc": "2.0",
"result": {
"isError": false,
"content": [
{
"type": "text",
"text": "{\n \"name\": \"anime\",\n \"url\": \"https://lunoo.com/best/anime\",\n \"item_count\": 1847,\n \"updated_at\": \"2026-07-02T08:15:00Z\",\n \"score_scale\": \"0-10\",\n \"ranking_method\": \"Consensus-based scoring\",\n \"top_items\": [\n {\n \"rank\": 1,\n \"name\": \"Frieren: Beyond Journey's End\",\n \"score\": 9.15,\n \"url\": \"https://lunoo.com/item/frieren-beyond-journeys-end\",\n \"description\": \"A fantasy adventure about a thousand-year journey...\"\n },\n ...\n ]\n}"
}
]
},
"id": 2
}
Extract structured metadata (JSON-LD) for an item by slug. Parses all schema.org blocks embedded on the item page.
Input:
{
"slug": "string - item slug, e.g. 'frieren-beyond-journeys-end'"
}
Output: Item URL and array of parsed JSON-LD objects (BreadcrumbList, AggregateRating, etc.).
Example Request:
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "get_item",
"arguments": { "slug": "frieren-beyond-journeys-end" }
},
"id": 3
}
Example Response:
{
"jsonrpc": "2.0",
"result": {
"isError": false,
"content": [
{
"type": "text",
"text": "{\n \"url\": \"https://lunoo.com/item/frieren-beyond-journeys-end\",\n \"structured_data\": [\n {\n \"@context\": \"https://schema.org\",\n \"@type\": \"AggregateRating\",\n \"ratingValue\": 9.15,\n \"ratingCount\": 847\n },\n ...\n ]\n}"
}
]
},
"id": 3
}
The server implements Model Context Protocol v2025-03-26. Initialize with:
{
"jsonrpc": "2.0",
"method": "initialize",
"params": {
"protocolVersion": "2025-03-26",
"capabilities": {},
"clientInfo": {
"name": "my-client",
"version": "1.0.0"
}
},
"id": 0
}
Response includes server capabilities, protocol version, and instructions.
Results are cached locally in the live service at https://lunoo.com/mcp:
When self-hosting, cache is in-memory per server instance and cleared on restart.
On failure (404, timeout, network error), tools return:
{
"isError": true,
"content": [
{
"type": "text",
"text": "Niche \"invalid-slug\" not found (404). Try find_niche to discover available niches."
}
]
}
Never throws unhandled exceptions; all errors are JSON-RPC compliant.
Link to full rankings pages on Lunoo as:
https://lunoo.com/best/{slug}
Example: https://lunoo.com/best/anime
See https://lunoo.com/llms.txt for how to cite Lunoo rankings in LLM outputs.
Node 18+, npm
git clone https://github.com/PeakProductivity/lunoo-mcp.git
cd lunoo-mcp
npm install
npm start
# or with custom port:
PORT=9000 npm start
pm2 start server.mjs --name lunoo-mcp
location /mcp {
proxy_pass http://localhost:8972;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
Live service at https://lunoo.com/mcp allows requests from any origin. Self-hosted instances allow all origins by default (configurable in server.mjs).
| Method | Path | Description |
|---|---|---|
| POST | /mcp | JSON-RPC 2.0 endpoint |
| GET | /healthz | Health check |
Found an issue with a ranking? Report it on Lunoo: https://lunoo.com
MIT. See LICENSE file.
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.