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

Servidor MCP y CLI centrados en la búsqueda para investigación web.

[!NOTE] sourceweave-search-mcp es el punto de entrada local predeterminado. Cuando no hay variables de endpoint SOURCEWEAVE_SEARCH_* explícitas, descubre o inicia automáticamente la stack local respaldada por Docker. Si ya ejecutas los servicios tú mismo, define endpoints explícitos y los utilizará en su lugar.

Descripción generalPrimeros pasosEntorno de ejecución local gestionadoConfiguración del cliente MCPCLIDespliegues en contenedoresOpenWebUIConfiguración del entorno de ejecuciónDesarrollo

Descripción general

SourceWeave Web Search ofrece a los clientes MCP un contrato compacto de tres herramientas para la investigación web:

  • search_web(query, domains?, urls?, effort?) descubre fuentes y devuelve resultados compactos con identificadores estables page_id.

  • read_pages(page_ids, focus?) lee las páginas almacenadas por page_id.

  • read_urls(urls, focus?) lee URLs directas sin buscar primero.

Combina:

Componente

Función

SearXNG

Descubrimiento de búsquedas

Crawl4AI

Extracción de HTML limpio

Redis o Valkey

Caché de páginas persistida y almacén de page_id

MarkItDown

Conversión de documentos para PDF y otros archivos compatibles

Related MCP server: Deep Search MCP Server

Primeros pasos

Requisitos

  • Python 3.12+

  • Docker compatible con Compose para el entorno de ejecución local gestionado predeterminado

  • Endpoints SOURCEWEAVE_SEARCH_* explícitos únicamente si quieres servicios alojados o autogestionados

Entorno de ejecución local gestionado

Ejecuta el servidor desde el paquete publicado:

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

O inicia el servidor MCP mediante HTTP:

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

Cuando no hay variables de entorno de endpoint definidas, sourceweave-search-mcp:

Modo

Qué ocurre

Stack gestionada encontrada

Únirse a la stack existente gestionada por SourceWeave en el directorio de estado actual del entorno de ejecución

Stack externa en buen estado encontrada

Reutiliza los puertos locales canónicos 19080, 19235 y 16379 sin propiedad

Sin stack reutilizable

Inicia y supervisa una stack respaldada por Docker en puertos locales canónicos o libres

El estado gestionado se encuentra en ~/.sourceweave-local/managed-runtime. Varios procesos MCP en la misma máquina comparten una única stack gestionada por directorio de estado.

[!IMPORTANTE] El entorno de ejecución gestionado elimina los contenedores solo cuando finaliza el último proceso activo gestionado por SourceWeave. Los volúmenes con nombre se conservan, por lo que los datos de caché sobreviven a los reinicios. Si falla el proceso propietario original, un proceso posterior puede recuperar la misma stack a partir de la identidad del proyecto Docker y del estado de ejecución persistido.

Modo de endpoint explícito

Si ya ejecutas SearXNG, Crawl4AI y Redis o Valkey, o quieres apuntar a servicios alojados, define endpoints explícitos y el punto de entrada MCP omitirá el inicio de Docker gestionado:

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

CLI directa

sourceweave-search ejecuta la herramienta directamente. Úsalo cuando los servicios de soporte ya estén disponibles o cuando proporciones endpoints explícitos. No inicia Docker.

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

[!TIP] La CLI directa también acepta las anulaciones --searxng-base-url, --crawl4ai-base-url y --cache-redis-url.

Configuración del cliente MCP

OpenCode

Ejemplo de 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
    }
  }
}

Para un endpoint HTTP compartido local en su lugar:

{
  "$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

Ejemplo de .vscode/mcp.json:

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

Para un endpoint HTTP compartido en su lugar:

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

Claude Code

Ejemplo de .mcp.json:

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

Para una configuración compartida de ámbito de proyecto, coloca el mismo bloque en .mcp.json en la raíz del repositorio.

CLI

La CLI directa es útil una vez que los servicios de soporte ya son accesibles. Ofrece el mismo flujo de trabajo de búsqueda en primer lugar sin envoltorio MCP.

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/"

Despliegues en contenedores

El entorno de ejecución local gestionado está pensado para los lanzamientos uvx o uv run en el host. Los despliegues en contenedores siguen usando conexión configurada de endpoints.

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

  • Punto de entrada de Compose en el repositorio: docker compose up -d --build mcp

Ejemplo de ejecución en contenedor:

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

Este repositorio también incluye un archivo de herramienta autónomo generado para OpenWebAI en artifacts/sourceweave_web_search.py.

Cuando quieras la ruta de despliegue mediante archivo de herramienta autónomo, pega ese artefacto en OpenWebUI. El archivo generado reescribe los endpoints predeterminados para que correspondan a los servicios compose locales del repositorio y, de este modo, resulta compatible con la ruta de despliegue en contenedor de forma predeterminada.

uv run sourceweave-build-openwebui --check

Configuración del entorno de ejecución

Variables de entorno opcionales:

Variable

Propósito

SOURCEWEAVE_SEARCH_SEARXNG_BASE_URL

Plantilla de URL de SearXNG. Debe contener <query>.

SOURCEWEAVE_SEARCH_CRAWL4AI_BASE_URL

URL base de Crawl4AI.

SOURCEWEAVE_SEARCH_CACHE_REDIS_URL

URL de Redis o Valkey utilizada para el caché.

FASTMCP_HOST

Host para el transporte sse o streamable-http.

FASTMCP_PORT

Puerto para el transporte sse o streamable-http.

Si las variables de endpoint no están definidas, sourceweave-search-mcp usa por defecto el entorno de ejecución local gestionado.

  • Los endpoints canónicos del host siguen siendo los valores predeterminados preferidos y los destinos de la revisión de reutilización externa.

  • Una stack gestionada por SourceWeave puede usar puertos host libres distintos cuando los valores predeterminados canónicos ya están ocupados.

  • Varios procesos MCP en la misma máquina comparten una única stack gestionada por directorio de estado local del entorno de ejecución.

Valores de endpoints predeterminados:

  • 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

Puertos de host preferidos por defecto para el arranque gestionado:

  • SearXNG: 19080

  • Crawl4AI: 19235

  • Redis: 16379

  • MCP: 8000 cuando se ejecuta directamente con uvx; 18000 en /mcp para el servicio compose mcp del repositorio.

Desarrollo

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

Comprobaciones útiles:

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