Skip to main content
Glama
MaesHughes

Wuxing Search MCP

by MaesHughes

¿Qué es Wuxing Search MCP?

Wuxing Search MCP es un potente servidor de búsqueda ilimitada construido sobre SearXNG. Se integra perfectamente con Claude Code a través del Protocolo de Contexto de Modelo (MCP), proporcionando capacidades de búsqueda gratuitas e ilimitadas al agregar resultados de más de 100 motores de búsqueda.

Las APIs de búsqueda tradicionales tienen limitaciones:

  • ❌ Límites de tasa y cuotas

  • ❌ Costes de API elevados

  • ❌ Resultados de una sola fuente

Wuxing Search resuelve todos estos problemas:

  • ✅ Totalmente gratuito - SearXNG autohospedado, sin costes de API

  • ✅ Búsqueda ilimitada - Limitadores de tasa desactivados, admite búsquedas de alta frecuencia

  • ✅ Agregación multifuente - Más de 100 motores como Google, Bing, DuckDuckGo, Brave, etc.

  • ✅ Respetuoso con la privacidad - Sin rastreo, sin registros

  • ✅ Integración MCP - Adaptación perfecta al flujo de trabajo de Claude Code


Related MCP server: SearXNG MCP Server

Descripción de la arquitectura

┌─────────────┐      ┌──────────────┐      ┌─────────────┐      ┌─────────────┐
│  你        │ ───▶ │ Claude Code │ ───▶ │ Wuxing      │ ───▶ │  SearXNG    │
│  (用户)    │      │  (MCP 客户端) │      │ Search MCP   │      │ (Docker)    │
└─────────────┘      └──────────────┘      │ (Node.js)   │      │ (Python)    │
                                            └──────────────┘      └─────────────┘
                                                    │
                                                    ▼
                                            ┌───────────────────────────┐
                                            │   搜索引擎聚合 (13+)      │
                                            │   通用: Google, Bing...   │
                                            │   代码: GitHub, HuggingFace│
                                            │   问答: StackOverflow     │
                                            │   包: npm, PyPI           │
                                            │   学术: arXiv             │
                                            │   社区: HN, Reddit        │
                                            │   以及 100+ 更多...       │
                                            └───────────────────────────┘

Características

✨ Funcionalidades actuales

  • 🔍 Búsqueda web ilimitada

    • Sin límites de tasa de API ni cuotas

    • Admite búsquedas de alta frecuencia

    • Cantidad de resultados configurable (1-100)

  • 🌐 Agregación multifuente

    • General: Google, Bing, DuckDuckGo, Baidu

    • Código: GitHub, Hugging Face, GitLab

    • Preguntas y respuestas: Stack Overflow

    • Paquetes: npm, PyPI, crates.io, Docker Hub

    • Académico: arXiv, Google Scholar, Semantic Scholar, PubMed

    • Comunidad: HackerNews, Reddit, Mastodon

    • Documentación: MDN

    • Noticias: Google News

    • Admite más de 100 motores de búsqueda

  • 📊 Opciones de búsqueda avanzada

    • Filtro de rango de tiempo (día, semana, mes, año)

    • Filtro de categoría (general, imágenes, vídeos, noticias, IT, ciencia, archivos, social)

    • Filtro de idioma

    • Nivel de búsqueda segura

  • 🔌 Integración MCP

    • Integración perfecta con Claude Code

    • Comunicación stdio (MCP no requiere puertos de red)

    • Protocolo JSON-RPC 2.0

  • 🐳 Despliegue sencillo

    • Despliegue de SearXNG basado en Docker

    • Instalación con un solo clic

    • Soporte multiplataforma (Windows, macOS, Linux)

  • 🔒 Privacidad primero

    • Sin rastreo, sin registros

    • Autohospedado, los datos no salen de tu máquina

    • Búsqueda anónima a través de SearXNG


Inicio rápido

Comienza en 4 sencillos pasos:

Requisitos previos

1. Clonar el proyecto

git clone https://github.com/MaesHughes/wuxing-search-mcp.git
cd wuxing-search-mcp

