Skip to main content
Glama
MaesHughes

Wuxing Search MCP

by MaesHughes

Was ist Wuxing Search MCP?

Wuxing Search MCP ist ein leistungsstarker, unbegrenzter Suchserver, der auf SearXNG basiert. Er lässt sich über das Model Context Protocol nahtlos in Claude Code integrieren und bietet kostenlose, unbegrenzte Suchfunktionen durch die Aggregation von Ergebnissen aus über 100 Suchmaschinen.

Warum Wuxing Search wählen?

Herkömmliche Such-APIs haben Einschränkungen:

  • ❌ Ratenbegrenzungen und Kontingente

  • ❌ Hohe API-Kosten

  • ❌ Ergebnisse aus einer einzigen Quelle

Wuxing Search löst all diese Probleme:

  • ✅ Völlig kostenlos - Selbst gehostetes SearXNG, keine API-Kosten

  • ✅ Unbegrenzte Suche - Ratenbegrenzer deaktiviert, unterstützt hochfrequente Suchen

  • ✅ Multi-Quellen-Aggregation - Über 100 Suchmaschinen wie Google, Bing, DuckDuckGo, Brave usw.

  • ✅ Datenschutzfreundlich - Kein Tracking, keine Protokollierung

  • ✅ MCP-Integration - Perfekt angepasst an den Claude Code-Workflow


Related MCP server: SearXNG MCP Server

Architekturhinweise

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

Funktionsmerkmale

✨ Aktuelle Funktionen

  • 🔍 Unbegrenzte Websuche

    • Keine API-Ratenbegrenzungen oder Kontingente

    • Unterstützung für hochfrequente Suchen

    • Konfigurierbare Anzahl der Ergebnisse (1-100)

  • 🌐 Multi-Quellen-Aggregation

    • Allgemein: Google, Bing, DuckDuckGo, Baidu

    • Code: GitHub, Hugging Face, GitLab

    • Q&A: Stack Overflow

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

    • Akademisch: arXiv, Google Scholar, Semantic Scholar, PubMed

    • Community: HackerNews, Reddit, Mastodon

    • Dokumentation: MDN

    • Nachrichten: Google News

    • Unterstützung für über 100 Suchmaschinen

  • 📊 Erweiterte Suchoptionen

    • Zeitbereichsfilter (Tag, Woche, Monat, Jahr)

    • Kategoriefilter (Allgemein, Bilder, Videos, Nachrichten, IT, Wissenschaft, Dateien, Soziales)

    • Sprachfilter

    • SafeSearch-Stufen

  • 🔌 MCP-Integration

    • Nahtlose Integration mit Claude Code

    • stdio-Kommunikation (MCP benötigt keine Netzwerk-Ports)

    • JSON-RPC 2.0 Protokoll

  • 🐳 Einfache Bereitstellung

    • Docker-basierte SearXNG-Bereitstellung

    • Ein-Klick-Installation

    • Plattformübergreifende Unterstützung (Windows, macOS, Linux)

  • 🔒 Datenschutz zuerst

    • Kein Tracking, keine Protokollierung

    • Selbst gehostet, Daten verlassen niemals Ihren Rechner

    • Anonyme Suche über SearXNG


Schnellstart

In 4 einfachen Schritten loslegen:

Voraussetzungen

1. Projekt klonen

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

2. Abhängigkeiten installieren

npm install

3. SearXNG starten

Methode A: Docker-Befehl verwenden (empfohlen)

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

Methode B: Docker Compose verwenden

docker-compose up -d

4. Claude Code konfigurieren

Suchen Sie Ihre Claude Code-Konfigurationsdatei:

Windows:

%APPDATA%\Claude\claude_desktop_config.json

macOS / Linux:

~/.config/Claude/claude_desktop_config.json

Schritt 1: Pfad Ihres Projekts abrufen

Führen Sie im Projektverzeichnis den folgenden Befehl aus, um den absoluten Pfad zu erhalten:

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

Schritt 2: Konfiguration hinzufügen

Fügen Sie die folgende Konfiguration zur Konfigurationsdatei hinzu, ⚠️ ersetzen Sie unbedingt YOUR_FULL_PATH_HERE durch den tatsächlichen Pfad aus dem vorherigen Schritt:

Windows-Konfigurationsbeispiel

{
  "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-Konfigurationsbeispiel

{
  "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"
      }
    }
  }
}

Konfigurationshinweise:

Konfiguration

Windows

macOS/Linux

Beschreibung

type

"stdio"

