MyWebSearch MCP
WebSearch Forge MCP
Un MCP de WebSearch ligero y unificado para agentes de IA.
Busca, lee, rastrea, analiza e investiga la web pública a través de un único servidor MCP.
Inicio rápido · Herramientas · Arquitectura · Configurar motores de búsqueda · 中文文档
Qué es
WebSearch Forge MCP es un servicio MCP autónomo para investigación web impulsada por agentes:
Question → search sources → fetch pages → extract content → crawl related pages → compile evidenceSe divide en capas claras:
transportsexpone MCP stdio y el adaptador opcional FastAPI.coregestiona configuración, caché, comprobaciones de seguridad, orquestación y flujos de investigación.providersimplementa funciones de búsqueda, obtención, extracción, rastreo y medios.SearXNG es la única puerta de enlace de búsqueda para Bing, Baidu, Brave, DuckDuckGo y otros motores configurados.
Related MCP server: myscrape
Destacados
Un servidor MCP, seis capacidades
Conéctate una vez a transports/mcp_stdio.py:
Herramienta | Propósito |
| Encontrar fuentes candidatas a través de SearXNG |
| Obtener y extraer una URL pública |
| Buscar y luego leer los mejores resultados |
| Ejecutar múltiples búsquedas y compilar un informe |
| Rastrear recursivamente un sitio del mismo dominio con límites |
| Recuperar subtítulos de YouTube |
Puerta de enlace de búsqueda unificada
El argumento engines se pasa a SearXNG como filtro. WebSearch Forge no se distribuye de forma independiente a los sitios de búsqueda:
WebSearch Forge MCP → SearXNG → Bing / Baidu / Brave / DuckDuckGoLigero por defecto
MCP stdio no necesita un puerto de aplicación expuesto ni un servidor de base de datos. La caché es SQLite. Los paquetes opcionales añaden Trafilatura, Readability, solicitudes sigilosas, Playwright, análisis de Office/PDF, Scrapy, subtítulos de YouTube y FastAPI sin cambiar el contrato MCP.
Rastreo limitado
crawl_site admite un backend nativo sin dependencias y un backend opcional de Scrapy. Aplica límites de páginas y profundidad, permanece en el host inicial, resuelve enlaces relativos y aísla los fallos de página.
Inicio rápido
Los siguientes comandos son para Windows PowerShell.
Instalación
cd D:\my-websearch\my_websearch
py -3.12 -m pip install -r requirements.txtIniciar SearXNG
docker version
cd D:\my-websearch\my_websearch
docker compose up -d searxng
docker compose psLa puerta de enlace predeterminada es http://127.0.0.1:8080. La configuración se encuentra en config/searxng/settings.yml.
Configurar el cliente MCP
Usa mcp_config.example.json y mantén una ruta absoluta:
{
"mcpServers": {
"websearch-forge": {
"command": "py",
"args": [
"-3.12",
"D:\\my-websearch\\my_websearch\\transports\\mcp_stdio.py"
],
"env": {
"SEARXNG_URL": "http://127.0.0.1:8080",
"CACHE_TTL": "300"
}
}
}
}El adaptador stdio fuerza UTF-8 en Windows. El tráfico de bucle local omite las variables de proxy de toda la máquina por defecto; establece PROXY_URL explícitamente cuando sea necesario.
Herramientas
search_web
Busca a través de SearXNG sin descargar los cuerpos de las páginas.
{
"name": "search_web",
"arguments": {
"query": "Python 3.14 new features",
"engines": ["bing", "baidu", "brave"],
"limit": 5,
"time_range": "month"
}
}fetch_web_content
Obtiene y extrae una URL pública. Se admiten HTML, PDF, DOCX, XLSX, PPTX, CSV, Markdown y texto plano.
{
"name": "fetch_web_content",
"arguments": {
"url": "https://www.python.org",
"max_chars": 10000,
"stealth_mode": "off",
"render_mode": "auto",
"extraction_mode": "auto"
}
}La respuesta incluye URL final, estado HTTP, título, método de extracción, recuento de palabras, contenido y enlaces descubiertos.
search_and_fetch
Primero busca y luego obtiene los mejores resultados de forma independiente. Una página fallida se registra en ese elemento y no cancela el lote.
{
"name": "search_and_fetch",
"arguments": {
"query": "FastAPI MCP server",
"limit": 3,
"max_chars": 12000
}
}deep_research
Ejecuta consultas relacionadas de forma concurrente, obtiene los resultados más sólidos y devuelve un informe en Markdown con fallos a nivel de fuente.
{
"name": "deep_research",
"arguments": {
"queries": ["SearXNG engine configuration", "MCP stdio deployment"],
"breadth": 3,
"max_chars": 12000
}
}crawl_site
Rastrea un sitio del mismo host con límites estrictos de páginas y profundidad.
{
"name": "crawl_site",
"arguments": {
"url": "https://www.python.org",
"max_pages": 10,
"max_depth": 2,
"backend": "native",
"stealth_mode": "off"
}
}native es el predeterminado. Instala Scrapy y establece backend en scrapy para usar el backend opcional. Cada página informa URL, profundidad, estado, método de obtención, título, contenido y recuento de palabras.
youtube_transcript
Recupera subtítulos de YouTube con idiomas de origen y traducción opcionales.
Forma de la respuesta
{
"query": "OpenAI",
"provider": "searxng",
"engines": ["bing", "baidu", "brave"],
"total_results": 3,
"results": [
{
"title": "OpenAI | Research & Deployment",
"url": "https://openai.com/",
"description": "...",
"source": "openai.com",
"engine": "bing",
"score": 1.0
}
],
"partial_failures": []
}Los resultados parciales exitosos se conservan. Los errores de motor, página y documento se devuelven como entradas de fallo estructuradas.
Arquitectura
flowchart LR
A[Agent / MCP Client] -->|stdio JSON-RPC| B[transports/mcp_stdio.py]
B --> C[core/service.py]
C --> D[providers/search]
D --> E[SearXNG]
E --> F[Bing / Baidu / Brave / DDG]
C --> G[providers/content]
G --> H[HTTP / stealth / Playwright]
C --> I[providers/crawl]
C --> J[providers/media]
C --> K[(SQLite TTL cache)]transportsadapta protocolos; MCP y FastAPI comparten el mismo servicio.coreposee la orquestación, la política de caché, la configuración y la seguridad de URL.providers/searchse comunica con SearXNG y valida los nombres de los motores.providers/contentmaneja HTTP, transporte sigiloso, renderizado y extracción.providers/crawlcontiene los backends de rastreo nativo y Scrapy.providers/mediacontiene el proveedor de transcripciones de YouTube.
Configurar motores de búsqueda
La fuente SearXNG propiedad del proyecto es:
config/searxng/settings.ymlDos ajustes deciden si se puede llamar a un motor:
settings.ymlhabilita el motor dentro de SearXNG.providers/search/registry.pylista el nombre aceptado enSUPPORTED_ENGINES.
Reinicia después de los cambios:
cd D:\my-websearch\my_websearch
docker compose up -d --force-recreate searxngSi SearXNG aún no proporciona el motor, implementa primero ese motor de SearXNG.
Seguridad y fiabilidad
Solo se aceptan URLs HTTP y HTTPS.
Se rechazan destinos localhost, bucle local, IPv4 privada, enlace local e IPv6 privada.
Los destinos de redirección se validan de nuevo.
Las operaciones de búsqueda y obtención usan una caché TTL SQLite, 300 segundos por defecto.
Los fallos parciales no descartan el trabajo exitoso.
stdout está reservado para MCP JSON-RPC.
Capacidades opcionales
Capacidad | Habilitación |
Trafilatura / Readability | Instala |
Solicitudes sigilosas | Instala |
Renderizado de JavaScript | Instala Playwright y usa |
PDF / DOCX / XLSX / PPTX | Instala los paquetes de documentos correspondientes |
Rastreo con Scrapy | Instala Scrapy y usa |
Servicio HTTP FastAPI | Ejecuta |
Subtítulos de YouTube | Instala |
Estructura del proyecto
my_websearch/
├── assets/ # Project logo
├── config/searxng/ # SearXNG settings.yml
├── core/ # Config, cache, security, orchestration
├── providers/
│ ├── search/ # SearXNG gateway and engine allow-list
│ ├── content/ # Requests, rendering, extraction
│ ├── crawl/ # Native and Scrapy backends
│ └── media/ # YouTube transcript provider
├── transports/ # MCP stdio and FastAPI adapters
├── tests/ # Dependency-free self-checks
├── docker-compose.yml # Local SearXNG gateway
├── mcp_config.example.json # MCP client template
├── requirements.txt # Dependency entry point
├── README.md # English documentation
└── README.zh-CN.md # 中文文档Comprobación de desarrollo
cd D:\my-websearch
py -3.12 -m my_websearch.tests.test_serverSalida esperada:
my_websearch self-check: okServicio FastAPI opcional:
cd D:\my-websearch\my_websearch
py -3.12 -m transports.apiLuego abre http://127.0.0.1:8787/docs.
Licencia
Aún no se impone ninguna licencia. Añade un archivo LICENSE en la raíz antes de la distribución pública.
This server cannot be deployed
Maintenance
Related MCP Connectors
Scrape, crawl and search the web for AI agents via MCP.
Free web search for AI agents. No API key required. Hosted MCP in active development.
One MCP server for all web data. Scrape, search, crawl, and AI research in one install.
Web scraping, extraction and search for AI agents. Hosted MCP with workspace API keys.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP tool server that gives any AI agent the ability to search, scrape, and analyze content across the internet.42MIT
- AlicenseNot gradedqualityCmaintenanceA self-contained web-research MCP server that lets local LLM agents search, fetch, and synthesize web content using tools like web_search, web_fetch, and web_research.2MIT
- AlicenseNot gradedqualityDmaintenanceMulti-purpose research MCP server integrating web search, deep research, web scraping, research methodology routing, and GPT Researcher report generation.MIT
- AlicenseNot gradedqualityAmaintenanceAn MCP server that gives agents a unified search and perception layer across web search, Bilibili, Xiaohongshu, Zhihu, YouTube, academic metadata, recruitment sites, and webpage extraction, plus research planning, health checks, and task status.MIT