Wuxing Search MCP

Wuxing Search MCP

A privacy-focused search server built on SearXNG that provides unlimited, multi-source web searching across 100+ engines. It enables AI tools to perform advanced searches with specialized filters for time, language, and content categories without API costs or rate limits.

Category
访问服务器

README

<p align="center"> <img src="assets/banner.png" alt="Wuxing Search MCP Banner" width="100%"> </p>

<p align="center"> <a href="README.zh-CN.md"> <b>English | 中文</b> </a> </p>

<p align="center"> <strong>Compatible with Claude Code, Cursor, Windsurf, and other AI-powered IDEs</strong> </p>

<h1 align="center">Wuxing Search MCP</h1>

<p align="center"> <i>Unlimited Search MCP Server Powered by SearXNG</i> </p>

<p align="center"> <strong>A powerful, unlimited search server that aggregates 100+ search engines</strong> </p>

<p align="center"> <a href="https://github.com/MaesHughes/wuxing-search-mcp"> <img src="https://img.shields.io/github/stars/MaesHughes/wuxing-search-mcp?style=flat-square" alt="stars"> </a> <a href="https://github.com/MaesHughes/wuxing-search-mcp/blob/main/LICENSE"> <img src="https://img.shields.io/badge/license-MIT-purple?style=flat-square" alt="license"> </a> <img src="https://img.shields.io/badge/node-%3E%3D18.0.0-brightgreen?style=flat-square" alt="node version"> <img src="https://img.shields.io/badge/docker-supported-blue?style=flat-square" alt="docker"> <img src="https://img.shields.io/badge/MCP-Compatible-success?style=flat-square" alt="mcp"> </p>

<p align="center"> <a href="#-features">Features</a> • <a href="#-quick-start">Quick Start</a> • <a href="#-installation">Installation</a> • <a href="#-usage">Usage</a> • <a href="#-management">Management</a> • <a href="#-troubleshooting">Troubleshooting</a> </p>


What is Wuxing Search MCP?

Wuxing Search MCP is a powerful, unlimited search server built on top of SearXNG. It integrates seamlessly with Claude Code via the Model Context Protocol, providing free and unlimited search capabilities by aggregating results from 100+ search engines.

Why Wuxing Search?

Traditional search APIs have limitations:

  • ❌ Rate limits and quotas
  • ❌ Expensive API costs
  • ❌ Single source results

Wuxing Search solves all of this:

  • Completely Free - Self-hosted SearXNG, no API costs
  • Unlimited Searches - Rate limiter disabled for high-frequency searching
  • Multi-Source Aggregation - Google, Bing, DuckDuckGo, Brave, and 100+ engines
  • Privacy Friendly - No tracking, no logging
  • MCP Integrated - Perfect for Claude Code workflow

Architecture

┌─────────────┐      ┌──────────────┐      ┌─────────────┐      ┌─────────────┐
│  You        │ ───▶ │ Claude Code │ ───▶ │ Wuxing      │ ───▶ │  SearXNG    │
│  (User)     │      │  (MCP Client) │      │ Search MCP   │      │ (Docker)    │
└─────────────┘      └──────────────┘      │ (Node.js)   │      │ (Python)    │
                                            └──────────────┘      └─────────────┘
                                                    │
                                                    ▼
                                            ┌───────────────────────────┐
                                            │   Search Engine Aggregator│
                                            │   - Google               │
                                            │   - Bing                 │
                                            │   - DuckDuckGo           │
                                            │   - Brave                │
                                            │   - Wikipedia            │
                                            │   - And 100+ more...     │
                                            └───────────────────────────┘

Features