"stdio"

Kommunikationstyp

command

"cmd"

"node"

Windows verwendet cmd-Wrapper

args

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

["Pfad..."]

Pfad muss absolut sein

env.SEARXNG_URL

SearXNG-Service-Adresse

-

Standard http://localhost:18080

env.MAX_RESULTS

Standard-Ergebnisanzahl

-

Standard 20, Bereich 1-100

env.TIMEOUT

Request-Timeout (ms)

-

Standard 30000

⚠️ Wichtiger Hinweis:

  • Backslashes in Windows-Pfaden müssen als doppelte Backslashes \\ maskiert werden (JSON-Format-Anforderung)

  • Alternativ können Schrägstriche / verwendet werden (Windows unterstützt diese ebenfalls)

  • Der Pfad muss ein absoluter Pfad sein, relative Pfade funktionieren nicht

  • Nach dem Ändern der Konfiguration muss Claude Code vollständig neu gestartet werden, damit die Änderungen wirksam werden

5. Claude Code neu starten

Beenden Sie Claude Code vollständig und öffnen Sie es erneut.


Verwendung

Grundlegende Suche

Geben Sie direkt in Claude Code ein:

请搜索最新的 AI 编程工具

Erweiterte Suchparameter

Sie können auch Parameter angeben:

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

Verfügbare Tools

1. web_search

Führt eine Websuche durch und gibt Ergebnisse zurück.

Parameter

Beschreibung

Erforderlich

Standardwert

query

Suchbegriff

Ja

-

max_results

Anzahl der Ergebnisse (1-100)

Nein

20

category

Suchkategorie

Nein

general

language

Sprachcode

Nein

all

time_range

Zeitbereichsfilter

Nein

none

safesearch

SafeSearch-Stufe (0-2)

Nein

1

Kategorieoptionen:

  • general - Allgemeine Suche

  • images - Bildersuche

  • videos - Videosuche

  • news - Nachrichtensuche

  • it - IT-Technik

  • science - Wissenschaft

  • files - Dateien

  • social - Soziale Medien

Zeitbereichsoptionen:

  • day - Letzte 24 Stunden

  • week - Letzte Woche

  • month - Letzter Monat

  • year - Letztes Jahr

  • none - Kein Zeitfilter

2. get_server_info

Ruft Statusinformationen des Suchservers ab. Keine Parameter.

Anwendungsbeispiele

Beispiel 1: Open-Source-Projekt suchen

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

Beispiel 2: Technische Frage suchen

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

Beispiel 3: Akademische Arbeit suchen

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

Beispiel 4: Python-Bibliothek suchen

在 PyPI 上搜索 LangChain agents 相关的包

Beispiel 5: Entwicklerdiskussion suchen

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

Beispiel 6: Serverstatus abfragen

查询搜索服务器状态

Verwaltungsbefehle

NPM-Befehle

# 查看 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-Befehle

# 查看容器状态
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
# 然后重新运行启动命令

Konfigurationsoptionen

Konfiguration des MCP-Servers über Umgebungsvariablen:

Variable

Beschreibung

Standardwert

SEARXNG_URL

SearXNG-Service-Adresse

http://localhost:18080

MAX_RESULTS

Standard-Ergebnisanzahl

20

TIMEOUT

Request-Timeout (ms)

30000

Fügen Sie diese Variablen im env-Feld der Claude Code-Konfiguration hinzu, um das Verhalten anzupassen.


Fehlerbehebung

Problem 1: Such-Tools werden nicht angezeigt oder verursachen Fehler

Checkliste:

  1. ✅ Läuft der SearXNG-Container?

    docker ps | grep wuxing-searxng
  2. ✅ Funktioniert der SearXNG-Service ordnungsgemäß?

    curl http://localhost:18080
  3. ✅ Ist der Pfad der Konfigurationsdatei korrekt (absoluten Pfad verwenden)?

  4. ✅ Ist die Node.js-Version >= 18?

    node --version
  5. ✅ Wurde Claude Code neu gestartet?

Problem 2: SearXNG-Container startet nicht

Prüfung:

  1. Ist Port 18080 belegt?

    # Windows
    netstat -ano | findstr :18080
    
    # Linux/Mac
    lsof -ti:18080
  2. Läuft der Docker-Service?

  3. Container-Logs prüfen:

    docker logs wuxing-searxng

Lösung:

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

Problem 3: Suche gibt Verbindungsfehler zurück

Mögliche Ursache: SearXNG-Service ist noch nicht vollständig gestartet

