About searxng-mul
searxng-mul is an MCP server published by git+jae-jae in the AI category: a Model Context Protocol (MCP) server for SearXNG search engine with multi-query parallel search support. It has been installed 0 times through Conduid.
The repository has 96 stars and 6 forks, with the last commit a year ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues (0) before depending on it in production.
Install
npx searxng-mul-mcpclaude mcp add searxng-mul-mcp -- npx -y searxng-mul-mcpnpx -y searxng-mul-mcpThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about searxng-mul
Powered by Claude · Grounded in docs
Security checks
- ·README presentNot checked yet.
- ·License declaredNot checked yet.
- ·Tests presentNot checked yet.
- ·Dependencies pinnedNot checked yet.
- ·No dynamic code executionNot checked yet.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
README
中文 | Deutsch | English | Español | français | 日本語 | 한국어 | Português | Русский
SearXNG Mul MCP
A Model Context Protocol (MCP) server for SearXNG metasearch engine integration, supporting multi-query parallel search with both stdio and HTTP transport protocols.
🌟 Recommended: OllaMan - Powerful Ollama AI Model Manager.
Features
- ✅ Multi-Query Parallel Search: Execute multiple search queries simultaneously for improved efficiency
- ✅ Dual Transport Support: Compatible with both stdio and HTTP MCP transport protocols
- ✅ SearXNG API Integration: Direct integration with SearXNG REST API without browser automation
- ✅ Basic Authentication: Support for SearXNG servers with Basic Auth protection
- ✅ Docker Deployment: Complete containerization with Docker and Docker Compose
- ✅ Environment Configuration: Flexible configuration management through environment variables
Quick Start
NPM Usage
Stdio Mode (Default)
SEARXNG_URL=https://your.searxng.com npx -y searxng-mul-mcp
HTTP Mode
SEARXNG_URL=https://your.searxng.com npx -y searxng-mul-mcp --transport=http --host=0.0.0.0 --port=3000
Environment Variables
# Required: SearXNG server URL
SEARXNG_URL=https://your.searxng.com
# Optional: Basic Auth credentials
USERNAME=your_username
PASSWORD=your_password
# Optional: Transport configuration (can also use CLI flags)
TRANSPORT=stdio|http
HOST=0.0.0.0 # HTTP mode only
PORT=3000 # HTTP mode only
# Optional: Debug mode
DEBUG=false
Configuration
Claude Desktop Configuration
Add the following configuration to your Claude Desktop claude_desktop_config.json file:
stdio mode:
{
"mcpServers": {
"searxng-mul-mcp": {
"command": "npx",
"args": ["-y", "searxng-mul-mcp"],
"env": {
"SEARXNG_URL": "https://your.searxng.com",
"USERNAME": "your_username",
"PASSWORD": "your_password"
}
}
}
}
SearXNG Server Setup
This MCP server requires access to a SearXNG instance. You can:
- Use a public SearXNG instance (like
https://your.searxng.com) - Deploy your own SearXNG server
- Use a private SearXNG instance with Basic Auth
Basic Authentication
If your SearXNG server requires Basic Auth:
export USERNAME=your_username
export PASSWORD=your_password
Transport Protocols
Stdio Transport
- Default mode for MCP client integration
- Uses standard input/output for communication
- Suitable for direct MCP client connections
HTTP Transport
- Provides StreamableHTTP JSON-RPC interface (protocol version 2025-03-26)
- Includes health check endpoint at
/health - MCP endpoint at
/mcpfor client communication - Supports session management with automatic cleanup
- Full CORS support for cross-origin requests
- Suitable for web-based integrations and modern MCP clients
Installation
From Source
git clone <repository-url>
cd searxng-mul-mcp
npm install
npm run build
npm start
Docker Deployment
Create a docker-compose.yml file:
services:
searxng-mul-mcp:
image: ghcr.io/jae-jae/searxng-mul-mcp:latest
environment:
- SEARXNG_URL=https://your.searxng.com
# Optional: Basic Auth
# - USERNAME=your_username
# - PASSWORD=your_password
ports:
- "3000:3000"
Run with:
docker-compose up -d
MCP Tool Usage
The server provides a single search tool that accepts the following parameters:
Parameters
- queries (required): Array of search query strings to execute in parallel
- engines (optional): Specific search engines to use (e.g., "google", "bing", "duckduckgo")
- categories (optional): Search categories to filter results (e.g., "general", "images", "news")
- safesearch (optional): Safe search level (0=off, 1=moderate, 2=strict)
- language (optional): Search language code (e.g., "en", "zh", "es")
Development
Prerequisites
- Node.js 18 or higher
- npm or yarn
- TypeScript
Build Commands
# Install dependencies
npm install
# Build TypeScript
npm run build
# Start development server
npm run dev
# Run in production
npm start
# Clean build directory
npm run clean
# Run tests
npm test
# Lint code
npm run lint
# Format code
npm run format
Project Structure
searxng-mul-mcp/
├── src/
│ ├── index.ts # Application entry point
│ ├── server.ts # MCP server core logic
│ ├── config/
│ │ └── index.ts # Configuration management
│ ├── tools/
│ │ ├── index.ts # Tool definitions
│ │ └── searxng.ts # SearXNG search tool implementation
│ ├── transports/
│ │ ├── index.ts # Transport factory
│ │ ├── stdio.ts # Stdio transport implementation
│ │ ├── http.ts # HTTP transport implementation
│ │ └── types.ts # Transport type definitions
│ ├── services/
│ │ └── searxng-api.ts # SearXNG API client
│ └── utils/
│ └── logger.ts # Logging utilities
├── build/ # TypeScript compilation output
├── package.json # Project dependencies and scripts
├── tsconfig.json # TypeScript configuration
├── Dockerfile # Docker image build
├── docker-compose.yml # Docker Compose configuration
└── README.md # This file
API Reference
SearXNG API Integration
This server integrates with the SearXNG search API. For more information about SearXNG API capabilities, see: https://docs.searxng.org/dev/search_api.html
Error Handling
The server implements comprehensive error handling:
- Network errors: Automatic retry mechanism (up to 3 attempts)
- Authentication errors: Clear error messages for auth failures
- API rate limiting: Graceful degradation and error reporting
- Timeout handling: Configurable request timeout (default: 30 seconds)
Monitoring
Health Checks
HTTP mode provides a health check endpoint:
curl http://localhost:3000/health
Response:
{
"status": "healthy",
"timestamp": "2024-01-01T00:00:00.000Z",
"version": "1.0.0"
}
Logging
The server provides structured logging with configurable levels:
- ERROR: Critical errors and failures
- WARN: Warning messages and degraded functionality
- INFO: General operational information
- DEBUG: Detailed debugging information (enable with
DEBUG=true)
Troubleshooting
Common Issues
- Connection Failed: Check your
SEARXNG_URLand network connectivity - Authentication Error: Verify
USERNAMEandPASSWORDfor Basic Auth - Port Already in Use: Change the
PORTenvironment variable for HTTP mode - Search Timeout: Increase timeout or check SearXNG server performance
Debug Mode
Enable debug logging for detailed troubleshooting:
DEBUG=true npx searxng-mul-mcp
License
MIT License - see LICENSE file for details.
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
Support
For issues and questions:
- Check the troubleshooting section
- Review SearXNG documentation
- Open an issue on GitHub
README mirrored from the source repository 5 months ago. The original is authoritative.