✨ Current Features

  • 🔍 Unlimited Web Search

    • No API rate limits or quotas
    • Support for high-frequency searching
    • Configurable result count (1-100)
  • 🌐 Multi-Source Aggregation

    • Google, Bing, DuckDuckGo, Brave
    • Wikipedia, GitHub, Stack Overflow
    • 100+ search engines supported
  • 📊 Advanced Search Options

    • Time range filtering (day, week, month, year)
    • Category filtering (general, images, videos, news, it, science, files, social)
    • Language filtering
    • Safe search levels
  • 🔌 MCP Integration

    • Seamless Claude Code integration
    • stdio communication (no network ports for MCP)
    • JSON-RPC 2.0 protocol
  • 🐳 Easy Deployment

    • Docker-based SearXNG deployment
    • One-command installation
    • Cross-platform support (Windows, macOS, Linux)
  • 🔒 Privacy First

    • No tracking, no logging
    • Self-hosted, data never leaves your machine
    • Anonymous search requests via SearXNG

Quick Start

Get started in 4 simple steps:

Prerequisites

1. Clone the Project

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

2. Install Dependencies

npm install

3. Start SearXNG

Option A: Using Docker Command (Recommended)

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

Option B: Using Docker Compose

docker-compose up -d

4. Configure Claude Code

Find your Claude Code config file:

Windows:

%APPDATA%\Claude\claude_desktop_config.json

macOS / Linux:

~/.config/Claude/claude_desktop_config.json

Add the following configuration (update the path to your actual project location):

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

Important:

  • Replace D:\\path\\to\\wuxing-search-mcp\\src\\index.js with your actual project path
  • Windows paths use double backslashes \\
  • macOS/Linux paths use forward slashes /

5. Restart Claude Code

Completely quit and reopen Claude Code.


Usage

Basic Search

Simply ask in Claude Code:

Search for the latest AI programming tools

Advanced Search with Parameters

You can specify parameters:

Search for React tutorials from the past week, return 10 results

Available Tools

1. web_search

Execute web searches and return results.

Parameter Description Required Default
query Search keywords Yes -
max_results Number of results (1-100) No 20
category Search category No general
language Language code No all
time_range Time range filter No none
safesearch Safe search level (0-2) No 1

Category Options:

  • general - General search
  • images - Image search
  • videos - Video search
  • news - News search
  • it - IT & Technology
  • science - Science
  • files - Files
  • social - Social media

Time Range Options:

  • day - Past 24 hours
  • week - Past week
  • month - Past month
  • year - Past year
  • none - No time filter

2. get_server_info

Get search server status information. No parameters.

Usage Examples

Example 1: Search for Documentation

Search for OpenCode official documentation and tutorials

Example 2: Search Latest Content

Search for articles about AI Agent from the past week

Example 3: Search Specific Category

Search for Python machine learning library video tutorials

Example 4: Check Server Status

Check search server status

Management

NPM Commands

# View SearXNG status
npm run status:searxng

# View SearXNG logs
npm run logs:searxng

# Restart SearXNG
npm run restart:searxng

# Stop SearXNG
npm run stop:searxng

# Start SearXNG
npm run start:searxng

# Test search service
npm run test:searxng

Docker Commands

# View container status
docker ps | grep wuxing-searxng

# View real-time logs
docker logs -f wuxing-searxng

# Restart service
docker restart wuxing-searxng

# Stop service
docker stop wuxing-searxng

# Start service
docker start wuxing-searxng

# Delete and recreate
docker stop wuxing-searxng && docker rm wuxing-searxng
# Then re-run the start command

Configuration

Configure the MCP Server through environment variables:

Variable Description Default
SEARXNG_URL SearXNG service address http://localhost:8888
MAX_RESULTS Default number of results 20
TIMEOUT Request timeout (ms) 30000

Add these variables in the env field of your Claude Code configuration.


Troubleshooting

Problem 1: Search Tool Not Showing or Error

Checklist:

  1. ✅ Is SearXNG container running?

    docker ps | grep wuxing-searxng
    
  2. ✅ Is SearXNG service healthy?

    curl http://localhost:8888
    
  3. ✅ Is config file path correct (use absolute path)?

  4. ✅ Is Node.js version >= 18?

    node --version
    
  5. ✅ Has Claude Code been restarted?

