SearXNG-MCP
SearXNG MCP Server
Un servicio MCP de búsqueda SearXNG implementado con FastMCP, que utiliza transporte Streamable HTTP y admite ejecución local e implementación en Docker.
Enlaces relacionados con SearXNG:
Documentación oficial: https://docs.searxng.org/
Ejemplo en línea: https://searx.space/
Características
Expone la herramienta MCP
search(query): llama a la instancia de SearXNG según la palabra clave y devuelve un resumen de los resultados de búsqueda.Proporciona el servicio MCP a través del endpoint HTTP
http://<host>:<port>/mcp, lo que facilita llamadas remotas / entre dominios.Utiliza el modo Streamable HTTP sin estado (stateless), el cliente no necesita mantener
Mcp-Session-Idy puede realizar llamadas concurrentes directamente.Permite personalizar la dirección de la instancia de SearXNG mediante variables de entorno, lo que facilita la implementación privada.
Related MCP server: searxng-mcp-server
Variables de entorno
Variable | Valor predeterminado | Descripción |
|
| Dirección raíz de la instancia de SearXNG (requiere JSON habilitado) |
|
| Dirección de escucha del servicio |
|
| Puerto de escucha del servicio |
Ejecución local
# 安装依赖(建议使用虚拟环境)
pip install -r requirements.txt
# 可选:自定义 SearXNG 实例(只需填根地址)
export SEARXNG_URL="https://your-searxng-instance"
# 启动服务
python Server.pyUna vez iniciado, el endpoint MCP es:
http://localhost:9000/mcpDespliegue en Docker
Construir la imagen
docker build -t searxng-mcp .Ejecutar el contenedor
docker run -d \
--name searxng-mcp \
-p 9000:9000 \
-e SEARXNG_URL="https://searxng.abc.com" \
searxng-mcpSi necesita modificar el puerto, puede sobrescribir tanto el puerto interno como el externo del contenedor y PORT:
docker run -d \
--name searxng-mcp \
-p 8080:8080 \
-e PORT=8080 \
searxng-mcpUsar la imagen en línea
docker run -d \
--name searxng-mcp \
-p 9000:9000 \
-e SEARXNG_URL="https://searxng.abc.com" \
muzihuaner/searxng-mcp:latestDirección de acceso
Una vez completado el despliegue, el formato del endpoint MCP es:
http://<你的服务器域名或IP>:<端口>/mcpPor ejemplo: http://localhost:9000/mcp o https://mcp.your-domain.com/mcp
Configuración del cliente
En un cliente MCP que admita Streamable HTTP, introduzca la dirección del servicio como el endpoint /mcp anterior, por ejemplo:
{
"mcpServers": {
"searxng": {
"url": "http://localhost:9000/mcp"
}
}
}Descripción de la herramienta
search(query: str) -> str
Llama a la búsqueda de SearXNG según la palabra clave y devuelve el texto content de cada entrada de resultados, unido con saltos de línea.
query: palabra clave de búsqueda.Devuelve: el texto de contenido de los resultados de búsqueda; devuelve
Falsesi la solicitud falla.
Concurrencia y rendimiento
测试结果示例(局域网 / 上游 `so.xxx.cn`):
Total de solicitudes : 100 Workers concurrentes : 50 Exitosas : 100 Fallidas : 0 Tiempo total (s) : 67.68 Rendimiento (QPS) : 1.48 Latencia media (s) : 27.284 Latencia mínima (s) : 7.203 Latencia máxima (s) : 44.418
> 注意:端到端延迟主要取决于 SearXNG 上游实例的响应速度(本例平均约 27s 来自上游 `so.xxx.cn` 较慢),服务本身可稳定承载并发且零失败。若需提升吞吐,可:
> - 换用响应更快 / 自托管的 SearXNG 实例(通过 `SEARXNG_URL` 指定);Preguntas frecuentes
Q: ¿El cliente informa del error Missing session ID?
A: Este servicio tiene habilitado stateless_http=True, no se necesita sesión. Si aún se produce el error, confirme que el cliente apunta al endpoint /mcp.
Q: ¿Cómo restringir CORS en producción?
A: Edite CORSMiddleware en Server.py y cambie allow_origins=["*"] por una lista de orígenes específicos, como ["https://your-domain.com"].
This server cannot be deployed
Maintenance
Related MCP Connectors
Serper MCP — wraps the Serper Google Search API (serper.dev)
Web search and clean-text fetch MCP server (Tavily-powered, SSRF-guarded).
DuckDuckGo search results and rank checks via the Apify DuckDuckGo Scraper, hosted MCP.
Related MCP Servers
- FlicenseBqualityDmaintenanceEnables web search capabilities through the Tavily API. Allows users to search the web for information using natural language queries via the MCP protocol.41-
- AlicenseNot gradedqualityDmaintenanceEnables privacy-focused web search via SearXNG for MCP clients, allowing users to perform searches with customizable parameters through natural language.171 npmMIT
- FlicenseNot gradedqualityDmaintenanceProvides a free web search tool to MCP clients by connecting to a self-hosted SearXNG metasearch instance, enabling users to search the web with customizable parameters like categories and time range.-
- AlicenseAqualityBmaintenanceEnables MCP-compatible clients to perform web searches through a self-hosted SearXNG instance, with support for configurable languages, categories, time ranges, and safe search settings.2699 npmMIT