DS

dasdigitalemomentum/searxncrawl

Browser automation
185 stars 23 forks Quality 84 Trend 37MIT

Website · Quick start · Docs · Developers · Changelog

Overview

Website · Quick start · Docs · Developers · Changelog

README

Website · Quick start · Docs · Developers · Changelog

A real MCP client session (fastmcp) against uvx searxncrawl 0.31.0 and a local SearXNG: search, then crawl the top hit into Markdown. Output is shortened for display. Reproduce it with docs/assets/demo/.

searxNcrawl is an open-source MCP server and CLI toolkit that gives AI agents web search and clean Markdown crawling, built on Crawl4AI. Search queries the configured providers, SearXNG and/or You.com, in parallel and merges the results. It runs on your own hardware, needs no API key with SearXNG and succeeds searxng-mcp.

SEARXNG_URL=http://your-searxng:8888 uvx searxncrawl

Quick start

Connect your MCP client directly to searxNcrawl over STDIO or its HTTP endpoint.

You need uv and, for the search tool, at least one search provider: a SearXNG instance with JSON output enabled and/or a You.com API key (YDC_API_KEY). No SearXNG yet? Start one with Docker. Crawling works without either.

Add it to your agent

One step for every agent on your machine

uvx searxncrawl setup

setup detects Claude Code, Codex, Gemini CLI, Cursor, VS Code and Claude Desktop, asks for your SearXNG URL and, optionally, a You.com API key (hidden input, never printed), shows each config change and applies it only after you confirm. Every file it touches is backed up first, and setup --remove undoes it. More options are in MCP server.

Or per agent

The buttons and commands below assume SearXNG at http://localhost:8888; change SEARXNG_URL if yours runs elsewhere, or add YDC_API_KEY for You.com.

Claude Code

claude mcp add searxncrawl --env SEARXNG_URL=http://localhost:8888 -- uvx searxncrawl

Codex

codex mcp add searxncrawl --env SEARXNG_URL=http://localhost:8888 -- uvx searxncrawl

VS Code

code --add-mcp '{"name":"searxncrawl","command":"uvx","args":["searxncrawl"],"env":{"SEARXNG_URL":"http://localhost:8888"}}'

Cursor (~/.cursor/mcp.json), Claude Desktop and other clients that use the mcpServers format

{
  "mcpServers": {
    "searxncrawl": {
      "command": "uvx",
      "args": ["searxncrawl"],
      "env": { "SEARXNG_URL": "http://localhost:8888" }
    }
  }
}

The first crawl downloads Playwright’s Chromium once (about 550 MB). For Docker, HTTP transport and other setups see Installation and MCP server.

  • Claude Desktop bundle: download searxncrawl-.mcpb from GitHub Releases and open it in Claude Desktop.
  • Smithery users: use the direct installation above or the native bundle; see the Smithery transition.

Ask your agent

Search for the Crawl4AI quick start, crawl the official page and summarise
how to run a first crawl.

Your agent calls search, picks a result and calls crawl. It gets back clean Markdown instead of raw HTML.

Use the terminal

uvx --from searxncrawl crawl https://modelcontextprotocol.io/docs/getting-started/intro
SEARXNG_URL=http://localhost:8888 uvx --from searxncrawl search "model context protocol" --max-results 5
SEARXNG_URL=http://localhost:8888 uvx --from searxncrawl search "Python documentation" --max-results 3 --include-content

Choose how to connect

Mode Setup Hosting
Native MCP over STDIO (default) uvx searxncrawl or uvx searxncrawl setup Runs alongside your MCP client
Native MCP over HTTP uvx searxncrawl --transport http or Docker Compose You operate the server; see HTTP configuration
Arcade gateway (optional) Separate Arcade adapter Requires your own Playwright-compatible worker host and authenticated connection to Arcade
  • Standard installations and releases do not require Arcade.
  • For shared HTTP access, use an authenticated TLS proxy. Enable Host/Origin checks with FASTMCP_HTTP_HOST_ORIGIN_PROTECTION=true before startup; allowlists alone do not enable checks or authenticate callers.

How it works

flowchart LR
    agent["AI agentClaude Code · CodexCursor · VS Code"]
    server["searxNcrawlMCP server"]
    searxng["SearXNG (your instance)and/or You.com API"]
    browser["Crawl4AI +Playwright Chromium"]
    results["Merged resultsattributed per provider"]
    markdown["DeduplicatedMarkdown or JSON"]

    agent -- "MCP · STDIO or HTTP" --> server
    server -- "search" --> searxng --> results
    server -- "crawl · crawl_site" --> browser --> markdown

Results return to the agent as the tool response. Search and crawling are also available as the search and crawl CLI commands, crawling also as a Python API.

searxNcrawl exposes three MCP tools:

Tool What it does
search Queries the configured providers (SearXNG, You.com) in parallel and returns one merged, deduplicated list with the source of each result. Filters: language, time range, safe search, paging; categories and engines for SearXNG. With include_content, also returns the Markdown of each result page in the same call.
crawl Renders one or many URLs in Chromium and returns Markdown or JSON with metadata and references.
crawl_site Follows links from a seed URL within depth, page and timeout limits, tuned for documentation sites.

Both crawl tools drop sections that repeat within a page’s Markdown (dedup_mode="exact"), can strip links for a smaller context (remove_links), and accept a Playwright storage_state for pages behind a login. Full parameters are in the MCP tools reference.

Private SearXNG instances

  • SEARXNG_EXTRA_HEADERS adds headers to SearXNG requests in both CLI and MCP, including access-gateway credentials and a custom User-Agent.
  • Values such as @~/.config/searxncrawl/cf_secret load secrets from files; absolute and ~/ paths are supported.
  • Invalid header configuration disables SearXNG with a value-free warning; a configured You.com provider remains available.
  • Setup and JSON examples: SearXNG configuration.

Why searxNcrawl

Hosted search and crawl APIs are quick to start with, but every call goes through someone else’s service and is billed per request or credit. searxNcrawl runs on your own machine or server.

searxNcrawl Firecrawl Tavily Exa
Search and crawl run on your hardware ✅ Python package or Docker; You.com queries go to You.com ✅ Self-host stack (Docker Compose), or hosted API ❌ Hosted API ❌ Hosted API
API key Not needed with SearXNG; You.com needs one Hosted API: needed. Self-hosted: not by default Needed Optional, anonymous use is rate-limited
Cost per call None with SearXNG; You.com per its plans Hosted: free monthly credits, then paid credits. Self-hosted: none Free monthly credits, then paid credits Free monthly credits, then paid per request
Search backend Your SearXNG (the engines you enable) and/or You.com Hosted: Firecrawl’s search. Self-hosted: SearXNG if configured, otherwise DuckDuckGo Tavily’s search API Exa’s search index
Licence MIT AGPL-3.0 MCP server MIT, API proprietary MCP server MIT, API proprietary

Self-hosted Firecrawl can search through SearXNG too; it runs as a multi-service stack (API, Playwright service, Redis, RabbitMQ, PostgreSQL and more), while searxNcrawl is a single Python process with Chromium, plus your SearXNG instance if you use one.

Where the others are a better fit: if you do not want to run a search provider and a browser yourself, a hosted API is less work, and Exa’s semantic search index or Firecrawl’s extraction features go beyond what searxNcrawl does today. Comparison based on each project’s public repository and documentation in October 2026; corrections are welcome. Firecrawl is a trademark of its owner; searxNcrawl is not affiliated with it.

FAQ

Documentation

Guide Contents
Installation uvx, Docker Compose, pip, uv, search providers and environment variables
MCP server STDIO and HTTP transports, client configuration, Host and CORS guards
MCP tools Parameters for crawl, crawl_site and search
CLI crawl, search and crawl-capture
Python API crawl_page, crawl_site and crawler configuration overrides
Output formats Markdown and JSON structure, CrawledDocument
Session capture Authenticated crawling with a saved browser session
MCP Registry server.json and the publish steps
Arcade adapter (optional) Shared authentication and routing through Arcade; separate deployment
Architecture Modules and features for contributors

Contributing

Bug reports, feature ideas and pull requests are welcome. Read the contributing guide and open an issue first for larger changes. Coding agents find project conventions in AGENTS.md. Report vulnerabilities privately as described in the security policy.

License

MIT — © 2026 DDM – Das Digitale Momentum GmbH & Co KG


Maintained by DDM – Das Digitale Momentum GmbH & Co. KG, Much, Germany · www.searxncrawl.io · All our open-source projects

View the full README on GitHub

Install

uvx searxncrawl
New to MCP? Start with the mcpskill.org guide →

Configuration

{ "mcpServers": { "searxncrawl": { "command": "uvx", "args": ["searxncrawl"], "env": { "SEARXNG_URL": "http://localhost:8888" } } } }