cross-validated-search

cross-validated-search

Universal Search-First Knowledge Acquisition Plugin for LLMs. Enables real-time web search and deep page browsing via MCP or CLI. Zero-cost, privacy-first, supports DuckDuckGo, Bing, Google, Brave, Wikipedia, Arxiv, YouTube, Reddit and more.

Category
Visit Server

README

<div align="center"> <h1>Zero-API-Key Web Search</h1> <p><strong>Free web search, browsing & claim verification for AI agents.</strong></p> <p><em>No API keys. No accounts. No limits. 100% free.</em></p>

PyPI Python MCP Tests License </div>


What is this?

A single pip install gives your AI agent live web search, full-page reading, and evidence-aware claim verification — all without any API key, account, or paid service.

  • Search: Live results from DuckDuckGo (free) + optional SearXNG (self-hosted, free)
  • Browse: Extract clean text from any URL, stripping boilerplate automatically
  • Verify: Classify claims as supported / contested / likely false with evidence scores
  • Report: Generate citation-ready evidence reports with rationale and next steps

Quick start

pip install zero-api-key-web-search

# Search the web
zero-search "Python 3.13 release" --json

# Read a page
zero-browse "https://docs.python.org/3/whatsnew/" --json

# Verify a claim
zero-verify "Python 3.13 is the latest stable release" --deep --json

# Full evidence report
zero-report "Python 3.13 stable release" \
  --claim "Python 3.13 is the latest stable release" --deep --json

Legacy CLI aliases (search-web, browse-page, verify-claim, evidence-report) also work.

Why this over a plain search wrapper?

Feature Plain search Zero-API-Key Web Search
Live search results
News / images / videos / books
Region & time filtering
Full-page text extraction
Claim verification with evidence scores
Supporting vs. conflicting evidence
Citation-ready evidence reports
Dual-provider cross-validation
API key required Often Never
Cost Sometimes Free

MCP server

Works with Claude Code, Cursor, Copilot, and any MCP-compatible agent:

{
  "mcpServers": {
    "zero-api-key-web-search": {
      "command": "zero-mcp"
    }
  }
}

Four tools exposed: search_web, browse_page, verify_claim, evidence_report.

Platform support

Platform Status Entry point
CLI Ready zero-search, zero-browse, zero-verify, zero-report
MCP Ready zero-mcp
Claude Code Ready .claude/skills/zero-api-key-web-search/SKILL.md
Gemini Ready GEMINI.md + .gemini/SKILL.md
Cursor Ready .cursor/rules/zero-api-key-web-search.md
Copilot Ready .github/copilot/instructions.md
Codex Ready .codex/SKILL.md
Continue Ready .continue/skills/zero-api-key-web-search/SKILL.md
Manus Ready Root SKILL.md + docs/manus.md
Kiro Ready .kiro/steering/zero-api-key-web-search.md
OpenClaw Ready zero_api_key_web_search/skills/SKILL.md

How verification works

zero-verify uses the evidence-aware heuristic v3 model:

  1. Search for the claim across available providers
  2. Score each source on keyword overlap, source quality, freshness
  3. Classify as supporting, conflicting, or neutral
  4. Optionally fetch top pages for deeper page-aware analysis
  5. Render a verdict with confidence and evidence breakdown
Verdict Meaning
supported Strong evidence, low conflict
likely_supported Leans positive, not decisive
contested Support and conflict both meaningful
likely_false Conflict strong, support weak
insufficient_evidence Too weak for any firmer verdict

This is a heuristic evidence classifier, not a proof engine. See docs/trust-model.md for details and limitations.

Free dual-provider setup

Default install uses DuckDuckGo. For stronger cross-validated evidence, add a free self-hosted SearXNG:

./scripts/start-searxng.sh
export ZERO_SEARCH_SEARXNG_URL="http://127.0.0.1:8080"
./scripts/validate-free-path.sh

Or with Docker Compose:

cp .env.searxng.example .env
docker compose -f docker-compose.searxng.yml up -d

Full guide: docs/searxng-self-hosted.md.

Evidence report example

{
  "verdict": "contested",
  "confidence": "MEDIUM",
  "executive_summary": "Evidence is split...",
  "verdict_rationale": ["Source A supports...", "Source B contradicts..."],
  "coverage_warnings": ["Single-provider evidence path."],
  "source_digest": [
    {"title": "...", "url": "...", "classification": "supporting", "evidence_strength": 3}
  ],
  "next_steps": ["Add a second provider for cross-validation."]
}

Architecture

zero_api_key_web_search/
  core.py              # UltimateSearcher — search, verify, report engine
  browse_page.py       # Readability-style page text extraction
  mcp_server.py        # MCP server (4 tools)
  transport.py         # SSL/TLS helpers
  search_web.py        # CLI: zero-search
  browse_page.py       # CLI: zero-browse
  verify_claim.py      # CLI: zero-verify
  evidence_report.py   # CLI: zero-report
  providers/
    base.py            # SearchProvider protocol (sync + async)
    ddgs.py            # DuckDuckGo provider
    searxng.py         # SearXNG provider
  skills/
    SKILL.md           # Bundled OpenClaw skill

Key engineering features:

  • Circuit breaker: Trips after 3 consecutive provider failures, auto-resets after 60s
  • Async support: asearch() for concurrent provider calls via asyncio.gather
  • Structured logging: Configurable logging at search/verify/report entry points
  • Readability heuristic: Semantic HTML5 + ARIA roles + text density scoring
  • Baseline comparison: Majority-vote and keyword-count baselines in reports
  • Sub-claim decomposition: Targeted sub-queries for independent evidence gathering

Installation

pip install zero-api-key-web-search

Python 3.10+ required. No API keys, no accounts, no configuration needed.

Development

pip install -e ".[dev]"
python -m pytest tests/ -x           # 86 tests
ruff check zero_api_key_web_search/ tests/
pyright zero_api_key_web_search/     # 0 errors
coverage report --fail-under=80       # 85% coverage

Verification for ecosystem reviewers

  1. zero-report "Python 3.13 stable release" --claim "Python 3.13 is the latest stable release" --deep --json
  2. docs/ecosystem-readiness.md
  3. docs/gemini-submission-checklist.md
  4. docs/trust-model.md

License

MIT License.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured