Skip to main content
Glama
muzihuaner

SearXNG-MCP

by muzihuaner

SearXNG MCP Server

A SearXNG search MCP service implemented based on FastMCP, using Streamable HTTP transport, supporting local running and Docker deployment.

SearXNG related links:

Official documentation: https://docs.searxng.org/

Online example: https://searx.space/

Features

  • Exposes the MCP tool search(query): calls the SearXNG instance based on keywords and returns a summary of search results.

  • Provides the MCP service via the HTTP endpoint http://<host>:<port>/mcp, making it easy for remote/cross-domain calls.

  • Uses stateless Streamable HTTP mode; clients do not need to maintain Mcp-Session-Id and can make concurrent calls directly.

  • Supports customizing the SearXNG instance address via environment variables, making private deployment easy.

Related MCP server: SearXNG MCP Server

Environment Variables

Variable Name

Default Value

Description

SEARXNG_URL

https://searxng.abc.com

SearXNG instance root address (JSON must be enabled)

HOST

0.0.0.0

Service listening address

PORT

9000

Service listening port

Local Run

# 安装依赖(建议使用虚拟环境)
pip install -r requirements.txt

# 可选:自定义 SearXNG 实例(只需填根地址)
export SEARXNG_URL="https://your-searxng-instance"

# 启动服务
python Server.py

After startup, the MCP endpoint is:

http://localhost:9000/mcp

Docker Deployment

Build Image

docker build -t searxng-mcp .

Run Container

docker run -d \
  --name searxng-mcp \
  -p 9000:9000 \
  -e SEARXNG_URL="https://searxng.abc.com" \
  searxng-mcp

To change the port, you can override both the container's internal and external ports and PORT:

docker run -d \
  --name searxng-mcp \
  -p 8080:8080 \
  -e PORT=8080 \
  searxng-mcp

Using the online image

docker run -d \
  --name searxng-mcp \
  -p 9000:9000 \
  -e SEARXNG_URL="https://searxng.abc.com" \
  muzihuaner/searxng-mcp:latest

Access Address

After deployment, the MCP endpoint format is:

http://<你的服务器域名或IP>:<端口>/mcp

For example: http://localhost:9000/mcp or https://mcp.your-domain.com/mcp

Client Configuration

In an MCP client that supports Streamable HTTP, fill in the service address as the /mcp endpoint above, for example:

{
  "mcpServers": {
    "searxng": {
      "url": "http://localhost:9000/mcp"
    }
  }
}

Tool Description

search(query: str) -> str

Calls SearXNG search based on keywords and returns the content text of each result entry, joined by newlines.

  • query: search keyword.

  • Returns: the text content of the search results; returns False if the request fails.

Concurrency and Performance

测试结果示例(局域网 / 上游 `so.xxx.cn`):

总请求数 : 100 并发 worker : 50 成功 : 100 失败 : 0 总耗时(秒) : 67.68 吞吐(QPS) : 1.48 平均延迟(秒) : 27.284 最小延迟(秒) : 7.203 最大延迟(秒) : 44.418


> 注意:端到端延迟主要取决于 SearXNG 上游实例的响应速度(本例平均约 27s 来自上游 `so.xxx.cn` 较慢),服务本身可稳定承载并发且零失败。若需提升吞吐,可:
> - 换用响应更快 / 自托管的 SearXNG 实例(通过 `SEARXNG_URL` 指定);

FAQ

Q: Client reports error Missing session ID? A: This service has stateless_http=True enabled, so no session is needed. If the error persists, please confirm that the client points to the /mcp endpoint.

Q: How to tighten CORS in production? A: Edit the CORSMiddleware in Server.py and change allow_origins=["*"] to a specific origin list, such as ["https://your-domain.com"].

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    B
    quality
    D
    maintenance
    Enables web search capabilities through the Tavily API. Allows users to search the web for information using natural language queries via the MCP protocol.
    4
    1
  • A
    license
    A
    quality
    D
    maintenance
    Integrates with SearXNG metasearch engine to provide powerful web search capabilities across multiple search engines with filtering options for categories, languages, time ranges, and safe search levels. Enables comprehensive web searches, autocomplete suggestions, and search engine configuration access through MCP-compatible applications.
    4
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables privacy-focused web search via SearXNG for MCP clients, allowing users to perform searches with customizable parameters through natural language.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Free web search MCP server using SearXNG, supporting web search, news search, and search summaries.
    MIT

View all related MCP servers

Related MCP Connectors

  • Serper MCP — wraps the Serper Google Search API (serper.dev)

  • MCP server for Google search results via SERP API

  • Search your AI chat history (ChatGPT, Claude, Codex) from any MCP client. Remote, private, read-only

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/muzihuaner/SearXNG-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server