SearXNG MCP Server

by tisDDM
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Supports configuration via .env files for setting SearXNG URL and optional authentication credentials

  • Provides search results in Markdown format for better readability and structure

  • Enables running as a Node.js-based MCP server that can be integrated with VSCode and other environments

Servidor MCP de SearXNG

Un servidor de Protocolo de Contexto de Modelo (MCP) que permite a los asistentes de IA realizar búsquedas web mediante SearXNG , un metabuscador que respeta la privacidad. Funciona de inmediato, sin necesidad de implementación adicional, seleccionando automáticamente una instancia aleatoria de SearX.space y, a la vez, admite instancias privadas con autenticación básica.

Características

  • Configuración sin necesidad de configuración : funciona inmediatamente mediante el uso de una instancia pública aleatoria de SearX.space
  • Compatibilidad con instancias privadas : conéctese a su propia instancia de SearXNG con autenticación básica opcional
  • Realizar búsquedas web con parámetros personalizables
  • Compatibilidad con múltiples motores de búsqueda
  • Resultados de búsqueda centrados en la privacidad
  • Resultados de búsqueda con formato Markdown
  • Valores predeterminados razonables para todos los parámetros

ADVERTENCIA: Es posible que las instancias públicas no estén disponibles para este propósito y devuelvan "Solicitud fallida con código de estado 429".

Instalación

Prerrequisitos

  • Node.js (v16 o superior)
  • npm (v7 o superior)
  • Acceso a una instancia de SearXNG (autoalojada o pública)

Instalar desde la fuente

# Clone the repository git clone https://github.com/tisDDM/searxng-mcp.git cd searxng-mcp # Install dependencies npm install # Build the project npm run build

Configuración

El servidor SearXNG MCP se puede configurar con las siguientes variables de entorno:

  • SEARXNG_URL (opcional): La URL de su instancia de SearXNG (p. ej., https://searx.example.com ). Si no se proporciona, se seleccionará automáticamente una instancia pública aleatoria de SearX.space , lo que permitirá el uso del servidor sin necesidad de implementarlo.
  • USE_RANDOM_INSTANCE (opcional): Establézcalo en "false" para deshabilitar la selección aleatoria de instancias cuando no se proporciona una URL. El valor predeterminado es "true".
  • SEARXNG_USERNAME (opcional): Nombre de usuario para la autenticación básica al conectarse a una instancia privada
  • SEARXNG_PASSWORD (opcional): Contraseña para la autenticación básica al conectarse a una instancia privada

Puede configurar estas variables de entorno en un archivo .env en el directorio raíz del proyecto:

SEARXNG_URL=https://searx.example.com SEARXNG_USERNAME=your_username SEARXNG_PASSWORD=your_password

Uso

Ejecutando el servidor

# If installed globally searxngmcp # If installed from source node build/index.js

Integración con Claude Desktop

  1. Abra Claude Desktop
  2. Vaya a Configuración > Servidores MCP
  3. Agregue un nuevo servidor MCP con la siguiente configuración:
    { "mcpServers": { "searxngmcp": { "command": "searxngmcp", "env": { // Optional: If not provided, a random public instance will be used "SEARXNG_URL": "https://searx.example.com", // Optional: Only needed for private instances with authentication "SEARXNG_USERNAME": "your_username", "SEARXNG_PASSWORD": "your_password" }, "disabled": false, "autoApprove": [] } } }

Integración con Claude en VSCode

  1. Abrir VSCode
  2. Vaya a Configuración > Extensiones > Claude > Configuración de MCP
  3. Agregue un nuevo servidor MCP con la siguiente configuración:
    { "mcpServers": { "searxngmcp": { "command": "node", "args": ["/path/to/searxng-mcp/build/index.js"], "env": { // Optional: If not provided, a random public instance will be used "SEARXNG_URL": "https://searx.example.com", // Optional: Only needed for private instances with authentication "SEARXNG_USERNAME": "your_username", "SEARXNG_PASSWORD": "your_password" }, "disabled": false, "autoApprove": [] } } }

Uso con Smolagents

SearXNG MCP se integra fácilmente con Smolagents, un framework ligero para crear agentes de IA. Esto permite crear potentes agentes de investigación que pueden buscar en la web y procesar los resultados:

from smolagents import CodeAgent, LiteLLMModel, ToolCollection from mcp import StdioServerParameters # Configure the SearXNG MCP server server_parameters = StdioServerParameters( command="node", args=["path/to/searxng-mcp/build/index.js"], env={ "SEARXNG_URL": "https://your-searxng-instance.com", "SEARXNG_USERNAME": "your_username", # Optional "SEARXNG_PASSWORD": "your_password" # Optional } ) # Create a tool collection from the MCP server with ToolCollection.from_mcp(server_parameters) as tool_collection: # Initialize your LLM model model = LiteLLMModel( model_id="your-model-id", api_key="your-api-key", temperature=0.7 ) # Create an agent with the search tools search_agent = CodeAgent( name="search_agent", tools=tool_collection.tools, model=model ) # Run the agent with a search prompt result = search_agent.run( "Perform a search about: 'climate change solutions' and summarize the top 5 results." ) print(result)

Herramientas disponibles

búsqueda de búsqueda

Realice búsquedas web con SearXNG, un metabuscador que respeta la privacidad. Ofrece contenido web relevante con parámetros personalizables.

Parámetros

ParámetroTipoDescripciónPor defectoRequerido
consultacadenaConsulta de búsqueda-
idiomacadenaCódigo de idioma para los resultados de búsqueda (por ejemplo, 'en', 'de', 'fr')'en'No
rango de tiempocadenaIntervalo de tiempo para los resultados de búsqueda. Opciones: día, semana, mes, año.nuloNo
categoríasmatriz de cadenasCategorías para buscar (por ejemplo, 'general', 'imágenes', 'noticias')nuloNo
motoresmatriz de cadenasMotores de búsqueda específicos para utilizarnuloNo
búsqueda seguranúmeroNivel de búsqueda segura: 0 (desactivado), 1 (moderado), 2 (estricto)1No
pagenonúmeroNúmero de página de resultados. Debe ser mínimo 1.1No
resultados máximosnúmeroNúmero máximo de resultados de búsqueda. Rango: 1-5010No

Ejemplo

// Example request const result = await client.callTool('searxngsearch', { query: 'climate change solutions', language: 'en', time_range: 'year', categories: ['general', 'news'], safesearch: 1, max_results: 5 });

Desarrollo

Configuración

# Clone the repository git clone https://github.com/tisDDM/searxng-mcp.git cd searxng-mcp # Install dependencies npm install

Construir

npm run build

Modo de observación (para desarrollo)

npm run watch

Pruebas con MCP Inspector

npm run inspector

Licencia

Instituto Tecnológico de Massachusetts (MIT)

-
security - not tested
A
license - permissive license
-
quality - not tested

Un servidor de protocolo de contexto de modelo que permite a los asistentes de IA realizar búsquedas web utilizando SearXNG, un motor de metabúsqueda que respeta la privacidad.

  1. Features
    1. Installation
      1. Prerequisites
      2. Install from source
    2. Configuration
      1. Usage
        1. Running the server
        2. Integrating with Claude Desktop
        3. Integrating with Claude in VSCode
      2. Usage with Smolagents
        1. Available Tools
          1. searxngsearch
        2. Development
          1. Setup
          2. Build
          3. Watch mode (for development)
          4. Testing with MCP Inspector
        3. License
          ID: tjp57fcil2