SearxNG MCP Server
A Model Context Protocol (MCP) server that provides search capabilities through SearxNG, the privacy-respecting metasearch engine.
PyPi: https://pypi.org/project/searxng-mcp-server/#description
Usage
Using uvx
You can also just pip install this but we recommend using uv.
# With command line argument (stdio transport)
uvx searxng-mcp-server --searxng-url https://searx.be
# With environment variable (stdio transport)
SEARXNG_URL=https://searx.be uvx searxng-mcp-server
# With HTTP transport on port 8080
uvx searxng-mcp-server --searxng-url https://searx.be --port 8080
# With HTTP transport using environment variable
SEARXNG_URL=https://searx.be MCP_PORT=8080 uvx searxng-mcp-server
Package link: https://pypi.org/project/searxng-mcp-server/
Using Docker/Podman
# With command line argument (stdio transport)
podman run --rm -i docker.io/icewreck/searxng-mcp-server:latest --searxng-url https://searx.be
# With environment variable (stdio transport)
podman run --rm -i -e SEARXNG_URL=https://searx.be docker.io/icewreck/searxng-mcp-server:latest
# With HTTP transport on port 8080
podman run --rm -i -e SEARXNG_URL=https://searx.be -p 8080:8080 docker.io/icewreck/searxng-mcp-server:latest --port 8080
Usage as Library
You can also use the SearxNG client directly in your Python projects. The client is fully async and requires async/await syntax.
For detailed examples, see the examples/client_example.py file in the repository.
The SearxNGClient can be easily integrated into custom AI agents as a search tool. All search methods are async and return structured response objects.
Available Tools
search_web: General web search with language and time filteringsearch_images: Image search across multiple search enginessearch_videos: Video search from various platformssearch_news: News search with time range filteringfetch_url: Fetch content from a URL and convert it to markdown
Configuration
The server requires a SearxNG instance URL. You can provide it via:
- Environment Variable:
SEARXNG_URL=https://your-searxng-instance.com - Command Line Argument:
--searxng-url https://your-searxng-instance.com
By default, the server uses stdio transport. To enable HTTP transport, set a port:
- Environment Variable:
MCP_PORT=8080 - Command Line Argument:
--port 8080
When a port is provided, the server listens on http://0.0.0.0:<port> using the streamable-http transport.
Optional: SEARXNG_TIMEOUT (default: 30), SEARXNG_USER_AGENT, LOG_LEVEL
Metadata
Release files for searxng-mcp-server 0.1.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| searxng_mcp_server-0.1.9.tar.gz | 91.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| searxng_mcp_server-0.1.9-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 101.1 kB
Release files / searxng_mcp_server-0.1.9.tar.gz
| Download URL | searxng_mcp_server-0.1.9.tar.gz |
|---|---|
| Size | 91.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0bd51da2c48f5c6f6f1c4d492ec62001da91b4bb6e16ccca59d33eafdc744e77
|
|
BLAKE2b-256 checksum How to use checksums |
d75279833f3a55b7a9436fc00178de7691b3cf082a8fbceaa7319f3ce6578fe5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.5
|
Release files / searxng_mcp_server-0.1.9-py3-none-any.whl
| Download URL | searxng_mcp_server-0.1.9-py3-none-any.whl |
|---|---|
| Size | 9.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f6403582df15aded22c4b1e5b06fc1d528c7c2c5dd278c744b897f74967d9432
|
|
BLAKE2b-256 checksum How to use checksums |
a362c8fe1b78ec5e94c7c0b45a251735882d84d65f79d8629cf9364acb5c889a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.5
|
Security for searxng-mcp-server 0.1.9
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.