Problem 2: SearXNG Container Won't Start

Check:

  1. Is port 8888 occupied?

    # Windows
    netstat -ano | findstr :8888
    
    # Linux/Mac
    lsof -ti:8888
    
  2. Is Docker service running?

  3. View container logs:

    docker logs wuxing-searxng
    

Solution:

# Delete old container and recreate
docker stop wuxing-searxng && docker rm wuxing-searxng
# Then re-run the start command

Problem 3: Search Returns Connection Error

Possible Cause: SearXNG service not fully started

Solution:

# Wait 5-10 seconds and retry
# Or restart SearXNG
docker restart wuxing-searxng

Problem 4: Results Contain Old Content

Cause: Time filtering depends on search engine support

Solution:

  1. Use shorter time ranges (day instead of week)
  2. Add explicit time keywords in query (e.g., January 2025)
  3. Combine both approaches:
    Search for React new features in January 2025
    

Technical Architecture

MCP Server (Node.js)

  • File: src/index.js
  • Dependencies: @modelcontextprotocol/sdk, axios
  • Communication: stdio (standard input/output)
  • Role: Implement MCP protocol, forward requests to SearXNG

SearXNG (Python/Docker)

  • Image: searxng/searxng:latest
  • Port: 8888 (host) → 8080 (container)
  • Config: searxng/config/settings.yml
  • Data: searxng/data/ (cache)
  • Role: Aggregate 100+ search engines

Data Flow

User Input
  → Claude Code
  → MCP Server (stdio)
  → HTTP request to SearXNG
  → Parallel requests to search engines
  → Aggregate results
  → Return to user

Project Structure

wuxing-search-mcp/
├── src/                  # MCP Server source
│   └── index.js         # Main MCP Server implementation
├── searxng/             # SearXNG configuration
│   ├── config/          # SearXNG settings.yml
│   └── data/            # SearXNG cache (auto-created)
├── assets/              # Documentation images
│   └── banner.png       # Project banner
├── package.json         # NPM package configuration
├── docker-compose.yml   # Docker Compose configuration
├── install.sh           # Linux/Mac installation script
├── install.ps1          # Windows installation script
├── README.md            # This file (English)
├── README.zh-CN.md      # Chinese version
└── INSTALL.md           # Detailed installation guide

FAQ

Q: Why is Docker required?

A: SearXNG is a Python project with 50+ Python package dependencies. Docker provides:

  • Avoid complex manual dependency installation
  • Environment isolation
  • Simplified deployment and updates

Q: Can I skip Docker?

A: Theoretically yes, but not recommended. You would need to:

  1. Install Python 3.14
  2. Manually install 50+ Python dependencies
  3. Configure Python environment

The Docker approach is much simpler and more reliable.

Q: Are there search limits?

A: No! This is the core advantage of this project:

  • Completely self-hosted
  • No API call limits
  • No request rate limits

Q: Which search engines are supported?

A: SearXNG supports 100+ search engines, including:

  • General: Brave, DuckDuckGo, Google, Bing
  • Encyclopedia: Wikipedia, Brave Encyclopedia
  • Tech: GitHub, Stack Overflow, NPM
  • Video: YouTube, Dailymotion, Vimeo
  • Files: KickassTorrent, 1337x
  • And many more...

Q: How is search quality?

A: Depends on enabled search engines. Default configuration includes mainstream search engines with good quality. To adjust, edit searxng/config/settings.yml.


Contributing

We welcome contributions from the community! Here's how you can help:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Ways to Contribute

  • Improve search engine configurations
  • Add new features to MCP Server
  • Report bugs and issues
  • Suggest new features
  • Improve documentation
  • Share your feedback

Resources

📚 Documentation

🌐 Official Website

💬 Community


License

MIT License - see LICENSE file for details.


Acknowledgments


<div align="center">

Made with ❤️ by the Wuxing team

⭐ Star us on GitHub — it helps!

</div>

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选