Skip to main content
Glama
Knuckles-Team

SearXNG MCP Server

SearXNG - A2A | AG-UI | MCP

PyPI - Version MCP Server PyPI - Downloads GitHub Repo stars GitHub forks GitHub contributors PyPI - License GitHub

GitHub last commit (by committer) GitHub pull requests GitHub closed pull requests GitHub issues

GitHub top language GitHub language count GitHub repo size GitHub repo file count (file type) PyPI - Wheel PyPI - Implementation

Versión: 0.1.56

Descripción general

Servidor MCP de SearXNG + Servidor A2A

Incluye un servidor del Protocolo de Contexto de Modelo (MCP) y un agente Agent2Agent (A2A) listo para usar.

¡Realice búsquedas web respetuosas con la privacidad utilizando SearXNG a través de un servidor MCP!

Este repositorio se mantiene activamente. ¡Las contribuciones son bienvenidas!

Soporta:

  • Metabúsqueda respetuosa con la privacidad

  • Parámetros de búsqueda personalizables (idioma, rango de tiempo, categorías, motores)

  • Niveles de búsqueda segura

  • Control de paginación

  • Soporte de autenticación básica

  • Selección aleatoria de instancias

MCP

Herramientas MCP

Nombre de la función

Descripción

Etiqueta(s)

web_search

Realiza búsquedas web utilizando SearXNG, un motor de metabúsqueda respetuoso con la privacidad. Devuelve contenido web relevante con parámetros personalizables.

search

Uso como servidor MCP

El servidor MCP se puede ejecutar en dos modos: stdio (para pruebas locales) o http (para acceso en red). Para iniciar el servidor, utilice los siguientes comandos:

Ejecutar en modo stdio (predeterminado):

searxng-mcp --transport "stdio"

Ejecutar en modo HTTP:

searxng-mcp --transport "http"  --host "0.0.0.0"  --port "8000"

Prompt de IA:

Search for information about artificial intelligence

Respuesta de IA:

Search completed successfully. Found 10 results for "artificial intelligence":

1. **What is Artificial Intelligence?**
   URL: https://example.com/ai
   Content: Artificial intelligence (AI) refers to the simulation of human intelligence in machines...

2. **AI Overview**
   URL: https://example.org/ai-overview
   Content: AI encompasses machine learning, deep learning, and more...

Agente A2A

Este paquete también incluye un servidor de agente A2A que se puede utilizar para interactuar con el servidor MCP de SearXNG.

Arquitectura:

---
config:
  layout: dagre
---
flowchart TB
 subgraph subGraph0["Agent Capabilities"]
        C["Agent"]
        B["A2A Server - Uvicorn/FastAPI"]
        D["MCP Tools"]
        F["Agent Skills"]
  end
    C --> D & F
    A["User Query"] --> B
    B --> C
    D --> E["Platform API"]

     C:::agent
     B:::server
     A:::server
    classDef server fill:#f9f,stroke:#333
    classDef agent fill:#bbf,stroke:#333,stroke-width:2px
    style B stroke:#000000,fill:#FFD600
    style D stroke:#000000,fill:#BBDEFB
    style F fill:#BBDEFB
    style A fill:#C8E6C9
    style subGraph0 fill:#FFF9C4

Diagrama de interacción de componentes

sequenceDiagram
    participant User
    participant Server as A2A Server
    participant Agent as Agent
    participant Skill as Agent Skills
    participant MCP as MCP Tools

    User->>Server: Send Query
    Server->>Agent: Invoke Agent
    Agent->>Skill: Analyze Skills Available
    Skill->>Agent: Provide Guidance on Next Steps
    Agent->>MCP: Invoke Tool
    MCP-->>Agent: Tool Response Returned
    Agent-->>Agent: Return Results Summarized
    Agent-->>Server: Final Response
    Server-->>User: Output

Uso

CLI de MCP

Flag corto

Flag largo

Descripción

-h

--help

Mostrar información de ayuda

-t

--transport

Método de transporte: 'stdio', 'http' o 'sse' [legado] (predeterminado: stdio)

-s

--host

Dirección de host para transporte HTTP (predeterminado: 0.0.0.0)

-p

--port

Número de puerto para transporte HTTP (predeterminado: 8000)

--auth-type

Tipo de autenticación: 'none', 'static', 'jwt', 'oauth-proxy', 'oidc-proxy', 'remote-oauth' (predeterminado: none)

--token-jwks-uri

URI de JWKS para verificación JWT

--token-issuer

Emisor para verificación JWT

--token-audience

Audiencia para verificación JWT