2. Instalar dependencias

npm install

3. Iniciar SearXNG

Opción A: Usar comandos de Docker (recomendado)

docker run -d \
  --name wuxing-searxng \
  --restart unless-stopped \
  -p 18080:8080 \
  -v "$(pwd)/searxng/config:/etc/searxng/" \
  -v "$(pwd)/searxng/data:/var/cache/searxng/" \
  searxng/searxng:latest

Opción B: Usar Docker Compose

docker-compose up -d

4. Configurar Claude Code

Busca tu archivo de configuración de Claude Code:

Windows:

%APPDATA%\Claude\claude_desktop_config.json

macOS / Linux:

~/.config/Claude/claude_desktop_config.json

Paso 1: Obtener la ruta de tu proyecto

Ejecuta el siguiente comando en el directorio del proyecto para obtener la ruta absoluta:

Windows (PowerShell):

Resolve-Path src\index.js

Windows (Git Bash / Bash):

pwd -W && echo "/src/index.js"
# 或手动拼接:$(pwd -W)/src/index.js

macOS / Linux:

pwd && echo "/src/index.js"
# 或手动拼接:$(pwd)/src/index.js

Paso 2: Añadir configuración

Añade la siguiente configuración al archivo de configuración, ⚠️ Asegúrate de reemplazar YOUR_FULL_PATH_HERE con la ruta real obtenida en el paso anterior:

Ejemplo de configuración en Windows

{
  "mcpServers": {
    "wuxing-search": {
      "type": "stdio",
      "command": "cmd",
      "args": [
        "/c",
        "node",
        "D:\\\\path\\\\to\\\\wuxing-search-mcp\\\\src\\\\index.js"
      ],
      "env": {
        "SEARXNG_URL": "http://localhost:18080",
        "MAX_RESULTS": "20",
        "TIMEOUT": "30000"
      }
    }
  }
}

Ejemplo de configuración en macOS / Linux

{
  "mcpServers": {
    "wuxing-search": {
      "type": "stdio",
      "command": "node",
      "args": [
        "/home/username/wuxing-search-mcp/src/index.js"
      ],
      "env": {
        "SEARXNG_URL": "http://localhost:18080",
        "MAX_RESULTS": "20",
        "TIMEOUT": "30000"
      }
    }
  }
}

Notas de configuración:

Elemento

Windows

macOS/Linux

Descripción

type

"stdio"

"stdio"

Tipo de protocolo de comunicación

command

"cmd"

"node"

Windows usa el envoltorio cmd

args

["/c", "node", "ruta..."]

["ruta..."]

La ruta debe ser absoluta

env.SEARXNG_URL

Dirección del servicio SearXNG

-

Por defecto http://localhost:18080

env.MAX_RESULTS

Número de resultados devueltos

-

Por defecto 20, rango 1-100

env.TIMEOUT

Tiempo de espera de solicitud (ms)

-

Por defecto 30000

⚠️ Nota importante:

  • Las barras invertidas en las rutas de Windows deben escaparse como barras dobles \\ (requisito de formato JSON)

  • O usa barras normales / (Windows también las admite)

  • La ruta debe ser absoluta, las rutas relativas no funcionan

  • Debes reiniciar completamente Claude Code para que los cambios de configuración surtan efecto

5. Reiniciar Claude Code

Cierra y vuelve a abrir Claude Code completamente.


Modo de uso

Búsqueda básica

Escribe directamente en Claude Code:

请搜索最新的 AI 编程工具

Parámetros de búsqueda avanzada

También puedes especificar parámetros:

请搜索最近一周的 React 教程,返回 10 条结果

Herramientas disponibles

1. web_search

Realiza una búsqueda web y devuelve los resultados.

Parámetro

Descripción

Obligatorio

Valor por defecto

query

Palabras clave de búsqueda

Sí

-

max_results

Cantidad de resultados (1-100)

No

20

category

Categoría de búsqueda

No

general

language

Código de idioma

No

all

time_range

Filtro de rango de tiempo

No

none

safesearch

Nivel de búsqueda segura (0-2)

No

1

Opciones de categoría:

  • general - Búsqueda general

  • images - Búsqueda de imágenes

  • videos - Búsqueda de vídeos

  • news - Búsqueda de noticias

  • it - Tecnología IT

  • science - Ciencia

  • files - Archivos

  • social - Redes sociales

Opciones de rango de tiempo:

  • day - Últimas 24 horas

  • week - Última semana

  • month - Último mes

  • year - Último año

  • none - Sin filtro de tiempo

2. get_server_info

Obtiene información sobre el estado del servidor de búsqueda. Sin parámetros.

Ejemplos de uso

Ejemplo 1: Buscar proyectos de código abierto

请搜索 GitHub 上热门的 AI agent 项目

Ejemplo 2: Buscar problemas técnicos

在 Stack Overflow 上搜索 MCP 连接错误的解决方案

Ejemplo 3: Buscar artículos académicos

请搜索 arXiv 上关于多智能体协作的最新论文

Ejemplo 4: Buscar librerías de Python

在 PyPI 上搜索 LangChain agents 相关的包

Ejemplo 5: Buscar discusiones de desarrolladores

请搜索 HackerNews 上关于 AI 编程的讨论

Ejemplo 6: Consultar estado del servidor

查询搜索服务器状态

Comandos de gestión

Comandos NPM

# 查看 SearXNG 状态
npm run status:searxng

# 查看 SearXNG 日志
npm run logs:searxng

# 重启 SearXNG
npm run restart:searxng

# 停止 SearXNG
npm run stop:searxng

# 启动 SearXNG
npm run start:searxng

# 测试搜索服务
npm run test:searxng

Comandos Docker

# 查看容器状态
docker ps | grep wuxing-searxng

# 查看实时日志
docker logs -f wuxing-searxng

# 重启服务
docker restart wuxing-searxng

# 停止服务
docker stop wuxing-searxng

# 启动服务
docker start wuxing-searxng

# 删除并重建
docker stop wuxing-searxng && docker rm wuxing-searxng
# 然后重新运行启动命令

Opciones de configuración

Configura el servidor MCP a través de variables de entorno:

Variable

Descripción

Valor por defecto

SEARXNG_URL

Dirección del servicio SearXNG

http://localhost:18080

MAX_RESULTS

Número de resultados devueltos

20

TIMEOUT

Tiempo de espera de solicitud (ms)

30000

Añade estas variables en el campo env de la configuración de Claude Code para personalizar el comportamiento.


Solución de problemas

Problema 1: La herramienta de búsqueda no aparece o da error

Lista de verificación:

  1. ✅ ¿Está ejecutándose el contenedor SearXNG?

    docker ps | grep wuxing-searxng
  2. ✅ ¿Funciona correctamente el servicio SearXNG?

    curl http://localhost:18080
  3. ✅ ¿Es correcta la ruta del archivo de configuración (usando ruta absoluta)?

  4. ✅ ¿Es la versión de Node.js >= 18?

    node --version
  5. ✅ ¿Se ha reiniciado Claude Code?

Problema 2: El contenedor SearXNG no arranca

Comprobar:

  1. ¿Está ocupado el puerto 18080?

    # Windows
    netstat -ano | findstr :18080
    
    # Linux/Mac
    lsof -ti:18080
  2. ¿Está ejecutándose el servicio Docker?

  3. Ver los registros del contenedor:

    docker logs wuxing-searxng

Solución:

# 删除旧容器并重新创建
docker stop wuxing-searxng && docker rm wuxing-searxng
# 然后重新运行启动命令

Problema 3: La búsqueda devuelve error de conexión

Causa posible: El servicio SearXNG aún no se ha iniciado completamente

Solución:

# 等待 5-10 秒后重试
# 或重启 SearXNG
docker restart wuxing-searxng

Problema 4: Los resultados contienen contenido antiguo

Causa: El filtrado de tiempo depende del soporte del motor de búsqueda

