Skip to main content
Glama
SearXNG-MCP

SearXNG-MCP

by muzihuaner

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-Id y 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

SEARXNG_URL

https://searxng.abc.com

Dirección raíz de la instancia de SearXNG (requiere JSON habilitado)

HOST

0.0.0.0

Dirección de escucha del servicio

PORT

9000

Puerto de escucha del servicio

Ejecución local

# 安装依赖(建议使用虚拟环境)
pip install -r requirements.txt

# 可选:自定义 SearXNG 实例(只需填根地址)
export SEARXNG_URL="https://your-searxng-instance"

# 启动服务
python Server.py

Una vez iniciado, el endpoint MCP es:

http://localhost:9000/mcp

Despliegue 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-mcp

Si 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-mcp

Usar la imagen en línea

docker run -d \
  --name searxng-mcp \
  -p 9000:9000 \
  -e SEARXNG_URL="https://searxng.abc.com" \
  muzihuaner/searxng-mcp:latest

Dirección de acceso

Una vez completado el despliegue, el formato del endpoint MCP es:

http://<你的服务器域名或IP>:<端口>/mcp

Por 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 False si 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"].

Maintenance

ActivityStale
ResponsivenessNo recent community issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    B
    quality
    D
    maintenance
    Enables web search capabilities through the Tavily API. Allows users to search the web for information using natural language queries via the MCP protocol.
    4
    1
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables privacy-focused web search via SearXNG for MCP clients, allowing users to perform searches with customizable parameters through natural language.
    171 npm
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides 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.
    -
  • A
    license
    A
    quality
    B
    maintenance
    Enables 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.
    2
    699 npm
    MIT