--oauth-upstream-auth-endpoint

Endpoint de autorización ascendente para OAuth Proxy

--oauth-upstream-token-endpoint

Endpoint de token ascendente para OAuth Proxy

--oauth-upstream-client-id

ID de cliente ascendente para OAuth Proxy

--oauth-upstream-client-secret

Secreto de cliente ascendente para OAuth Proxy

--oauth-base-url

URL base para OAuth Proxy

--oidc-config-url

URL de configuración OIDC

--oidc-client-id

ID de cliente OIDC

--oidc-client-secret

Secreto de cliente OIDC

--oidc-base-url

URL base para OIDC Proxy

--remote-auth-servers

Lista separada por comas de servidores de autorización para OAuth remoto

--remote-base-url

URL base para OAuth remoto

--allowed-client-redirect-uris

Lista separada por comas de URIs de redirección de cliente permitidas

--eunomia-type

Tipo de autorización Eunomia: 'none', 'embedded', 'remote' (predeterminado: none)

--eunomia-policy-file

Archivo de política para Eunomia embebido (predeterminado: mcp_policies.json)

--eunomia-remote-url

URL para servidor Eunomia remoto

CLI de A2A

Endpoints

  • Web UI: http://localhost:8000/ (si está habilitado)

  • A2A: http://localhost:8000/a2a (Descubrimiento: /a2a/.well-known/agent.json)

  • AG-UI: http://localhost:8000/ag-ui (POST)

Flag corto

Flag largo

Descripción

-h

--help

Mostrar información de ayuda

--host

Host al que vincular el servidor (predeterminado: 0.0.0.0)

--port

Puerto al que vincular el servidor (predeterminado: 9000)

--reload

Habilitar recarga automática

--provider

Proveedor de LLM: 'openai', 'anthropic', 'google', 'huggingface'

--model-id

ID del modelo LLM (predeterminado: nvidia/nemotron-3-super)

--base-url

URL base de LLM (para proveedores compatibles con OpenAI)

--api-key

Clave API de LLM

--mcp-url

