MCP SearXNG vs Crw

A side-by-side look at the MCP SearXNG and Crw MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

MCP SearXNG logoMCP SearXNGSearch & Data Extraction · Local subprocess (stdio)/☁️ - A Model Context Protocol Server for SearXNG67GreatAuth: no auth requiredCrw logoCrwSearch & Data Extraction · Local subprocess (stdio)fastCRW — open-source (AGPL-3.0), self-hostable Rust web crawler & search API for AI agents. Tools: scrape, crawl, map, and SearXNG-backed search. Single 6MB static binary; reproducible 1K-URL benchmarks faster than hosted alternatives. Hosted MCP at fastcrw.com/mcp (Streamable HTTP, OAuth) or self-host.72GreatAuth: oauth 2.0

Verdict: choose MCP SearXNG for search & data extraction work as a local process; choose Crw for search & data extraction as a local process. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

MCP SearXNG logoChoose MCP SearXNG when

  • You need dedicated capabilities in the Search & Data Extraction domain.
  • You prefer a local stdio subprocess transport.
  • Its auth model fits you: No auth required.
  • You have the keys it needs: SEARXNG_URL.
  • You want tools like searxng_web_search, searxng_search_suggestions, searxng_instance_info.
Explore MCP SearXNG

Crw logoChoose Crw when

  • You need dedicated capabilities in the Search & Data Extraction domain.
  • You prefer a local stdio subprocess transport.
  • Its auth model fits you: OAuth 2.0.
  • You want tools like crw_scrape, crw_crawl, crw_check_crawl_status.
Explore Crw

Feature & specification comparison

Rows where the two servers differ are marked.

SpecMCP SearXNG logoMCP SearXNGCrw logoCrw
CategorySearch & Data ExtractionSearch & Data Extraction
Quality signal67/100 · Great72/100 · Great
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
AuthNo auth requiredOAuth 2.0
PricingFreeFreemium
Required env varsSEARXNG_URLNone listed
Verified ownerCommunity listingCommunity listing
GitHub stars1,3221,172
Directory activity 4 views 0 installs 0 upvotes 5 views 0 installs 0 upvotes
Tools48

Tools & capabilities

MCP SearXNG tools 4

  • searxng_web_searchSearches the web using SearXNG and returns a list of results, each with a title, URL, and content snippet. CRITICAL: The required parameter name is exactly `query` (not `prompt`, `q`, or any other name). Calls an external SearXNG instance; availability depends on the `SEARXNG_URL` configuration. Use `pageno` to paginate results; combine `time_range` and `language` to narrow scope. When `engines` and `time_range` are both provided, every selected engine must explicitly advertise time-range support via SearXNG /config; otherwise the request is rejected before search. To read the full text of a result URL, follow up with `web_url_read`.
  • searxng_search_suggestionsReturns autocomplete suggestions from the configured SearXNG instance. Use this to refine vague or partial queries before searching.
  • searxng_instance_infoDiscovers capabilities from all reachable configured SearXNG instances via /config, including categories.common/available, engines.common/available, defaults, locales, and plugins.
  • web_url_readFetches a URL and returns readable content as markdown. Content-type aware: HTML is converted to markdown; JSON is pretty-printed; plain text, YAML, TOML, and XML are returned as fenced readable text. PDF text extraction is supported with bounded input, output, page count, time, concurrency, and memory; OCR is not supported. Binary, media, archive, and octet-stream downloads other than PDFs are intentionally rejected instead of being returned as raw bytes. When the operator configures browser solvers, mcp-searxng attempts FlareSolverr first and then Byparr only after a busy or transient-unavailable acquisition; cache hits bypass acquisition and a final busy or unavailable provider uses one uncached direct-fetch fallback. Three modes: (1) Full content — omit filtering params; use `startChar`/`maxLength` to paginate large pages. (2) Section extraction — set `section` to return content under a specific heading. (3) Headings only — set `readHeadings: true` to list all headings (mutually exclusive with other filtering params). Returns an error string if the URL is unreachable or content cannot be extracted. Use after `searxng_web_search` to read the full content of individual result URLs.

Crw tools 8

  • crw_scrapeScrape one URL to markdown, HTML, or links.
  • crw_crawlStart an async site crawl; returns a job id to poll with crw_check_crawl_status.
  • crw_check_crawl_statusPoll an async crawl job and retrieve its pages.
  • crw_mapDiscover URLs on a site via sitemap and/or a short crawl. Returns a URL list only, no page content.
  • crw_extractExtract structured JSON from URLs via a prompt and/or JSON schema. Async job — poll crw_check_extract_status with the returned id. Needs an LLM.
  • crw_check_extract_statusPoll an extract job; returns status and, when complete, a per-URL results array.
  • crw_cancel_extractRequest cancellation of an extract job. Returns the canonical status; cancelling remains non-terminal until the claimed URL settles.
  • crw_parse_fileParse a local PDF (base64 in contentBase64) to markdown. No OCR: scanned PDFs return empty markdown with a warning.

Ready-to-paste client configs

Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.

MCP SearXNG

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "ihor-sokoliuk-mcp-searxng": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-searxng"
      ],
      "env": {
        "SEARXNG_URL": "YOUR_SEARXNG_URL_HERE"
      }
    }
  }
}

Crw

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "us-crw": {
      "command": "npx",
      "args": [
        "-y",
        "crw-mcp@latest"
      ]
    }
  }
}

Frequently asked questions

MCP SearXNG is categorized under Search & Data Extraction and uses a local stdio subprocess. Crw belongs to Search & Data Extraction and uses a local stdio subprocess. Pick MCP SearXNG for search & data extraction work and Crw for search & data extraction.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

MCP SearXNG is listed as free. Auth: no auth required. Crw is listed as freemium — a free tier with paid plans. Auth: oauth 2.0. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add ihor-sokoliuk-mcp-searxng and us-crw as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, MCP SearXNG has a quality signal of 67/100 (Great) with 4 views, 0 installs and 1,322 GitHub stars. Crw has 72/100 (Great) with 5 views, 0 installs and 1,172 GitHub stars.