
SourceWeave Web Search
io.github.MRNAQAPublished by GitHub account MRNAQAv0.5.0Updated Oct 25, 2026
Fully local MCP server and CLI for web research
The publisher's own server: Source
Overview
Local MCP server and CLI for web research that searches the web, reads stored pages by page_id, and reads direct URLs.
- What you can do
- Search the web with optional domain and URL filters, returning compact results with stable page_id handles for later reference (search_web). Read previously stored pages by their page_id, optionally with a focus (read_pages). Read direct URLs without searching first, optionally with a focus (read_urls). Convert PDFs and other supported documents to text through MarkItDown. Run the same search-first workflow from a command-line tool without the MCP wrapper.
- When to use it
- Useful when an assistant needs to research topics on the open web and then read the sources it found, keeping page references stable across a session. Suited to local, self-hosted setups where search, crawling and caching run on the user's own machine.
- Requirements
- Python 3.12 or newer, launched with uvx from the sourceweave-web-search package. Docker with Compose support for the default managed local runtime, which starts SearXNG, Crawl4AI and Redis or Valkey automatically. Alternatively, set SOURCEWEAVE_SEARCH_SEARXNG_BASE_URL (must contain ), SOURCEWEAVE_SEARCH_CRAWL4AI_BASE_URL and SOURCEWEAVE_SEARCH_CACHE_REDIS_URL to point at services you run or host yourself. Network access is needed for web search and page fetching.
Installation
In SourceWeft
- Open SourceWeave Web Search in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
SourceWeave Web Search
[Python 3.12+] [MIT License] [MCP] [Docker managed runtime]
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
Overview
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 stablepage_idhandles.read_pages(page_ids, focus?)reads stored pages bypage_id.read_urls(urls, focus?)reads direct URLs without searching first.
It combines:
Getting started
Requirements
- Python
3.12+ - Docker with Compose support for the default managed local runtime
- Explicit
SOURCEWEAVE_SEARCH_*endpoints only if you want hosted or self-managed services
Managed local runtime
Run the server from the published package:
Or start the MCP server over HTTP:
When no endpoint env vars are set, sourceweave-search-mcp:
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.
Explicit endpoint mode
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:
Direct CLI
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.
[!TIP] The direct CLI also accepts
--searxng-base-url,--crawl4ai-base-url, and--cache-redis-urloverrides.
MCP client setup
OpenCode
Example opencode.json / opencode.jsonc / ~/.config/opencode/opencode.json:
For a shared HTTP endpoint instead:
VS Code Copilot
Example .vscode/mcp.json:
For a shared HTTP endpoint instead:
Claude Code
Example .mcp.json:
For a project-scoped shared config, place the same block in .mcp.json at the repo root.
CLI
The direct CLI is useful once the supporting services are already reachable. It gives you the same search-first workflow without the MCP wrapper.
Container deployments
The managed local runtime is for host-side uvx or uv run launches. Containerized deployments still use explicit endpoint wiring.
- Image:
ghcr.io/mrnaqa/sourceweave-web-search-mcp - Repo-local compose entrypoint:
docker compose up -d --build mcp
Example container run:
OpenWebUI
This repo also ships a generated standalone OpenWebUI tool file at artifacts/sourceweave_web_search.py.
From a repo checkout, verify it is in sync with the canonical implementation:
Paste that artifact into OpenWebUI when you want the standalone tool-file deployment path. The generated file rewrites the default endpoints to the repo-local compose service names so it matches the container deployment path out of the box.
Runtime configuration
Optional environment variables:
If the endpoint variables are unset, sourceweave-search-mcp defaults to managed local runtime.
- Canonical host endpoints remain the preferred defaults and the external-reuse probe targets.
- A SourceWeave-managed stack may use different free host ports when the canonical defaults are already occupied.
- Multiple MCP processes on the same machine share one managed stack per local runtime state directory.
Default endpoint values:
- SearXNG:
http://127.0.0.1:19080/search?format=json&q=<query> - Crawl4AI:
http://127.0.0.1:19235 - Redis:
redis://127.0.0.1:16379/2
Default preferred host ports for managed startup:
- SearXNG:
19080 - Crawl4AI:
19235 - Redis:
16379 - MCP:
8000when run directly withuvx;18000at/mcpwhen using the repo'smcpcompose service
Development
Useful checks:
Source: README.md at commit e151f5f
Tools
0Version history
1- v0.5.0LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Other Source integrations
Source
app.sourceOfficial publisher
Remote MCP endpoint from Source that gives an assistant access to marketing attribution and analytics for websites connected to Source.

ArxSource
Published by GitHub account nicolaiprodromov
Local MCP server that lets an assistant search arXiv, read papers section by section or in LaTeX, follow citations, and find a paper's code.
SourceMed
io.sourcemed
SourceMed gives an assistant a source-verified clinical evidence library: ask evidence questions, browse shelves, and read cited cards.

Spree Commerce: open-source B2B and marketplace ecommerce
Published by GitHub account spree
Spree's MCP server lets an AI assistant merchandise a Spree store's catalog, answer reporting questions and manage store setup in plain language.

PlushSource
Published by GitHub account quickman924
Local MCP server over a bundled directory of custom plush manufacturers, letting an assistant search, filter, compare and cite listings.