
SearXNG
STDIOSearXNG元搜索引擎集成MCP服务器
SearXNG元搜索引擎集成MCP服务器
中文 | Deutsch | English | Español | français | 日本語 | 한국어 | Português | Русский
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.
SEARXNG_URL=https://your.searxng.com npx -y searxng-mul-mcp
SEARXNG_URL=https://your.searxng.com npx -y searxng-mul-mcp --transport=http --host=0.0.0.0 --port=3000
# 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
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" } } } }
This MCP server requires access to a SearXNG instance. You can:
https://your.searxng.com
)If your SearXNG server requires Basic Auth:
export USERNAME=your_username export PASSWORD=your_password
/health
/mcp
for client communicationgit clone <repository-url> cd searxng-mul-mcp npm install npm run build npm start
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
The server provides a single search
tool that accepts the following parameters:
# 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
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
This server integrates with the SearXNG search API. For more information about SearXNG API capabilities, see: https://docs.searxng.org/dev/search_api.html
The server implements comprehensive error handling:
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" }
The server provides structured logging with configurable levels:
DEBUG=true
)SEARXNG_URL
and network connectivityUSERNAME
and PASSWORD
for Basic AuthPORT
environment variable for HTTP modeEnable debug logging for detailed troubleshooting:
DEBUG=true npx searxng-mul-mcp
MIT License - see LICENSE file for details.
For issues and questions: