MCP server and CLI for web search and page reading with SearXNG, Crawl4AI, and Redis.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"io-github-mrnaqa-sourceweave-web-search": {
"command": "<see-readme>",
"args": []
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
sourceweave-search-mcp is the default local entrypoint. When explicit SOURCEWEAVE_SEARCH_* endpoint variables are absent, it discovers or starts the local Docker-backed stack automatically. If you already run the services yourself, set explicit endpoints and it will use them instead.
No automated test available for this server. Check the GitHub README for setup instructions.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in search / browser
Web and local search using Brave Search API
Production ready MCP server with real-time search, extract, map & crawl.
Browser automation with Puppeteer for web scraping and testing
mini cli search engine for your docs, knowledge bases, meeting notes, whatever. Tracking current sota approaches while being all local
MCP Security Weekly
Get CVE alerts and security updates for io.github.MRNAQA/sourceweave-web-search and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
Search-first MCP server and CLI for web research.
[!NOTE]
sourceweave-search-mcpis the default local entrypoint. When explicitSOURCEWEAVE_SEARCH_*endpoint variables are absent, it discovers or starts the local Docker-backed stack automatically. If you already run the services yourself, set explicit endpoints and it will use them instead.
Overview • Getting started • Managed local runtime • MCP client setup • CLI • Container deployments • OpenWebUI • Runtime configuration • Development
SourceWeave Web Search gives MCP clients a compact three-tool contract for web research:
search_web(query, domains?, urls?, effort?) discovers sources and returns compact results with stable page_id handles.read_pages(page_ids, focus?) reads stored pages by page_id.read_urls(urls, focus?) reads direct URLs without searching first.It combines:
| Component | Role |
|---|---|
| SearXNG | Search discovery |
| Crawl4AI | Clean HTML extraction |
| Redis or Valkey | Persisted page cache and page_id store |
| MarkItDown | Document conversion for PDFs and other supported files |
3.12+SOURCEWEAVE_SEARCH_* endpoints only if you want hosted or self-managed servicesRun the server from the published package:
uvx --from sourceweave-web-search sourceweave-search-mcp
Or start the MCP server over HTTP:
uvx --from sourceweave-web-search sourceweave-search-mcp \
--transport streamable-http \
--host 127.0.0.1 \
--port 8000
When no endpoint env vars are set, sourceweave-search-mcp:
| Mode | What happens |
|---|---|
| Managed stack found | Join the existing SourceWeave-managed stack for the current runtime state directory |
| Healthy external stack found | Reuse the canonical local ports 19080, 19235, and 16379 without ownership |
| No reusable stack | Start and supervise a Docker-backed stack on canonical or free local ports |
Managed state lives under ~/.sourceweave-local/managed-runtime. Multiple MCP processes on the same machine share one managed stack per state directory.
[!IMPORTANT] Managed runtime removes containers only when the last active SourceWeave-managed process exits. Named volumes are preserved, so cache data survives restarts. If the original owning process dies, a later process can recover the same stack from Docker project identity and persisted runtime state.
If you already run SearXNG, Crawl4AI, and Redis or Valkey yourself, or want to point at hosted services, set explicit endpoints and the MCP entrypoint will bypass managed Docker startup:
SOURCEWEAVE_SEARCH_SEARXNG_BASE_URL="http://127.0.0.1:19080/search?format=json&q=<query>" \
SOURCEWEAVE_SEARCH_CRAWL4AI_BASE_URL="http://127.0.0.1:19235" \
SOURCEWEAVE_SEARCH_CACHE_REDIS_URL="redis://127.0.0.1:16379/2" \
uvx --from sourceweave-web-search sourceweave-search-mcp
sourceweave-search runs the tool directly. Use it when the supporting services are already available or when you provide explicit endpoints. It does not start Docker.
sourceweave-search --query "python programming" --read-first-pages 2
sourceweave-search --read-url "https://p
... [View full README on GitHub](https://github.com/MRNAQA/sourceweave-web-search#readme)