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.
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.jswith 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 searchimages- Image searchvideos- Video searchnews- News searchit- IT & Technologyscience- Sciencefiles- Filessocial- Social media
Time Range Options:
day- Past 24 hoursweek- Past weekmonth- Past monthyear- Past yearnone- 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:
-
✅ Is SearXNG container running?
docker ps | grep wuxing-searxng -
✅ Is SearXNG service healthy?
curl http://localhost:8888 -
✅ Is config file path correct (use absolute path)?
-
✅ Is Node.js version >= 18?
node --version -
✅ Has Claude Code been restarted?
Problem 2: SearXNG Container Won't Start
Check:
-
Is port 8888 occupied?
# Windows netstat -ano | findstr :8888 # Linux/Mac lsof -ti:8888 -
Is Docker service running?
-
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:
- Use shorter time ranges (
dayinstead ofweek) - Add explicit time keywords in query (e.g.,
January 2025) - 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:
- Install Python 3.14
- Manually install 50+ Python dependencies
- 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:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - 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
- Installation Guide - Detailed installation instructions
- SearXNG Documentation - Official SearXNG docs
- MCP Specification - Model Context Protocol
🌐 Official Website
- Wuxing Codes Blog - Latest updates and tutorials
💬 Community
- GitHub Issues - Report bugs
- GitHub Discussions - Ask questions
License
MIT License - see LICENSE file for details.
Acknowledgments
- Built on top of SearXNG - An open-source metasearch engine
- Built for the Claude Code community
- Part of the Wuxing Codes ecosystem
<div align="center">
Made with ❤️ by the Wuxing team
⭐ Star us on GitHub — it helps!
</div>
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。