mcp-searxng
by erhwenkuo
An example of an MCP Server for use by an AI Agent, designed to allow the AI Agent to search for new external information through SearXNG's open-source meta-search engine. It integrates SearXNG and Microsoft's markdownify to extract web pages into Markdown-formatted text.
Last updated: N/A
What is mcp-searxng?
This is an MCP (Model Context Protocol) server that integrates with the SearXNG meta-search engine. It allows AI agents to search for information from multiple search engines simultaneously, providing a more comprehensive and privacy-focused search experience. It uses Microsoft's markdownify to extract web pages into Markdown-formatted text.
How to use mcp-searxng?
- Set up SearXNG using Docker Compose (instructions provided). 2. Start the MCP-SEARXNG service using either uv or Docker, configuring the SearXNG URL. 3. Use the MCP Inspector to connect to the server and test the
web_search
andweb_url_read
tools.
Key features of mcp-searxng
Integration with SearXNG for meta-search
SSE-based MCP server for remote access
Extraction of web pages into Markdown format
Dockerized deployment for easy setup
Use of uv for dependency management
Use cases of mcp-searxng
Enabling AI agents to perform web searches
Providing AI agents with access to external information
Building privacy-focused search solutions
Creating cloud-native AI applications
Decoupled AI agent and search server architecture
FAQ from mcp-searxng
What is SearXNG?
What is SearXNG?
SearXNG is a free internet metasearch engine which aggregates results from various search engines and databases while not storing any information about its users.
What is MCP?
What is MCP?
MCP (Model Context Protocol) is a protocol for communication between AI models and external tools.
Why use SSE?
Why use SSE?
SSE (Server-Sent Events) allows for a decoupled architecture where the AI agent and the search server can run independently.
How do I configure the SearXNG URL?
How do I configure the SearXNG URL?
The SearXNG URL can be configured using the --searxng_url
command-line argument when starting the server with uv, or using the SEARXNG_URL
environment variable when starting the server with Docker.
How do I verify the service is working?
How do I verify the service is working?
Use the MCP Inspector to connect to the server and test the web_search
and web_url_read
tools. Instructions are provided in the README.