Skip to main content
Glama
MaesHughes

Wuxing Search MCP

by MaesHughes

Wuxing Search MCP とは?

Wuxing Search MCP は、SearXNG をベースに構築された強力な無制限検索サーバーです。モデルコンテキストプロトコル(MCP)を通じて Claude Code とシームレスに統合され、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+ 更多...       │
                                            └───────────────────────────┘

主な機能

✨ 現在の機能

  • 🔍 無制限の Web 検索

    • API レート制限やクォータなし

    • 高頻度の検索をサポート

    • 結果数を設定可能(1-100)

  • 🌐 マルチソース統合

    • 一般:Google、Bing、DuckDuckGo、Baidu

    • コード:GitHub、Hugging Face、GitLab

    • Q&A: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 プロトコル

  • 🐳 簡単なデプロイ

    • Docker ベースの SearXNG デプロイ

    • ワンクリックインストール

    • クロスプラットフォーム対応(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 の起動

方法 A: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

方法 B: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

Web 検索を実行し、結果を返します。

パラメータ

説明

必須

デフォルト値

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 - 過去 1 週間

  • month - 過去 1 ヶ月

  • year - 過去 1 年

  • 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

Claude Code 設定の env フィールドにこれらの変数を追加して動作をカスタマイズします。


トラブルシューティング

問題 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. より短い時間範囲を使用する(week ではなく day)

  2. クエリに明確な時間キーワードを追加する(例:2025年1月)

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

よくある質問

Q: なぜ Docker が必要なのですか?

A: SearXNG は Python プロジェクトであり、50 以上の Python パッケージに依存しています。Docker は以下を提供します:

  • 複雑な手動依存関係インストールの回避

  • 環境の分離

  • デプロイと更新の簡素化

Q: Docker なしで実行できますか?

A: 理論上は可能ですが、推奨されません。以下の作業が必要です:

  1. Python 3.14 のインストール

  2. 50 以上の Python 依存関係の手動インストール

  3. Python 環境の設定

Docker ソリューションの方がシンプルで信頼性が高いです。

Q: 検索に制限はありますか?

A: ありません!これが本プロジェクトの核心的な利点です:

  • 完全セルフホスト

  • API 呼び出し制限なし

  • リクエストレート制限なし

Q: どの検索エンジンをサポートしていますか?

A: SearXNG は 245 の検索エンジンをサポートしており、デフォルトで 89 が有効になっています。

現在有効な 21 のエンジン:

カテゴリ

検索エンジン

一般検索

Google, Bing, DuckDuckGo, Baidu

コードリポジトリ

GitHub, Hugging Face, GitLab

技術 Q&A

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

  • など...

Q: 検索品質はどうですか?

A: 有効にした検索エンジンに依存します。デフォルト設定には主要な検索エンジンが含まれており、品質は良好です。調整が必要な場合は 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.
    -