Lösung:

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

Problem 4: Ergebnisse enthalten veraltete Inhalte

Ursache: Zeitfilter hängen von der Unterstützung der Suchmaschine ab

Lösung:

  1. Kürzere Zeitbereiche verwenden (day statt week)

  2. Explizite Zeitbegriffe in der Query hinzufügen (z. B. Januar 2025)

  3. Kombination verwenden:

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

Technische Architektur

MCP-Server (Node.js)

  • Datei: src/index.js

  • Abhängigkeiten: @modelcontextprotocol/sdk, axios

  • Kommunikation: stdio (Standard Input/Output)

  • Aufgabe: Implementierung des MCP-Protokolls, Weiterleitung von Anfragen an SearXNG

SearXNG (Python/Docker)

  • Image: searxng/searxng:latest

  • Port: 18080 (Host) → 8080 (Container)

  • Konfiguration: searxng/config/settings.yml

  • Daten: searxng/data/ (Cache)

  • Aufgabe: Aggregation von über 100 Suchmaschinen

Datenfluss

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

Projektstruktur

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

Häufig gestellte Fragen (FAQ)

F: Warum wird Docker benötigt?

A: SearXNG ist ein Python-Projekt und hängt von über 50 Python-Paketen ab. Docker bietet:

  • Vermeidung komplexer manueller Abhängigkeitsinstallationen

  • Umgebungsisolierung

  • Vereinfachte Bereitstellung und Updates

F: Kann man es ohne Docker verwenden?

A: Theoretisch ja, aber nicht empfohlen. Sie müssten:

  1. Python 3.14 installieren

  2. Über 50 Python-Abhängigkeiten manuell installieren

  3. Die Python-Umgebung konfigurieren

Die Docker-Lösung ist einfacher und zuverlässiger.

F: Gibt es ein Limit für die Suche?

A: Nein! Das ist der Kernvorteil dieses Projekts:

  • Vollständig selbst gehostet

  • Keine API-Aufrufbeschränkungen

  • Keine Ratenbegrenzungen

F: Welche Suchmaschinen werden unterstützt?

A: SearXNG unterstützt 245 Suchmaschinen, 89 sind standardmäßig aktiviert.

Aktuell aktivierte 21 Engines:

Kategorie

Suchmaschine

Allgemeine Suche

Google, Bing, DuckDuckGo, Baidu

Code-Repositories

GitHub, Hugging Face, GitLab

Technische Fragen

Stack Overflow

Paketmanager

npm, PyPI, crates.io, Docker Hub

Akademische Arbeiten

arXiv, Google Scholar, Semantic Scholar, PubMed

Entwickler-Community

HackerNews, Reddit, Mastodon

Entwickler-Dokumentation

MDN Web Docs

Nachrichtenquellen

Google News

Weitere verfügbare Engines (können in der Konfiguration aktiviert werden):

  • Code: Bitbucket, Codeberg, Gitea, SourceHut

  • Paketverwaltung: RubyGems, Go, Hex, Packagist

  • Soziales: Lemmy

  • Video: YouTube, Vimeo, Bilibili

  • Und mehr...

F: Wie ist die Suchqualität?

A: Hängt von den aktivierten Suchmaschinen ab. Die Standardkonfiguration enthält bereits die wichtigsten Suchmaschinen und bietet eine gute Qualität. Bei Bedarf können Sie searxng/config/settings.yml bearbeiten.


Mitwirken

Beiträge aus der Community sind willkommen! So können Sie uns helfen:

  1. Forken Sie dieses Repository

  2. Erstellen Sie einen Feature-Branch (git checkout -b feature/amazing-feature)

  3. Commiten Sie Ihre Änderungen (git commit -m 'Add amazing feature')

  4. Pushen Sie den Branch (git push origin feature/amazing-feature)

  5. Öffnen Sie einen Pull Request

Möglichkeiten zur Mitwirkung

  • Verbesserung der Suchmaschinenkonfiguration

  • Hinzufügen neuer Funktionen zum MCP-Server

  • Melden von Bugs und Problemen

  • Vorschlagen neuer Funktionen

  • Verbesserung der Dokumentation

  • Teilen Ihres Feedbacks


Ressourcen

📚 Dokumentation

🌐 Offizielle Website

💬 Community


Lizenz

MIT License - Siehe LICENSE Datei für Details.


Danksagungen


Mit ❤️ vom Wuxing-Team erstellt

⭐ Geben Sie uns einen Stern auf GitHub — das hilft uns sehr!

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