Enhance web searches with MCP SearXNG server for category-aware search, scraping, citations, and timezone tools
mcp-searxng-enhanced is an advanced Model Context Protocol (MCP) server designed to act as a bridge between AI applications and the robust metasearch engine, SearXNG. This server integrates seamlessly with various MCP clients, providing powerful search functionalities, website scraping capabilities, and citation metadata. It is tailor-made for developers looking to enhance their AI application's data acquisition and processing through structured protocols while ensuring compatibility across multiple tools.
mcp-searxng-enhanced offers a wide range of features that make it an indispensable tool for any AI workflow:
SearXNG Integration: Access the comprehensive search capabilities of SearXNG, allowing AI applications to query based on categories such as general
, images
, videos
, and more. This integration ensures that users can retrieve accurate and relevant information from a vast array of sources.
Category Search: Support for category-specific searches across various domains like news, social media, science, IT, and files.
Web Scraping: Utilize Trafilatura to extract main content from web pages. The server can handle scraping of old.reddit.com
as well, expanding its utility across diverse data sources.
Caching: Implement in-memory and time-based caching for scraped pages, ensuring that frequently accessed content is quickly accessible without unnecessary load on the source.
Date/Time Tool: Provides the current time in a configured timezone, adding temporal context to queries and responses.
Docker Configuration: Runs within Docker containers with environment variables allowing for easy configuration via mcp-client
settings files or command-line parameters. This flexibility makes it straightforward for developers to integrate this server into their existing workspaces.
The mcp-searxng-enhanced server follows a well-defined architecture that ensures seamless communication and data flow between AI applications and SearXNG. Here’s how the MCP protocol is implemented:
graph TD
A[AI Application] -->|MCP Client| B[MCP Protocol]
B --> C[MCP Server]
C --> D[SearXNG/Website Data Source]
style A fill:#e1f5fe
style C fill:#f3e5f5
style D fill:#e8f5e8
This diagram illustrates the flow from an AI application, through the MCP client and protocol, to the mcp-searxng-enhanced server, which in turn interacts with SearXNG or website data sources.
graph TD
A[MCP Client] --> B[MCP Protocol]
B --> C[MCP Server]
C --> D[SearXNG/Website Data Source]
D --> E[Data Caching Layer (In-Memory, Time-Based)]
E --> F[CITATION EVENT EMISSION]
G[Datetime Retrieval Service]
H[Website Content Extraction (Trafilatura) ]
I[Scraping & Content Handling]
style B fill:#f3e5f5
This diagram provides a deeper understanding of the data architecture, highlighting how data is processed and cached before being used or emitted as citation events.
If you have cloned the repository and want to run your local version or make modifications:
Clone Repository:
git clone https://github.com/OvertliDS/mcp-searxng-enhanced
cd mcp-searxng-enhanced
Build Image: Use the .dockerignore
file to optimize the build context.
docker build -t overtlids/mcp-searxng-enhanced:1.0.0 -t overtlids/mcp-searxng-enhanced:latest .
If available, use a pre-built image from a registry like Docker Hub or GitHub Container Registry:
Identify Image Name: The official published image name is overtlids/mcp-searxng-enhanced
.
Configure MCP Client:
Add the server to your MCP client settings (e.g., VS Code settings.json
). Use the image name obtained from Step 1 or Step 2.
{
"mcpServers": {
"mcp-searxng-enhanced": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--network=host",
"-e SEARXNG_URL=http://127.0.0.1:8080/search",
"overtlids/mcp-searxng-enhanced:1.0.0"
],
"disabled": false,
"autoApprove": [ "search_web", "get_website", "get_current_datetime" ],
"transportType": "stdio",
"timeout": 120
}
}
}
Developers can utilize the search_web
tool to aggregate news articles from various sources in real time. The server's integration with MCP ensures that prompt generation and data processing are efficient, enabling timely analysis and synthesis of information.
AI applications can leverage the scraping capabilities to collect relevant content based on user preferences. By emitting citation events, the system maintains transparency in the sourcing process, enhancing user trust and engagement.
mcp-searxng-enhanced is compatible with several popular MCP clients, including Claude Desktop, Continue, Cursor, and more:
MCP Client | Resources (Optional) | Tools | Prompts (Support Optional) | Status |
---|---|---|---|---|
Claude Desktop | ✅ | ✅ | ✅ | Full Support |
Continue | ✅ | ✅ | ❌ | Tools Only |
Cursor | ❌ | ✅ | ❌ | Limited Prompt Support |
This compatibility matrix highlights the extensive support available for integrating with various AI platforms, making it a versatile tool in diverse development environments.
The performance of mcp-searxng-enhanced is optimized for high-speed data retrieval and processing. Key metrics include:
This matrix provides a snapshot of how well the server performs under different conditions and client types.
The server allows for extensive customization through environment variables:
{
"SEARXNG_URL": "http://127.0.0.1:8080/search",
"CACHE_TTL": "3600"
}
These settings include the URL of the SearXNG instance and cache time-to-live, providing flexibility for developers to tailor configurations according to their needs.
Ensure that the environment variables are set securely in a mcp-client
settings file or command line to avoid exposing sensitive information. Additionally, regular updates and security patches should be applied promptly to maintain robust protection against vulnerabilities.
Q: Can mcp-searxng-enhanced work with other AI applications besides Claude Desktop?
Q: How can I optimize the server for handling large volumes of data?
Q: What are the steps to change the SearXNG URL in my MCP client configuration?
SEARXNG_URL
environment variable in your settings.json
or command line arguments to point to a different SearXNG instance.Q: How do I integrate mcp-searxng-enhanced with my custom MCP clients?
mcpServers
section of your client's configuration file, specifying the command and arguments required for startup.Q: What kind of security measures are needed when using this server with sensitive data?
Contributors are encouraged to follow these guidelines:
git
branching to develop new features or fix bugs.For detailed instructions, review the project’s contribution documentation and guidelines available in the repository’s main branch.
These resources provide further insights into working with the Model Context Protocol and utilizing SearXNG, enhancing your understanding of the integration process.
Join the broader MCP community for support, collaboration, and sharing ideas. Engage in discussions on forums, participate in hackathons, or contribute to open-source projects that aim to improve the model context protocol ecosystem.
By following these comprehensive guidelines, developers can effectively integrate mcp-searxng-enhanced into their AI workflows, ensuring robust data acquisition and processing capabilities through MCP’s standardized framework.
RuinedFooocus is a local AI image generator and chatbot image server for seamless creative control
Simplify MySQL queries with Java-based MysqlMcpServer for easy standard input-output communication
Learn to set up MCP Airflow Database server for efficient database interactions and querying airflow data
Build stunning one-page websites track engagement create QR codes monetize content easily with Acalytica
Explore CoRT MCP server for advanced self-arguing AI with multi-LLM inference and enhanced evaluation methods
Access NASA APIs for space data, images, asteroids, weather, and exoplanets via MCP integration