{{ config.title }}

# Daedra

Self-contained web search MCP server. 9 backends with automatic fallback. Readability HTML extraction, PDF text extraction, circuit breakers. Works from any IP. Pure Rust.

$ cargo install daedra

### Multi-Backend Fallback

9 backends tried in order: Serper → Tavily → Bing → Wikipedia → StackOverflow → GitHub → Wiby → DDG Instant → DuckDuckGo HTML. First success wins.

### Search Reliability

Per-backend circuit breakers and `governor` keyed rate limits. Transient errors get classified exponential-backoff retry; CAPTCHA and rate limits fail fast.

### Content Extraction

`visit_page`: HTML via `dom_smoothie` Readability, PDF via `infer` + `pdf-extract`. Responses classified as Html, Pdf, or Binary before Markdown conversion.

### Works From Any IP

Wikipedia, StackExchange, GitHub, Wiby, and DDG Instant always work — even from datacenter/VPS IPs where Google, Bing, and DDG HTML are CAPTCHA-blocked.

### MCP Server

Drop-in MCP for Claude, Cursor, pawan, or any MCP client. STDIO and SSE transports. Tools: `web_search`, `visit_page`, `crawl_site` (`search_duckduckgo` alias).

### Pure Rust

No Docker. No Python. Single binary. Async I/O, connection pooling, moka response caching. Daedra IS the search infrastructure.

## Search Backends

Backend | Type | API Key | Works from VPS?
--- | --- | --- | ---
Serper.dev | Google JSON API | `SERPER_API_KEY` | Yes
Tavily | AI-optimized API | `TAVILY_API_KEY` | Yes
Bing | HTML scraping | None | Sometimes
Wikipedia | OpenSearch API | None | Always
StackExchange | Public API | None | Always
GitHub | Public API | None / `GITHUB_TOKEN` | Always
Wiby | Indie web search | None | Always
DDG Instant | Knowledge graph API | None | Always
DuckDuckGo | HTML scraping | None | Rarely

## Quick Start

### MCP Server

    {
      "mcpServers": {
        "daedra": {
          "command": "daedra",
          "args": ["serve", "--transport", "stdio", "--quiet"]
        }
      }
    }

### CLI

    daedra search "rust async runtime" --num-results 5
    daedra fetch https://rust-lang.org
    daedra check