RivalSearchMCP
Advanced MCP server for comprehensive web research, content discovery, and trends analysis. Features multi-engine search, intelligent content extraction, website traversal, and real-time data streaming.
RivalSearchMCP
Deterministic research MCP server ā web + social + academic + news + code + docs, all in one place. No API keys, no in-server LLM, structured outputs for agent chaining.
š 100% Free & Open Source ā No API keys, no subscriptions, no rate limits. Just add one URL and go.
What It Does
RivalSearchMCP is a FastMCP 3.x server exposing 10 specialized tools that search, fetch, score, and compare information across:
- 5 web search engines (DuckDuckGo, Bing, Yahoo, Mojeek, Wikipedia) ā concurrent, deduplicated, with TLS-fingerprint-safe fetches via Scrapling
- 9 social platforms (Reddit, Hacker News, Stack Overflow, Dev.to, Medium, Product Hunt, Bluesky, Lobste.rs, Lemmy) ā no authentication
- 5 news sources (Google News, Bing News, The Guardian, GDELT, DuckDuckGo News) ā with time-range filtering
- 5 academic databases (OpenAlex, CrossRef, arXiv, PubMed, Europe PMC) + 4 dataset hubs (Kaggle, HuggingFace, Dataverse, Zenodo)
- GitHub repositories with built-in rate limiting
- Documents (PDF, Word, text, images) with OCR for images
- Website traversal with research, docs, and mapping modes
No LLM runs inside the server. Every tool returns deterministic, auditable output ā the caller's model does the synthesis. Tools that benefit from structured output (content_operations score, find_conflicts) return ToolResult with both a human-readable markdown rendering and a parseable structuredContent dict, so agents can chain tool outputs without regex-parsing prose.
ā Why It's Useful
- One connection, ten capabilities ā no need to wire up separate MCP servers per source
- Auto-quality scoring ā every result carries a tier/freshness/corroboration/citation score (0-100) and every multi-result response carries an aggregate confidence signal
- Conflict detection ā
content_operations find_conflictssurfaces numeric, date, and polarity disagreements across sources as a first-class signal instead of averaging them away - Persistent research workspaces ā
research_memorylets an agent iteratively build up a session across calls with findings, notes, and dedup by URL - Entity profiles ā
research_topic(mode="entity")fans out to 8 sources in parallel and returns a unified report with confidence - Production hygiene ā per-tool timeouts, rate limiting (100 req/min/session), response-size caps, error masking, middleware-level observability
š” Example Query
Once connected, try asking your AI assistant:
"Use RivalSearchMCP to research FastAPI vs Django. Run
research_topicin topic mode on both, aggregate the news, check Reddit and Hacker News for recent discussions, search GitHub for activity, and look for academic papers. Score the top sources, find any conflicts between them, and save the findings to a named research session."
š¦ How to Get Started
RivalSearchMCP runs as a remote MCP server hosted on FastMCP. Just follow the steps below to install, and go.
Connect to Live Server
Or add this configuration manually:
For Cursor:
{
"mcpServers": {
"RivalSearchMCP": {
"url": "https://RivalSearchMCP.fastmcp.app/mcp"
}
}
}
For Claude Desktop:
- Go to Settings ā Add Remote Server
- Enter URL:
https://RivalSearchMCP.fastmcp.app/mcp
For VS Code:
- Add the above JSON to your
.vscode/mcp.jsonfile
For Claude Code:
- Use the built-in MCP management:
claude mcp add RivalSearchMCP --url https://RivalSearchMCP.fastmcp.app/mcp
Local Installation with FastMCP CLI
Prerequisites:
# Install UV (modern Python package manager)
curl -LsSf https://astral.sh/uv/install.sh | sh
# Install FastMCP CLI (optional but recommended)
uv tool install fastmcp
Method 1: One-Command Install (Easiest)
# Clone repository
git clone https://github.com/damionrashford/RivalSearchMCP.git
cd RivalSearchMCP
# Install directly to your MCP client:
fastmcp install claude-desktop server.py # For Claude Desktop
fastmcp install cursor server.py # For Cursor
fastmcp install claude-code server.py # For Claude Code
Method 2: Quick Run (No Installation)
git clone https://github.com/damionrashford/RivalSearchMCP.git
cd RivalSearchMCP
# Run directly with FastMCP CLI
fastmcp run server.py # Auto-detects entrypoint, uses STDIO
# Or run in HTTP mode for testing
fastmcp run server.py --transport http --port 8000
Method 3: Development with Inspector
# Run with MCP Inspector for testing
fastmcp dev server.py
Method 4: Manual UV Setup
git clone https://github.com/damionrashford/RivalSearchMCP.git
cd RivalSearchMCP
uv sync
# Add to Claude Desktop or Cursor config:
{
"RivalSearchMCP": {
"command": "uv",
"args": [
"--directory",
"/full/path/to/RivalSearchMCP",
"run",
"python",
"server.py"
]
}
}
š Available Tools (10 Total)
Every tool carries ToolAnnotations (readOnlyHint, openWorldHint, destructiveHint, idempotentHint) so MCP clients like Claude and ChatGPT can skip confirmation prompts where safe. Every tool has a timeout= ceiling so a hung source can't stall the client.
Search & Discovery (5 tools)
web_searchā concurrent multi-engine search across DuckDuckGo, Bing, Yahoo, Mojeek, and Wikipedia. Scrapling-backed TLS fingerprinting bypasses Cloudflare/Akamai fronting. Per-engine failures don't block the others.social_searchā 9 platforms: Reddit, Hacker News, Stack Overflow, Dev.to, Medium, Product Hunt, Bluesky, Lobste.rs, Lemmy. No authentication.news_aggregationā 5 sources: Google News, Bing News, The Guardian, GDELT, DuckDuckGo News. Acceptstime_range(day/week/month/anytime).github_searchā repository search with built-in rate limiting (60/hr unauthenticated), optional README inclusion.map_websiteā traverse a site inresearch,docs, ormapmode; returns per-page quality scores and an aggregate confidence signal.
Content Analysis (3 tools)
content_operationsā one tool, six operations:retrieve,stream,analyze,extract,score,find_conflicts.scorerates URLs on tier / freshness / corroboration / citations (0-100) and returns both markdown + structured JSON.find_conflictscompares 2-10 sources for numeric / date / polarity disagreements with confidence weights.
research_topicā two modes:topic(search + fetch + relevance-ranked key findings) andentity(unified cross-source profile of a named entity, fanning out to web / news / GitHub / social / academic in parallel). Optionalsession_idauto-saves findings to research memory.document_analysisā extract text from PDF, Word, plain text, and images. Images use EasyOCR (lazy-loaded; no setup). 50 MB cap.
Research Workflow (2 tools)
scientific_researchā academic paper and dataset search. 5 paper providers (OpenAlex, CrossRef, arXiv, PubMed, Europe PMC) and 4 dataset hubs (Kaggle, HuggingFace, Dataverse, Zenodo).research_memoryā persistent research workspaces withstart/add/get/list/delete. Sessions survive reconnects; withRESEARCH_MEMORY_DIRset, they also survive server restarts. Dedupes findings by URL automatically.
Agent Skills
RivalSearchMCP ships with a Claude Code Agent Skill ā a self-contained CLI that lets AI agents use all 10 tools without MCP configuration.
Use as a Claude Code Skill
Copy the skill into your Claude Code skills directory:
# Project-level (available when working in this repo)
cp -r skills/rival-search-mcp .claude/skills/
# Global (available in all projects)
cp -r skills/rival-search-mcp ~/.claude/skills/
Claude will automatically discover the skill and use the CLI when you ask for web research, competitor analysis, or content discovery.
Use the CLI directly
The CLI is self-contained with inline dependencies ā just run with uv:
uv run skills/rival-search-mcp/scripts/cli.py call-tool web_search --query "your query"
uv run skills/rival-search-mcp/scripts/cli.py call-tool social_search --query "AI agents" --platforms reddit
uv run skills/rival-search-mcp/scripts/cli.py call-tool news_aggregation --query "tech news" --time-range week
uv run skills/rival-search-mcp/scripts/cli.py list-tools
Skill structure
skills/rival-search-mcp/
āāā SKILL.md # Agent instructions (auto-loaded by Claude Code)
āāā scripts/
ā āāā cli.py # Standalone CLI with all 10 tools
āāā resources/
āāā search.md # web_search, social_search, news_aggregation, github_search, map_website
āāā content.md # content_operations, document_analysis
āāā research.md # research_topic, scientific_research, research_memory
ā” Key Features
- Multi-Engine Search: 5 search engines (DuckDuckGo, Bing, Yahoo, Mojeek, Wikipedia) with TLS-fingerprint-safe fetches via Scrapling
- 9-Platform Social Research: Reddit, Hacker News, Stack Overflow, Dev.to, Medium, Product Hunt, Bluesky, Lobste.rs, Lemmy
- 5-Source News Aggregation: Google News, Bing News, The Guardian, GDELT, DuckDuckGo News ā with time-range filtering
- 5 Academic Databases + 4 Dataset Hubs: OpenAlex, CrossRef, arXiv, PubMed, Europe PMC + Kaggle, HuggingFace, Dataverse, Zenodo
- Deterministic Output: no LLM runs inside the server; callers' models do the synthesis
- Structured
ToolResult:content_operations scoreandfind_conflictsreturn both markdown (for humans) and parseable JSON (for agent chaining) - Auto-Quality Scoring: every multi-result tool attaches per-item quality (0-100) and an aggregate confidence signal
- Conflict Detection: finds numeric/date/polarity disagreements across sources with confidence weights
- Persistent Research Memory: named workspaces with auto-dedup, survive server restarts when
RESEARCH_MEMORY_DIRis set - Document Analysis: PDF / Word / text / images (images via EasyOCR, auto-downloaded)
- Production Hygiene: per-tool timeouts, sliding-window rate limiting, response-size caps, error masking, FastMCP 3.x middleware stack
- Zero Authentication: every tool works without API keys or setup.
š¬ FAQ
Is RivalSearchMCP really free?
Yes! RivalSearchMCP is 100% free and open source under the MIT License. There are no API costs, no subscriptions, and no rate limits. You can use the hosted server or run it locally.
Do I need API keys?
No. RivalSearchMCP works completely without any API keys, authentication, or configuration. Just add the URL and use all 10 tools immediately.
What MCP clients are supported?
RivalSearchMCP works with any MCP-compatible client including Claude Desktop, Cursor, VS Code, and Claude Code.
Can I self-host this?
Yes. Clone the repo, run uv sync --extra dev, then fastmcp run (stdio) or fastmcp run --transport http --host 0.0.0.0 --port 8000 (HTTP). Full instructions are in the Getting Started section above.
Why is there no in-server LLM / research agent?
Deliberately. The server returns deterministic, auditable output so the caller's model can reason over it ā a consistent machine can't hallucinate the way a synthesizing one can. If you want an autonomous agent loop, run it in your client.
š¤ Contributing
Contributions are welcome! Whether it's fixing bugs, adding new research tools, or improving documentation, your help is appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
š” Issues, Feedback & Support
Found a bug, have a feature request, or want to share how you're using RivalSearchMCP? We'd love to hear from you!
- Report a bug ā Help us improve by reporting issues
- Request a feature ā Suggest new capabilities you'd find useful
- Share your use case ā Tell us how you're using RivalSearchMCP
š Open an Issue
Attribution & License
This is an open source project under the MIT License. If you use RivalSearchMCP, please credit it by linking back to RivalSearchMCP. See LICENSE file for details.
ā Like this project? Give it a star!
If you find RivalSearchMCP useful, please consider giving it a star. It helps others discover the project and motivates continued development!
Related Servers
Search MCP Server
A versatile search server supporting multiple search engines, including Brave, Metaso, and Bocha.
Contextual MCP Server
A server for Retrieval-Augmented Generation (RAG) using the Contextual AI platform.
Discourse MCP Server
Perform search operations on Discourse forums.
Northwestern Digital Collections API MCP
Agent integration with the Northwestern University Libraries Digital Collections API
Financial AI Agent
An AI agent providing unified access to financial market data and news articles.
arXiv LaTeX
Fetches and processes arXiv papers using LaTeX source for accurate equation handling.
Local RAG
Performs a local RAG search on your query using live web search for context extraction.
microCMS
A search server for the microCMS headless CMS, compatible with the Model Context Protocol (MCP).
Hatch MCP Server
Find emails, phone numbers, company data, and LinkedIn URLs using the Hatch API.
MTG MCP Servers
Magic: The Gathering (MTG) servers for deck management and card search using the MCP protocol.