Provides the ability to query Brave Search for web content through the aggregated search service.
Allows performing web searches using DuckDuckGo results via the privacy-focused meta-search aggregator.
Facilitates searching for code repositories and developer-focused content on GitHub.
Enables searching Google for web results, news, and images through the meta-search aggregation interface.
Interfaces with a SearXNG instance to provide unlimited, privacy-friendly meta-search capabilities by aggregating results from over 100 different search engines.
Allows searching for programming solutions and technical discussions on Stack Overflow.
Enables searching and retrieving articles and encyclopedic information from Wikipedia.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Wuxing Search MCPsearch for the latest news about OpenAI's o3 model from this week"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
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
2. Install Dependencies
3. Start SearXNG
Option A: Using Docker Command (Recommended)
Option B: Using Docker Compose
4. Configure Claude Code
Find your Claude Code config file:
Windows:
macOS / Linux:
Add the following configuration (update the path to your actual project location):
Important:
Replace
D:\\path\\to\\wuxing-search-mcp\\src\\index.jswith your actual project pathWindows 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:
Advanced Search with Parameters
You can specify parameters:
Available Tools
1. web_search
Execute web searches and return results.
Parameter | Description | Required | Default |
| Search keywords | Yes | - |
| Number of results (1-100) | No | 20 |
| Search category | No | general |
| Language code | No | all |
| Time range filter | No | none |
| 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
Example 2: Search Latest Content
Example 3: Search Specific Category
Example 4: Check Server Status
Management
NPM Commands
Docker Commands
Configuration
Configure the MCP Server through environment variables:
Variable | Description | Default |
| SearXNG service address | |
| Default number of results | 20 |
| 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:8888Is Docker service running?
View container logs:
docker logs wuxing-searxng
Solution:
Problem 3: Search Returns Connection Error
Possible Cause: SearXNG service not fully started
Solution:
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.jsDependencies: @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
Project Structure
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
Made with ❤️ by the Wuxing team
⭐ Star us on GitHub — it helps!