Skip to main content
Glama
MaesHughes

Wuxing Search MCP

by MaesHughes

Что такое Wuxing Search MCP?

Wuxing Search MCP — это мощный сервер для неограниченного поиска, построенный на базе SearXNG. Он легко интегрируется с Claude Code через протокол Model Context Protocol (MCP), предоставляя бесплатные и неограниченные возможности поиска за счет агрегации результатов более чем 100 поисковых систем.

Традиционные API для поиска имеют ограничения:

  • ❌ Ограничения по частоте запросов и квоты

  • ❌ Высокая стоимость API

  • ❌ Результаты из одного источника

Wuxing Search решает все эти проблемы:

  • ✅ Полностью бесплатно — собственный экземпляр SearXNG, никаких затрат на API

  • ✅ Неограниченный поиск — отключены лимиты по частоте запросов, поддержка высокочастотного поиска

  • ✅ Агрегация множества источников — Google, Bing, DuckDuckGo, Brave и более 100 других движков

  • ✅ Конфиденциальность — без отслеживания и логирования

  • ✅ Интеграция с MCP — идеальная совместимость с рабочим процессом Claude Code


Related MCP server: SearXNG MCP Server

Описание архитектуры

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

Функциональные особенности

✨ Текущие возможности

  • 🔍 Неограниченный веб-поиск

    • Отсутствие лимитов API и квот

    • Поддержка высокочастотного поиска

    • Настраиваемое количество результатов (1-100)

  • 🌐 Агрегация множества источников

    • Общие: Google, Bing, DuckDuckGo, Baidu

    • Код: GitHub, Hugging Face, GitLab

    • Вопросы и ответы: Stack Overflow

    • Пакеты: npm, PyPI, crates.io, Docker Hub

    • Академические: arXiv, Google Scholar, Semantic Scholar, PubMed

    • Сообщества: HackerNews, Reddit, Mastodon

    • Документация: MDN

    • Новости: Google News

    • Поддержка более 100 поисковых систем

  • 📊 Расширенные параметры поиска

    • Фильтрация по времени (день, неделя, месяц, год)

    • Фильтрация по категориям (общие, изображения, видео, новости, IT, наука, файлы, социальные сети)

    • Фильтрация по языку

    • Уровни безопасного поиска

  • 🔌 Интеграция с MCP

    • Бесшовная интеграция с Claude Code

    • Связь через stdio (MCP не требует сетевых портов)

    • Протокол JSON-RPC 2.0

  • 🐳 Простая установка

    • Развертывание SearXNG на базе Docker

    • Установка в один клик

    • Кроссплатформенная поддержка (Windows, macOS, Linux)

  • 🔒 Приоритет конфиденциальности

    • Без отслеживания и логирования

    • Самостоятельный хостинг, данные не покидают ваш компьютер

    • Анонимный поиск через SearXNG


Быстрый старт

4 простых шага для начала работы:

Предварительные требования

1. Клонирование проекта

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

2. Установка зависимостей

npm install

3. Запуск SearXNG

Вариант А: Использование команды Docker (рекомендуется)

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

Вариант Б: Использование Docker Compose

docker-compose up -d

4. Настройка Claude Code

Найдите файл конфигурации Claude Code:

Windows:

%APPDATA%\Claude\claude_desktop_config.json

macOS / Linux:

~/.config/Claude/claude_desktop_config.json

Шаг 1: Получение пути к проекту

Выполните следующую команду в директории проекта, чтобы получить абсолютный путь:

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

Шаг 2: Добавление конфигурации

Добавьте следующую конфигурацию в файл, ⚠️ обязательно заменив YOUR_FULL_PATH_HERE на фактический путь, полученный на предыдущем шаге:

Пример конфигурации для 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"
      }
    }
  }
}

Пример конфигурации для 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"
      }
    }
  }
}

Примечания по конфигурации:

Параметр

Windows

macOS/Linux

Описание

type

"stdio"

"stdio"

Тип протокола связи

command

"cmd"

"node"

Windows использует обертку cmd

args

["/c", "node", "путь..."]

["путь..."]

Путь должен быть абсолютным

env.SEARXNG_URL

Адрес сервиса SearXNG

-

По умолчанию http://localhost:18080

env.MAX_RESULTS

Кол-во результатов

-

По умолчанию 20, диапазон 1-100

env.TIMEOUT

Тайм-аут запроса (мс)

-

По умолчанию 30000

⚠️ Важное примечание:

  • Обратные косые черты в путях Windows должны быть экранированы двойными \\ (требование формата JSON)

  • Либо используйте прямые косые черты / (Windows также их поддерживает)

  • Путь должен быть абсолютным, относительные пути не работают

  • После изменения конфигурации необходимо полностью перезапустить Claude Code

5. Перезапуск Claude Code

Полностью закройте и снова откройте Claude Code.


Использование

Базовый поиск

Введите прямо в Claude Code:

请搜索最新的 AI 编程工具

Параметры расширенного поиска

Вы также можете указать параметры:

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

Доступные инструменты

1. web_search

Выполняет веб-поиск и возвращает результаты.

Параметр

Описание

Обязательно

По умолчанию

query

Поисковый запрос

Да

-

max_results

Кол-во результатов (1-100)

Нет

20

category

Категория поиска

Нет

general

language

Код языка

Нет

all

time_range

Фильтр по времени

Нет

none

safesearch

Уровень безопасного поиска (0-2)

Нет

1

Опции категорий:

  • general - общий поиск

  • images - поиск изображений

  • videos - поиск видео

  • news - поиск новостей

  • it - IT-технологии

  • science - наука

  • files - файлы

  • social - социальные сети

Опции временного диапазона:

  • day - последние 24 часа

  • week - последняя неделя

  • month - последний месяц

  • year - последний год

  • none - без фильтрации по времени

2. get_server_info

Получение информации о состоянии поискового сервера. Без параметров.

Примеры использования

Пример 1: Поиск проектов с открытым исходным кодом

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

Пример 2: Поиск технических вопросов

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

Пример 3: Поиск научных статей

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

Пример 4: Поиск библиотек Python

在 PyPI 上搜索 LangChain agents 相关的包

Пример 5: Поиск обсуждений разработчиков

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

Пример 6: Проверка состояния сервера

查询搜索服务器状态

Команды управления

Команды 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

Команды 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
# 然后重新运行启动命令

Параметры конфигурации

Настройка MCP-сервера через переменные окружения:

Переменная

Описание

По умолчанию

SEARXNG_URL

Адрес сервиса SearXNG

http://localhost:18080

MAX_RESULTS

Кол-во результатов по умолчанию

20

TIMEOUT

Тайм-аут запроса (мс)

30000

Добавьте эти переменные в поле env конфигурации Claude Code для настройки поведения.


Устранение неполадок

Проблема 1: Инструменты поиска не отображаются или выдают ошибку

Чек-лист:

  1. ✅ Запущен ли контейнер SearXNG?

    docker ps | grep wuxing-searxng
  2. ✅ Работает ли сервис SearXNG нормально?

    curl http://localhost:18080
  3. ✅ Правильно ли указан путь к файлу конфигурации (используется ли абсолютный путь)?

  4. ✅ Версия Node.js >= 18?

    node --version
  5. ✅ Был ли перезапущен Claude Code?

Проблема 2: Контейнер SearXNG не запускается

Проверка:

  1. Занят ли порт 18080?

    # Windows
    netstat -ano | findstr :18080
    
    # Linux/Mac
    lsof -ti:18080
  2. Запущен ли сервис Docker?

  3. Проверьте логи контейнера:

    docker logs wuxing-searxng

Решение:

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

Проблема 3: Поиск возвращает ошибку соединения

Возможная причина: Сервис SearXNG еще не полностью запущен

Решение:

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

Проблема 4: Результаты содержат устаревший контент

