Skip to main content
Glama
MRNAQA

io.github.MRNAQA/sourceweave-web-search

by MRNAQA

SourceWeave Web Search

Python 3.12+ MIT License MCP Docker managed runtime

Search-first MCP-Server und CLI für die Web-Recherche.

[!NOTE] sourceweave-search-mcp ist der standardmäßige lokale Einstiegspunkt. Wenn explizite SOURCEWEAVE_SEARCH_*-Endpunktvariablen nicht gesetzt sind, erkennt oder startet es den lokalen Docker-gestützten Stack automatisch. Wenn Sie die Dienste bereits selbst betreiben, setzen Sie explizite Endpunkte; dann verwendet es diese stattdessen.

ÜbersichtErste SchritteVerwaltete lokale LaufzeitMCP-Clients einrichtenCLIContainer-DeploymentsOpenWebUILaufzeitkonfigurationEntwicklung

Übersicht

SourceWeave Web Search stellt MCP-Clients einen kompakten Drei-Tool-Kontrakt für die Web-Recherche bereit:

  • search_web(query, domains?, urls?, effort?) ermittelt Quellen und liefert kompakte Ergebnisse mit stabilen page_id-Kennungen.

  • read_pages(page_ids, focus?) liest gespeicherte Seiten anhand der page_id.

  • read_urls(urls, focus?) liest direkte URLs, ohne vorher zu suchen.

Es kombiniert:

Komponente

Rolle

SearXNG

Suche nach Quellen

Crawl4AI

Extraktion von bereinigtem HTML

Redis oder Valkey

Persistierter Seiten-Cache und page_id-Speicher

MarkItDown

Dokumentenkonvertierung für PDFs und andere unterstützte Dateien

Related MCP server: Deep Search MCP Server

Erste Schritte

Voraussetzungen

  • Python 3.12+

  • Docker mit Compose-Unterstützung für die standardmäßige verwaltete lokale Laufzeit

  • explizite SOURCEWEAVE_SEARCH_*-Endpunkte nur, wenn Sie gehostete oder selbst verwaltete Dienste verwenden möchten

Verwaltete lokale Laufzeit

Starten Sie den Server aus dem veröffentlichten Paket:

uvx --from sourceweave-web-search sourceweave-search-mcp

Oder starten Sie den MCP-Server über HTTP:

uvx --from sourceweave-web-search sourceweave-search-mcp \
  --transport streamable-http \
  --host 127.0.0.1 \
  --port 8000

Wenn keine Endpunkt-Umgebungsvariablen gesetzt sind, gilt für sourceweave-search-mcp:

Modus

Was passiert

Verwalteter Stack gefunden

Dem vorhandenen, von SourceWeave verwalteten Stack für das aktuelle Laufzeit-State-Verzeichnis beitreten.

Gesunder externer Stack gefunden

Die kanonischen lokalen Ports 19080, 19235 und 16379 ohne Übernahme des Besitzes wiederverwenden.

Kein wiederverwendbarer Stack

Einen Docker-gestützten Stack auf kanonischen oder freien lokalen Ports starten und überwachen.

Der verwaltete Zustand liegt unter ~/.sourceweave-local/managed-runtime. Mehrere MCP-Prozesse auf derselben Maschine teilen sich einen verwalteten Stack pro State-Verzeichnis.

[!IMPORTANT] Die verwaltete Laufzeit entfernt Container nur, wenn der letzte aktive, von SourceWeave verwaltete Prozess beendet wird. Benannte Volumes bleiben erhalten, sodass Cache-Daten Neustarts überleben. Wenn der ursprünglich besitzende Prozess stirbt, kann ein späterer Prozess denselben Stack anhand der Docker-Projektidentität und des persistierten Laufzeitzustands wiederherstellen.

Expliziter Endpunktmodus

Wenn Sie SearXNG, Crawl4AI und Redis oder Valkey bereits selbst betreiben oder auf gehostete Dienste zeigen möchten, setzen Sie explizite Endpunkte; der MCP-Einstiegspunkt umgeht dann den verwalteten Docker-Start:

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

Direkte CLI

sourceweave-search führt das Tool direkt aus. Verwenden Sie es, wenn die unterstützenden Dienste bereits verfügbar sind oder Sie explizite Endpunkte angeben. Es startet kein Docker.

sourceweave-search --query "python programming" --read-first-pages 2
sourceweave-search --read-url "https://packaging.python.org/en/latest/"

[!TIP] Die direkte CLI akzeptiert auch die Override-Optionen --searxng-base-url, --crawl4ai-base-url und --cache-redis-url.

MCP-Clients einrichten

OpenCode

Beispiel opencode.json / opencode.jsonc / ~/.config/opencode/opencode.json:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "sourceweave": {
      "type": "local",
      "command": [
        "uvx",
        "--from",
        "sourceweave-web-search",
        "sourceweave-search-mcp"
      ],
      "enabled": true,
      "timeout": 300000
    }
  }
}

Für einen gemeinsamen HTTP-Endpunkt stattdessen:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "sourceweave": {
      "type": "remote",
      "url": "http://127.0.0.1:18000/mcp",
      "enabled": true,
      "timeout": 300000
    }
  }
}

VS Code Copilot

Beispiel .vscode/mcp.json:

{
  "servers": {
    "sourceweave": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "--from",
        "sourceweave-web-search",
        "sourceweave-search-mcp"
      ]
    }
  }
}

Für einen gemeinsamen HTTP-Endpunkt stattdessen:

{
  "servers": {
    "sourceweave": {
      "type": "http",
      "url": "http://127.0.0.1:18000/mcp"
    }
  }
}