Solución:

  1. Usa un rango de tiempo más corto (day en lugar de week)

  2. Añade palabras clave de tiempo explícitas en la consulta (ej. enero 2025)

  3. Uso combinado:

    请搜索 2025年1月的 React 新特性

Arquitectura técnica

Servidor MCP (Node.js)

  • Archivo: src/index.js

  • Dependencias: @modelcontextprotocol/sdk, axios

  • Comunicación: stdio (entrada/salida estándar)

  • Función: Implementar el protocolo MCP, reenviar solicitudes a SearXNG

SearXNG (Python/Docker)

  • Imagen: searxng/searxng:latest

  • Puerto: 18080 (host) → 8080 (contenedor)

  • Configuración: searxng/config/settings.yml

  • Datos: searxng/data/ (caché)

  • Función: Agregar más de 100 motores de búsqueda

Flujo de datos

用户输入
  → Claude Code
  → MCP Server (stdio)
  → HTTP 请求到 SearXNG
  → 并发请求到各搜索引擎
  → 聚合结果
  → 返回给用户

Estructura del proyecto

wuxing-search-mcp/
├── src/                  # MCP Server 源码
│   └── index.js         # MCP Server 主实现
├── searxng/             # SearXNG 配置
│   ├── config/          # SearXNG settings.yml
│   └── data/            # SearXNG 缓存(自动创建)
├── assets/              # 文档图片
│   └── banner.png       # 项目横幅
├── package.json         # NPM 包配置
├── docker-compose.yml   # Docker Compose 配置
├── install.sh           # Linux/Mac 安装脚本
├── install.ps1          # Windows 安装脚本
├── README.md            # 英文版
├── README.zh-CN.md      # 中文版(本文件)
└── INSTALL.md           # 详细安装指南

Preguntas frecuentes

P: ¿Por qué necesito Docker?

R: SearXNG es un proyecto de Python que depende de más de 50 paquetes de Python. Docker proporciona:

  • Evitar la compleja instalación manual de dependencias

  • Aislamiento del entorno

  • Simplificación del despliegue y actualizaciones

P: ¿Puedo prescindir de Docker?

R: Teóricamente sí, pero no se recomienda. Necesitarías:

  1. Instalar Python 3.14

  2. Instalar manualmente más de 50 dependencias de Python

  3. Configurar el entorno de Python

La solución Docker es más sencilla y fiable.

P: ¿Tiene límites la búsqueda?

R: ¡No! Esta es la ventaja principal del proyecto:

  • Totalmente autohospedado

  • Sin límites de llamadas a la API

  • Sin límites de tasa de solicitudes

P: ¿Qué motores de búsqueda admite?

R: SearXNG admite 245 motores de búsqueda, con 89 habilitados por defecto.

Los 21 motores habilitados actualmente:

Categoría

Motor de búsqueda

Búsqueda general

Google, Bing, DuckDuckGo, Baidu

Repositorios de código

GitHub, Hugging Face, GitLab

Preguntas técnicas

Stack Overflow

Gestores de paquetes

npm, PyPI, crates.io, Docker Hub

Artículos académicos

arXiv, Google Scholar, Semantic Scholar, PubMed

Comunidades de desarrolladores

HackerNews, Reddit, Mastodon

Documentación de desarrollo

MDN Web Docs

Fuentes de noticias

Google News

Otros motores disponibles (se pueden habilitar en la configuración):

  • Código: Bitbucket, Codeberg, Gitea, SourceHut

  • Gestión de paquetes: RubyGems, Go, Hex, Packagist

  • Social: Lemmy

  • Vídeo: YouTube, Vimeo, Bilibili

  • Y más...

P: ¿Cómo es la calidad de la búsqueda?

R: Depende de los motores de búsqueda habilitados. La configuración por defecto ya incluye los principales motores, por lo que la calidad es buena. Si necesitas ajustes, puedes editar searxng/config/settings.yml.


Contribución

¡Las contribuciones de la comunidad son bienvenidas! Puedes ayudarnos de la siguiente manera:

  1. Haz un Fork de este repositorio

  2. Crea una rama de funciones (git checkout -b feature/amazing-feature)

  3. Envía tus cambios (git commit -m 'Add amazing feature')

  4. Empuja a la rama (git push origin feature/amazing-feature)

  5. Abre un Pull Request