Причина: Фильтрация по времени зависит от поддержки поисковой системы

Решение:

  1. Используйте более короткий временной диапазон (day вместо week)

  2. Добавьте явные временные ключевые слова в запрос (например, январь 2025)

  3. Используйте комбинацию:

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

Техническая архитектура

MCP Server (Node.js)

  • Файл: src/index.js

  • Зависимости: @modelcontextprotocol/sdk, axios

  • Связь: stdio (стандартный ввод/вывод)

  • Роль: реализация протокола MCP, пересылка запросов в SearXNG

SearXNG (Python/Docker)

  • Образ: searxng/searxng:latest

  • Порт: 18080 (хост) → 8080 (контейнер)

  • Конфигурация: searxng/config/settings.yml

  • Данные: searxng/data/ (кэш)

  • Роль: агрегация 100+ поисковых систем

Поток данных

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

Структура проекта

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           # 详细安装指南

Часто задаваемые вопросы

В: Зачем нужен Docker?

О: SearXNG — это проект на Python, зависящий от 50+ пакетов Python. Docker обеспечивает:

  • Избежание сложной ручной установки зависимостей

  • Изоляцию среды

  • Упрощение развертывания и обновлений

В: Можно ли обойтись без Docker?

О: Теоретически можно, но не рекомендуется. Вам потребуется:

  1. Установить Python 3.14

  2. Вручную установить 50+ зависимостей Python

  3. Настроить среду Python

Вариант с Docker проще и надежнее.

В: Есть ли лимиты на поиск?

О: Нет! Это главное преимущество проекта:

  • Полностью самостоятельный хостинг

  • Нет ограничений на вызовы API

  • Нет ограничений по частоте запросов

В: Какие поисковые системы поддерживаются?

О: SearXNG поддерживает 245 поисковых систем, 89 включены по умолчанию.

Текущие 21 включенный движок:

Категория

Поисковая система

Общий поиск

Google, Bing, DuckDuckGo, Baidu

Репозитории кода

GitHub, Hugging Face, GitLab

Технические вопросы

Stack Overflow

Менеджеры пакетов

npm, PyPI, crates.io, Docker Hub

Научные статьи

arXiv, Google Scholar, Semantic Scholar, PubMed

Сообщества разработчиков

HackerNews, Reddit, Mastodon

Документация

MDN Web Docs

Источники новостей

Google News

Другие доступные движки (можно включить в конфигурации):

  • Код: Bitbucket, Codeberg, Gitea, SourceHut

  • Пакеты: RubyGems, Go, Hex, Packagist

  • Социальные сети: Lemmy

  • Видео: YouTube, Vimeo, Bilibili

  • И другие...

В: Каково качество поиска?

О: Зависит от включенных поисковых систем. Конфигурация по умолчанию уже включает основные поисковые системы, качество хорошее. Если требуется настройка, можно отредактировать searxng/config/settings.yml.


Вклад в проект

Приветствуется вклад сообщества! Вы можете помочь нам так:

  1. Fork этого репозитория

  2. Создайте ветку функций (git checkout -b feature/amazing-feature)

  3. Зафиксируйте изменения (git commit -m 'Add amazing feature')

  4. Отправьте в ветку (git push origin feature/amazing-feature)

  5. Откройте Pull Request

Способы участия

  • Улучшение конфигурации поисковых систем

  • Добавление новых функций в MCP-сервер

  • Сообщение об ошибках и проблемах

  • Предложение новых функций

  • Улучшение документации

  • Обмен вашими отзывами


Ресурсы

📚 Документация

🌐 Официальный сайт

💬 Сообщество


Лицензия

MIT License - подробнее см. файл LICENSE.


Благодарности

  • Построено на базе проекта с открытым исходным кодом SearXNG

  • Создано для сообщества Claude Code

  • Является частью экосистемы Wuxing Codes


Сделано с ❤️ командой Wuxing

⭐ Поставьте нам звезду на GitHub — это очень помогает!

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.
    -