mcp-searxng logo

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.

View on GitHub

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?

  1. 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 and web_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?

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?

MCP (Model Context Protocol) is a protocol for communication between AI models and external tools.

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?

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?

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.

mcp-searxng - MCP Server | MCP Directory