Formas de contribuir

  • Mejorar la configuración de los motores de búsqueda

  • Añadir nuevas funciones al servidor MCP

  • Informar de errores y problemas

  • Sugerir nuevas funciones

  • Mejorar la documentación

  • Compartir tus comentarios


Recursos

📚 Documentación

🌐 Sitio web oficial

💬 Comunidad


Licencia

Licencia MIT - Ver el archivo LICENSE para más detalles.


Agradecimientos


Hecho con ❤️ por el equipo de Wuxing

⭐ Danos una estrella en GitHub — ¡nos ayuda mucho!

Available Tools

2 tools
get_server_infoB

获取搜索服务器信息,包括服务状态、版本等。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool retrieves information (implying read-only behavior) and lists examples of what information is included (service status, version). However, it doesn't disclose important behavioral traits like whether this requires authentication, has rate limits, returns structured or unstructured data, or has any side effects. For a tool with zero annotation coverage, this leaves significant gaps in understanding how the tool behaves.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that states the purpose and provides examples of what information is included. There's no wasted language or unnecessary elaboration. While it could be slightly more structured by separating purpose from examples, it's appropriately sized for a simple tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (no parameters, no output schema, no annotations), the description provides adequate coverage of what the tool does. It explains the purpose and gives examples of returned information. However, without annotations or output schema, it should ideally provide more behavioral context (like authentication requirements or response format) to be fully complete. The description is minimally viable but has clear gaps in behavioral transparency.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and schema description coverage is 100% (empty schema is fully documented). With no parameters to explain, the description appropriately doesn't discuss parameters. It focuses on what information is retrieved rather than how to call the tool, which is correct for a parameterless tool. The baseline for zero parameters with high schema coverage is 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose as '获取搜索服务器信息,包括服务状态、版本等' (Get search server information, including service status, version, etc.), which specifies the verb ('获取' - get) and resource ('搜索服务器信息' - search server information). It distinguishes from the sibling tool 'web_search' by focusing on server metadata rather than performing searches. However, it doesn't explicitly differentiate from potential other server-related tools beyond the single sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention the sibling tool 'web_search' or explain that this is for server diagnostics while 'web_search' is for content retrieval. There's no context about prerequisites, timing, or use cases beyond the basic purpose statement.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updatesv1.0.0
    • First observedget_server_info
    • First observedweb_search

TDQS

A3.6/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have completely distinct purposes: get_server_info retrieves server metadata, while web_search performs actual web searches. There is no overlap or ambiguity between them, making it easy for an agent to select the correct tool based on the task.

Naming Consistency5/5

Both tools follow a consistent verb_noun naming pattern (get_server_info and web_search). The naming is clear, predictable, and adheres to the same convention throughout, with no mixing of styles or deviations.

Tool Count2/5

With only 2 tools, the server feels under-scoped for its stated purpose of supporting web search for tasks like collecting references for course development. While the tools are functional, the count is too low to provide comprehensive coverage, lacking operations like advanced search filtering or result management.

Completeness3/5

The server covers basic search functionality with web_search and server status with get_server_info, but there are notable gaps. For example, it lacks tools for saving, organizing, or analyzing search results, which would be useful for the described use cases like course development. The surface is functional but incomplete for sustained workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Provides privacy-focused web search capabilities through SearXNG metasearch engine, enabling web, image, video, and news searches without tracking. Includes comprehensive research tools that aggregate and analyze results from multiple search engines.
    3
    4
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to perform privacy-respecting web searches through SearXNG, with support for multiple search engines, categories, and advanced filtering options.
    153 npm
    27
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A free and unlimited web search server that enables AI models to search, crawl, and research web content using DuckDuckGo without requiring API keys. It features parallel crawling and a smart ranking system to prioritize the most relevant information for complex queries.
    185 npm
    4
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides free web search, content fetching, image search, and deep research via SearXNG, no API keys required.
    -