Claude Code

Beispiel .mcp.json:

{
  "mcpServers": {
    "sourceweave": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "--from",
        "sourceweave-web-search",
        "sourceweave-search-mcp"
      ]
    }
  }
}

Für eine projektbezogene gemeinsame Konfiguration platzieren Sie denselben Block in .mcp.json im Stammverzeichnis des Repositorys.

CLI

Die direkte CLI ist nützlich, sobald die unterstützenden Dienste bereits erreichbar sind. Sie bietet denselben Search-First-Workflow ohne den MCP-Wrapper.

sourceweave-search --query "react useEffect cleanup example" --read-first-page
sourceweave-search --query "HTTP overview" --domain developer.mozilla.org --read-first-page
sourceweave-search --read-url "https://packaging.python.org/en/latest/"

Container-Deployments

Die verwaltete lokale Laufzeit ist für Veranstaltungen mit uvx oder uv run auf der Host-Seite gedacht. Containerisierte Deployments verwenden weiterhin eine explizite Endpunktverkabelung.

  • Image: ghcr.io/mrnaqa/sourceweave-web-search-mcp

  • Repo-lokaler Compose-Einstiegspunkt: docker compose up -d --build mcp

Beispiel für einen Container-Start:

docker run --rm -p 8000:8000 \
  -e SOURCEWEAVE_SEARCH_SEARXNG_BASE_URL="http://host.docker.internal:19080/search?format=json&q=<query>" \
  -e SOURCEWEAVE_SEARCH_CRAWL4AI_BASE_URL="http://host.docker.internal:19235" \
  -e SOURCEWEAVE_SEARCH_CACHE_REDIS_URL="redis://host.docker.internal:16379/2" \
  ghcr.io/mrnaqa/sourceweave-web-search-mcp:latest

OpenWebUI

Dieses Repository enthält außerdem eine eigenständig generierte OpenWebUI-Tool-Datei unter artifacts/sourceweave_web_search.py.

Überprüfen Sie in einem Repository-Checkout, dass sie mit der kanonischen Implementierung synchron ist:

uv run sourceweave-build-openwebui --check

Fügen Sie dieses Artefakt in OpenWebUI ein, wenn Sie den eigenständigen Tool-Datei-Deployment-Pfad verwenden möchten. Die generierte Datei setzt die Standard-Endpunkte auf die repo-lokalen Compose-Dienstnamen um, sodass sie sofort zum Container-Deployment-Pfad passt.

Laufzeitkonfiguration

Optionale Umgebungsvariablen:

Variable

Zweck

SOURCEWEAVE_SEARCH_SEARXNG_BASE_URL

URL-Vorlage für SearXNG. Muss <query> enthalten.

SOURCEWEAVE_SEARCH_CRAWL4AI_BASE_URL

Basis-URL für Crawl4AI.

SOURCEWEAVE_SEARCH_CACHE_REDIS_URL

Redis- oder Valkey-URL für den Cache.

FASTMCP_HOST

Host für sse- oder streamable-http-Transport.

FASTMCP_PORT

Port für sse- oder streamable-http-Transport.

Wenn die Endpunktvariablen nicht gesetzt sind, verwendet sourceweave-search-mcp standardmäßig die verwaltete lokale Laufzeit.

  • Die kanonischen Host-Endpunkte bleiben die bevorzugten Standardwerte und die Ziele für die Prüfung der externen Wiederverwendung.

  • Ein von SourceWeave verwalteter Stack kann andere freie Host-Ports verwenden, wenn die kanonischen Standardports bereits belegt sind.

  • Mehrere MCP-Prozesse auf derselben Maschine teilen sich einen verwalteten Stack pro lokalem Laufzeit-State-Verzeichnis.

Standardende-Werte:

  • 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

Bevorzugte Standard-Host-Ports für den verwalteten Start:

  • SearXNG: 19080

  • Crawl4AI: 19235

  • Redis: 16379

  • MCP: 8000 bei direkter Ausführung mit uvx; 18000 unter /mcp bei Verwendung des mcp-Compose-Diensts des Repositorys

Entwicklung

git clone https://github.com/MRNAQA/sourceweave-web-search.git
cd sourceweave-web-search
uv sync --locked --group dev
uv run sourceweave-search-mcp

Nützliche Prüfungen:

uv run sourceweave-build-openwebui --check
uv run sourceweave-search-mcp --help
uv run pytest tests/test_config.py tests/test_packaging.py tests/test_tool.py tests/test_managed_runtime.py -m "not integration"
A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
1dRelease cycle
7Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    B
    quality
    C
    maintenance
    Enables web search and site-specific search capabilities through the Deepsearch model. Provides unified access to broad web retrieval and targeted site search functionality within the MCP ecosystem.
    2
    11
    5
    Apache 2.0
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides comprehensive search capabilities including web search, content extraction, news search, academic search, and AI-powered multi-source research. Enables natural language access to web content and research through a production-ready MCP server.
  • A
    license
    B
    quality
    Not graded
    maintenance
    Provides advanced Google Custom Search functionality, web content extraction, and specialized research tools such as search analytics, multi-site search, and fact checking. Works as an MCP server compatible with any MCP client.
    10
    MIT

View all related MCP servers

Related MCP Connectors

  • Stealth web browser for agents: search, fetch, click and type through persistent sessions over MCP.

  • Agentic search over your Dewey document collections from any MCP-compatible client.

  • Access Kernel's cloud-based browsers and app actions via MCP (remote HTTP + OAuth).

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/MRNAQA/sourceweave-web-search'

If you have feedback or need assistance with the MCP directory API, please join our Discord server