RivalSearchMCP
You have access to 9 research tools via the CLI at scripts/cli.py. Run all commands with uv run scripts/cli.py.
Every tool returns deterministic, auditable output. There is no in-server LLM — you're the one doing the synthesis.
How to invoke tools
uv run scripts/cli.py call-tool <tool_name> --flag value
Available tools
web_search — concurrent search across DuckDuckGo, Bing, Yahoo, Mojeek, Wikipedia. Use for general web queries.
social_search — Reddit, Hacker News, Stack Overflow, Dev.to, Medium, Product Hunt, Bluesky, Lobste.rs, Lemmy. Use for community discussions.
news_aggregation — Google News, Bing News, The Guardian, GDELT, DuckDuckGo News. Use for current events. Accepts --time-range day|week|month|anytime.
github_search — search public GitHub repos. Use for code, libraries, projects.
map_website — crawl a site in research / docs / map mode. Use to explore site structure or documentation.
content_operations — one tool, six ops (retrieve, stream, analyze, extract, score, find_conflicts). Use to get full page content, rate source quality, or surface disagreements between sources.
document_analysis — extract text from PDFs, Word docs, images (image OCR via EasyOCR). Use for document processing.
research_topic — end-to-end research workflow for a topic, combining search, content retrieval, and analysis.
scientific_research — OpenAlex, CrossRef, arXiv, PubMed, Europe PMC (papers) + Kaggle, HuggingFace, Dataverse, Zenodo (datasets).
When to chain tools
- Found a URL from search? →
content_operations --operation retrieve --url <url>
- Want to assess source trust before using results? →
content_operations --operation score --urls '[…]'
- Two sources seem to disagree? →
content_operations --operation find_conflicts --urls '[…]'
- Found a PDF link? →
document_analysis --url <url>
- Need to explore a website? →
map_website --url <url> --mode docs
- Need a unified entity profile in one shot? →
research_topic --mode entity --topic "OpenAI"
Tool reference
For full flags, types, and defaults for each tool, read:
- resources/search.md — web_search, social_search, news_aggregation, github_search, map_website
- resources/content.md — content_operations, document_analysis
- resources/research.md — research_topic, scientific_research
Output
All tools return structured text to stdout. Errors go to stderr. Exit codes: 0 success, 1 tool error, 2 connection failed.
1---2name: rival-search-mcp3description: Deterministic deep research via RivalSearchMCP. 9 tools: 5-engine web search (DuckDuckGo/Bing/Yahoo/Mojeek/Wikipedia), 9-platform social search (Reddit/HN/StackOverflow/Dev.to/Medium/ProductHunt/Bluesky/Lobste.rs/Lemmy), 5-source news (Google/Bing/Guardian/GDELT/DDG), 5 academic DBs (OpenAlex/CrossRef/arXiv/PubMed/EuropePMC), GitHub search, website mapping, content extraction with OCR, and research topic synthesis. No API keys required. Use when the user needs web research, competitive analysis, content discovery, or academic paper search.4---5
6# RivalSearchMCP
7
8You have access to 9 research tools via the CLI at `scripts/cli.py`. Run all commands with `uv run scripts/cli.py`.
9
10Every tool returns deterministic, auditable output. There is no in-server LLM — you're the one doing the synthesis.
11
12## How to invoke tools
13
14```bash
15uv run scripts/cli.py call-tool <tool_name> --flag value
16```
17
18## Available tools
19
20- `web_search` — concurrent search across DuckDuckGo, Bing, Yahoo, Mojeek, Wikipedia. Use for general web queries.
21- `social_search` — Reddit, Hacker News, Stack Overflow, Dev.to, Medium, Product Hunt, Bluesky, Lobste.rs, Lemmy. Use for community discussions.
22- `news_aggregation` — Google News, Bing News, The Guardian, GDELT, DuckDuckGo News. Use for current events. Accepts `--time-range day|week|month|anytime`.
23- `github_search` — search public GitHub repos. Use for code, libraries, projects.
24- `map_website` — crawl a site in `research` / `docs` / `map` mode. Use to explore site structure or documentation.
25- `content_operations` — one tool, six ops (`retrieve`, `stream`, `analyze`, `extract`, `score`, `find_conflicts`). Use to get full page content, rate source quality, or surface disagreements between sources.
26- `document_analysis` — extract text from PDFs, Word docs, images (image OCR via EasyOCR). Use for document processing.
27- `research_topic` — end-to-end research workflow for a topic, combining search, content retrieval, and analysis.
28- `scientific_research` — OpenAlex, CrossRef, arXiv, PubMed, Europe PMC (papers) + Kaggle, HuggingFace, Dataverse, Zenodo (datasets).
29
30## When to chain tools
31
32- Found a URL from search? → `content_operations --operation retrieve --url <url>`
33- Want to assess source trust before using results? → `content_operations --operation score --urls '[…]'`
34- Two sources seem to disagree? → `content_operations --operation find_conflicts --urls '[…]'`
35- Found a PDF link? → `document_analysis --url <url>`
36- Need to explore a website? → `map_website --url <url> --mode docs`
37- Need a unified entity profile in one shot? → `research_topic --mode entity --topic "OpenAI"`
38
39## Tool reference
40
41For full flags, types, and defaults for each tool, read:
42
43- [resources/search.md](resources/search.md) — web_search, social_search, news_aggregation, github_search, map_website
44- [resources/content.md](resources/content.md) — content_operations, document_analysis
45- [resources/research.md](resources/research.md) — research_topic, scientific_research
46
47## Output
48
49All tools return structured text to stdout. Errors go to stderr. Exit codes: 0 success, 1 tool error, 2 connection failed.