URL del servidor MCP (predeterminado: http://localhost:8000/mcp)

--web

Habilitar Pydantic AI Web UI

False (Env: ENABLE_WEB_UI)

Uso como servidor MCP

El servidor MCP se puede ejecutar en dos modos: stdio (para pruebas locales) o http (para acceso en red). Para iniciar el servidor, utilice los siguientes comandos:

Ejecutar en modo stdio (predeterminado):

searxng-mcp --transport "stdio"

Ejecutar en modo HTTP:

searxng-mcp --transport "http"  --host "0.0.0.0"  --port "8000"

Prompt de IA:

Search for information about artificial intelligence

Respuesta de IA:

Search completed successfully. Found 10 results for "artificial intelligence":

1. **What is Artificial Intelligence?**
   URL: https://example.com/ai
   Content: Artificial intelligence (AI) refers to the simulation of human intelligence in machines...

2. **AI Overview**
   URL: https://example.org/ai-overview
   Content: AI encompasses machine learning, deep learning, and more...

IA Agéntica

searxng-mcp está diseñado para ser utilizado por sistemas de IA agéntica. Proporciona un conjunto de herramientas que permiten a los agentes buscar en la web utilizando SearXNG.

Agente a Agente (A2A)

Este paquete también incluye un servidor de agente A2A que se puede utilizar para interactuar con el servidor MCP de SearXNG.

CLI

Argumento

Descripción

Predeterminado

--host

Host al que vincular el servidor

0.0.0.0

--port

Puerto al que vincular el servidor

9000

--reload

Habilitar recarga automática

False

--provider

Proveedor de LLM (openai, anthropic, google, huggingface)

openai

--model-id

ID del modelo LLM

nvidia/nemotron-3-super

--base-url

URL base de LLM (para proveedores compatibles con OpenAI)

http://ollama.arpa/v1

--api-key

Clave API de LLM

ollama

--mcp-url

URL del servidor MCP

http://searxng-mcp:8000/mcp

--allowed-tools

Lista de herramientas MCP permitidas

web_search

Ejemplos

Ejecutar servidor A2A

searxng-agent --provider openai --model-id gpt-4 --api-key sk-... --mcp-url http://localhost:8000/mcp

Ejecutar con Docker

docker run -e CMD=searxng-agent -p 8000:8000 searxng-mcp

Docker

Construir

docker build -t searxng-mcp .

Ejecutar servidor MCP

docker run -p 8000:8000 searxng-mcp

Ejecutar servidor A2A

docker run -e CMD=searxng-agent -p 8001:8001 searxng-mcp

Desplegar servidor MCP como servicio

El servidor MCP de ServiceNow se puede desplegar utilizando Docker, con autenticación, middleware y autorización Eunomia configurables.

Usando Docker Run

docker pull knucklessg1/searxng-mcp:latest

docker run -d \
  --name searxng-mcp \
  -p 8004:8004 \
  -e HOST=0.0.0.0 \
  -e PORT=8004 \
  -e TRANSPORT=http \
  -e AUTH_TYPE=none \
  -e EUNOMIA_TYPE=none \
  -e SEARXNG_URL=https://searxng.example.com \
  -e SEARXNG_USERNAME=user \
  -e SEARXNG_PASSWORD=pass \
  -e USE_RANDOM_INSTANCE=false \
  knucklessg1/searxng-mcp:latest

Para autenticación avanzada (p. ej., JWT, OAuth Proxy, OIDC Proxy, Remote OAuth) o Eunomia, añada las variables de entorno relevantes:

docker run -d \
  --name searxng-mcp \
  -p 8004:8004 \
  -e HOST=0.0.0.0 \
  -e PORT=8004 \
  -e TRANSPORT=http \
  -e AUTH_TYPE=oidc-proxy \
  -e OIDC_CONFIG_URL=https://provider.com/.well-known/openid-configuration \
  -e OIDC_CLIENT_ID=your-client-id \
  -e OIDC_CLIENT_SECRET=your-client-secret \
  -e OIDC_BASE_URL=https://your-server.com \
  -e ALLOWED_CLIENT_REDIRECT_URIS=http://localhost:*,https://*.example.com/* \
  -e EUNOMIA_TYPE=embedded \
  -e EUNOMIA_POLICY_FILE=/app/mcp_policies.json \
  -e SEARXNG_URL=https://searxng.example.com \
  -e SEARXNG_USERNAME=user \
  -e SEARXNG_PASSWORD=pass \
  -e USE_RANDOM_INSTANCE=false \
  knucklessg1/searxng-mcp:latest

Usando Docker Compose

Cree un archivo docker-compose.yml:

services:
  searxng-mcp:
    image: knucklessg1/searxng-mcp:latest
    environment:
      - HOST=0.0.0.0
      - PORT=8004
      - TRANSPORT=http
      - AUTH_TYPE=none
      - EUNOMIA_TYPE=none
      - SEARXNG_URL=https://searxng.example.com
      - SEARXNG_USERNAME=user
      - SEARXNG_PASSWORD=pass
      - USE_RANDOM_INSTANCE=false
    ports:
      - 8004:8004

Para configuraciones avanzadas con autenticación y Eunomia:

services:
  searxng-mcp:
    image: knucklessg1/searxng-mcp:latest
    environment:
      - HOST=0.0.0.0
      - PORT=8004
      - TRANSPORT=http
      - AUTH_TYPE=oidc-proxy
      - OIDC_CONFIG_URL=https://provider.com/.well-known/openid-configuration
      - OIDC_CLIENT_ID=your-client-id
      - OIDC_CLIENT_SECRET=your-client-secret
      - OIDC_BASE_URL=https://your-server.com
      - ALLOWED_CLIENT_REDIRECT_URIS=http://localhost:*,https://*.example.com/*
      - EUNOMIA_TYPE=embedded
      - EUNOMIA_POLICY_FILE=/app/mcp_policies.json
      - SEARXNG_URL=https://searxng.example.com
      - SEARXNG_USERNAME=user
      - SEARXNG_PASSWORD=pass
      - USE_RANDOM_INSTANCE=false
    ports:
      - 8004:8004
    volumes:
      - ./mcp_policies.json:/app/mcp_policies.json

Ejecute el servicio:

docker-compose up -d

Configurar mcp.json para integración con IA

{
  "mcpServers": {
    "searxng": {
      "command": "uv",
      "args": [
        "run",
        "--with",
        "searxng-mcp",
        "searxng-mcp"
      ],
      "env": {
        "SEARXNG_URL": "https://searxng.example.com",
        "SEARXNG_USERNAME": "user",
        "SEARXNG_PASSWORD": "pass",
        "USE_RANDOM_INSTANCE": "false"
      },
      "timeout": 300000
    }
  }
}

Instalar paquete de Python

python -m pip install searxng-mcp
uv pip install searxng-mcp

Propietarios del repositorio

GitHub followers GitHub User's stars

Install Server
A
security – no known vulnerabilities
A
license - permissive license
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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/Knuckles-Team/searxng-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server