RivalSearchMCP MCP Server
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.
Documentation
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 or subscriptions for core tools. The hosted server includes fair-use rate limiting.
What It Does
RivalSearchMCP is a FastMCP 3.x server exposing 9 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, nine tools ā 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 - 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_topicon both, aggregate recent news, check Reddit and Hacker News discussions, search GitHub for activity, look for academic papers, score the top sources, and flag any conflicts between them."
š¦ 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 (9 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).document_analysisā extract text from PDF, Word, plain text, and images. Images use EasyOCR (lazy-loaded; no setup). 50 MB cap.
Research Workflow (1 tool)
scientific_researchā academic paper and dataset search. 5 paper providers (OpenAlex, CrossRef, arXiv, PubMed, Europe PMC) and 4 dataset hubs (Kaggle, HuggingFace, Dataverse, Zenodo).
Plugins
RivalSearchMCP ships as an installable plugin for both Claude Code and OpenAI Codex. The plugin registers the hosted MCP server at https://RivalSearchMCP.fastmcp.app/mcp, so users do not need to clone this repo or run a local server.
The GitHub repo is the plugin marketplace. Add the marketplace once, then install either or both plugins:
rival-search-mcpregisters the hosted MCP server and exposes the 9 tools.rival-search-mcp-skillsinstalls the standalone agent skill, reference docs, and CLI helpers.
Claude Code
From a terminal:
# 1. Add this repo as a marketplace
claude plugin marketplace add damionrashford/RivalSearchMCP --scope user
# 2. Install the plugin
claude plugin install rival-search-mcp@rivalsearchmcp --scope user
# Optional: install the skill-only plugin
claude plugin install rival-search-mcp-skills@rivalsearchmcp --scope user
Inside Claude Code, the same flow is available with slash commands:
/plugin marketplace add damionrashford/RivalSearchMCP
/plugin install rival-search-mcp@rivalsearchmcp
/plugin install rival-search-mcp-skills@rivalsearchmcp
For a team/project install, use --scope project instead of --scope user, or add the marketplace to .claude/settings.json:
{
"extraKnownMarketplaces": {
"rivalsearchmcp": {
"source": {
"source": "github",
"repo": "damionrashford/RivalSearchMCP"
}
}
}
}
Then install one or both plugins with /plugin install rival-search-mcp@rivalsearchmcp and /plugin install rival-search-mcp-skills@rivalsearchmcp.
Once installed, Claude Code exposes the MCP tools as mcp__RivalSearchMCP__*. Example prompts:
Use RivalSearchMCP to search recent news about open source AI agents.
Use RivalSearchMCP to compare FastAPI and Django across web, GitHub, and academic sources.
Use RivalSearchMCP to retrieve this URL, score the source, and identify conflicting claims.
OpenAI Codex
# 1. Add this repo as a marketplace
codex plugin marketplace add damionrashford/RivalSearchMCP --ref main
# 2. Install the plugin
codex plugin add rival-search-mcp@rival-search-mcp-marketplace
# Optional: install the skill-only plugin
codex plugin add rival-search-mcp-skills@rival-search-mcp-marketplace
Once installed, start or refresh a Codex session and ask Codex to use RivalSearchMCP. Example prompts:
Use RivalSearchMCP to run web_search for current MCP server comparisons.
Use RivalSearchMCP to research this company across news, GitHub, and social sources.
Use RivalSearchMCP to find scientific papers about retrieval augmented generation.
If you already added the marketplace and want the latest plugin metadata:
codex plugin marketplace upgrade
Plugin structure
plugins/rival-search-mcp/
āāā .claude-plugin/
ā āāā plugin.json # Claude Code manifest
āāā .codex-plugin/
ā āāā plugin.json # Codex manifest
āāā .mcp.json # Registers https://RivalSearchMCP.fastmcp.app/mcp
plugins/rival-search-mcp-skills/
āāā .claude-plugin/
ā āāā plugin.json # Claude Code skill plugin manifest
āāā .codex-plugin/
ā āāā plugin.json # Codex skill plugin manifest
āāā skills/
āāā rival-search-mcp/ # Agent skill, resources, and CLI helper
Marketplace catalogs at:
.claude-plugin/marketplace.jsonā Claude Code.agents/plugins/marketplace.jsonā Codex
Plugin package:
plugins/rival-search-mcp/.claude-plugin/plugin.jsonā Claude Code manifestplugins/rival-search-mcp/.codex-plugin/plugin.jsonā Codex manifestplugins/rival-search-mcp/.mcp.jsonā hosted MCP server registrationplugins/rival-search-mcp-skills/skills/rival-search-mcp/ā standalone agent skill package
Agent Skills
RivalSearchMCP ships with a Claude Code Agent Skill ā a self-contained CLI that lets AI agents use all 9 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 9 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
ā” 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
- 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 free and open source under the MIT License. The core tools do not require paid APIs or subscriptions. The hosted server applies fair-use rate limiting; you can self-host if you need different limits.
Do I need API keys?
No. RivalSearchMCP works completely without any API keys, authentication, or configuration. Just add the URL and use all 9 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!