Skip to main content
Glama

SearxNG MCP Server

by Sacode

SearxNG MCP 服务器

模型上下文协议 (MCP) 服务器使用 SearxNG 提供网络搜索功能,允许像 Claude 这样的 AI 助手搜索网络。

由人工智能在人类监督下创建——因为有时即使是人工智能也需要有人告诉它什么时候该喝杯咖啡!🤖☕

概述

该项目实现了一个 MCP 服务器,用于连接到尊重隐私的元搜索引擎 SearxNG。该服务器为大型语言模型提供了一种简单高效的方式,可以在不追踪用户的情况下搜索网络。

该服务器专为 LLM 设计,仅包含必要功能,以最大限度地减少上下文窗口的使用。这种精简的方法确保了 LLM 和搜索引擎之间的高效通信,从而为更重要的信息保留了宝贵的上下文空间。

特征

  • 通过 SearxNG 进行注重隐私的网络搜索
  • 用于 LLM 集成的简单 API
  • 与 Claude Desktop 和其他符合 MCP 的客户端兼容
  • 可配置的搜索参数
  • 针对法学硕士 (LLM) 优化的清晰、格式化的搜索结果

与 MCP 兼容应用程序集成

集成示例

使用 pipx 运行(推荐,无需安装)

在您的主目录中创建一个.clauderc文件:

{ "mcpServers": { "searxng": { "command": "pipx", "args": [ "run", "searxng-simple-mcp@latest" ], "env": { "SEARXNG_MCP_SEARXNG_URL": "https://your-instance.example.com" } } } }
使用 uvx run(无需安装)
{ "mcpServers": { "searxng": { "command": "uvx", "args": [ "run", "searxng-simple-mcp@latest" ], "env": { "SEARXNG_MCP_SEARXNG_URL": "https://your-instance.example.com" } } } }
使用 Python 和 pip(需要安装)
{ "mcpServers": { "searxng": { "command": "python", "args": ["-m", "searxng_simple_mcp.server"], "env": { "SEARXNG_MCP_SEARXNG_URL": "https://your-instance.example.com" } } } }
与 Docker 一起使用(无需安装)
{ "mcpServers": { "searxng": { "command": "docker", "args": [ "run", "--rm", "-i", "--network=host", "-e", "SEARXNG_MCP_SEARXNG_URL=http://localhost:8080", "ghcr.io/sacode/searxng-simple-mcp:latest" ] } } }

**注意:**在 MCP 服务器中使用 Docker 时:

  1. 必须使用args数组中的-e标志直接传递环境变量,因为env对象未正确传递给 Docker 容器。
  2. 如果您需要访问在 localhost 上运行的 SearxNG 实例(例如, http://localhost:8080 ),则必须使用--network=host标志允许容器访问主机网络。否则,容器内的 “localhost” 将指向容器本身,而不是您的主机。
  3. 当使用--network=host时,不需要端口映射( -p )并且会被忽略,因为容器直接共享主机的网络堆栈。

配置

使用环境变量配置服务器:

环境变量描述默认值
SEARXNG_MCP_SEARXNG_URL要使用的 SearxNG 实例的 URLhttps://paulgo.io/
SEARXNG_MCP_TIMEOUTHTTP 请求超时(秒)10
SEARXNG_MCP_DEFAULT_RESULT_COUNT默认返回结果数10
SEARXNG_MCP_DEFAULT_LANGUAGE结果的语言代码(例如“en”、“ru”、“all”)全部
SEARXNG_MCP_DEFAULT_FORMAT结果的默认格式('text','json')文本
SEARXNG_MCP_LOG_LEVEL日志级别(例如,“DEBUG”、“INFO”、“WARNING”、“ERROR”、“CRITICAL”)错误
传输协议传输协议(“stdio”或“sse”)标准输入输出

**注意:**设置高于 ERROR 的日志级别(例如 DEBUG 或 INFO)可能会因通信通道中的输出过多而破坏与某些应用程序的集成。

如果您不想托管自己的实例,可以在https://searx.space上找到公共 SearxNG 实例列表。

安装和使用

先决条件

  • Python 3.10 或更高版本
  • SearxNG 实例(公共或自托管)

选项 1:无需安装即可运行(推荐)

使用此服务器的最简单方法是使用 pipx 或 uvx,它允许您运行该包而无需永久安装它:

# Using pipx pip install pipx # Install pipx if you don't have it pipx run searxng-simple-mcp # OR using uvx pip install uvx # Install uvx if you don't have it uvx run searxng-simple-mcp

您可以直接传递配置选项:

# Using pipx with custom SearxNG instance pipx run searxng-simple-mcp --searxng-url https://your-instance.example.com

选项 2:从 PyPI 或源代码安装

对于更永久的安装:

# From PyPI using pip pip install searxng-simple-mcp # OR using uv (faster installation) pip install uv uv pip install searxng-simple-mcp # OR from source git clone https://github.com/Sacode/searxng-simple-mcp.git cd searxng-simple-mcp pip install uv uv pip install -e .

安装后,您可以使用以下命令运行服务器:

# Run directly after installation python -m searxng_simple_mcp.server # OR with configuration options python -m searxng_simple_mcp.server --searxng-url https://your-instance.example.com

选项 3:Docker

如果您更喜欢使用 Docker:

# Pull the Docker image docker pull ghcr.io/sacode/searxng-simple-mcp:latest # Run the container with default settings (stdio transport) docker run --rm -i ghcr.io/sacode/searxng-simple-mcp:latest # Run with environment file for configuration docker run --rm -i --env-file .env ghcr.io/sacode/searxng-simple-mcp:latest # Run with SSE transport (starts HTTP server on port 8000) docker run -p 8000:8000 -e TRANSPORT_PROTOCOL=sse ghcr.io/sacode/searxng-simple-mcp:latest # Building locally docker build -t searxng-simple-mcp:local . docker run --rm -i searxng-simple-mcp:local # Using Docker Compose docker-compose up -d

有关完整的 Docker 使用信息,请参阅下面的Docker 配置部分。

传输协议

MCP 服务器支持两种传输协议:

  • STDIO (默认):用于 CLI 应用程序和直接集成
    • 所有示例中均默认使用
    • 适合与 Claude Desktop 和其他符合 MCP 的客户端集成
    • 未启动 HTTP 服务器
  • SSE (服务器发送事件):适用于基于 Web 的客户端和基于 HTTP 的集成
    • 启动客户端可以连接的 HTTP 服务器
    • 对于需要实时更新的 Web 应用程序和服务很有用
    • 使用 Docker 时需要端口映射

使用 SSE 传输

要使用 SSE 传输协议:

  1. 直接执行
    # Set the transport protocol to SSE TRANSPORT_PROTOCOL=sse python -m searxng_simple_mcp.server # Or with FastMCP fastmcp run src/searxng_simple_mcp/server.py --transport sse
  2. 使用 Docker
    # Run with SSE transport protocol docker run -p 8000:8000 -e TRANSPORT_PROTOCOL=sse -e SEARXNG_MCP_SEARXNG_URL=https://your-instance.example.com ghcr.io/sacode/searxng-simple-mcp:latest
  3. 使用 Docker Compose (来自包含的docker-compose.yml ):
    environment: - SEARXNG_MCP_SEARXNG_URL=https://searx.info - SEARXNG_MCP_TIMEOUT=10 - SEARXNG_MCP_MAX_RESULTS=20 - SEARXNG_MCP_LANGUAGE=all - TRANSPORT_PROTOCOL=sse # Transport protocol: stdio or sse

使用 SSE 时,默认情况下可通过 HTTP http://localhost:8000访问服务器。

要从 MCP 客户端连接到 SSE 服务器,请使用如下配置:

{ "mcpServers": { "searxng": { "url": "http://localhost:8000", "transport": "sse" } } }

**注意:**并非所有应用程序都支持 SSE 传输协议。使用此传输方式之前,请确保您的 MCP 客户端兼容 SSE。

发展

对于开发和测试:

# Install dependencies uv pip install -e . # Run linter and formatter ruff check . ruff check --fix . ruff format . # Run the server directly python -m src.searxng_simple_mcp.server # OR using FastMCP fastmcp run src/searxng_simple_mcp/server.py # Use stdio transport (default) fastmcp run src/searxng_simple_mcp/server.py --transport sse # Use sse transport # Run in development mode (launches MCP Inspector) fastmcp dev src/searxng_simple_mcp/server.py

发布到 PyPI

对于需要将软件包的新版本发布到 PyPI 的维护人员:

# Install development dependencies npm run install:deps # Clean, build, and check the package npm run build:package npm run check:package # Publish to PyPI (requires PyPI credentials) npm run publish:pypi # Alternatively, use the all-in-one commands to update version and publish npm run publish:patch # Increments patch version (1.0.1 -> 1.0.2) npm run publish:minor # Increments minor version (1.0.1 -> 1.1.0) npm run publish:major # Increments major version (1.0.1 -> 2.0.0)

这些命令将:

  1. 更新 package.json 和 pyproject.toml 中的版本
  2. 清理 dist 目录以删除旧版本
  3. 构建包(创建轮子和源分发)
  4. 检查包中是否有错误
  5. 将包上传到 PyPI

你需要拥有一个 PyPI 帐户并通过 Twine 进行身份验证。你可以通过以下方式设置身份验证:

  • 在你的主目录中创建一个.pypirc文件
  • 使用环境变量( TWINE_USERNAMETWINE_PASSWORD
  • 使用 PyPI API 令牌(推荐)

Docker 配置

在 MCP 服务器上使用 Docker 时,请记住以下几点:

  1. 与 MCP 客户端集成:使用“与 Docker 一起使用”部分中显示的配置与 Claude Desktop 或其他符合 MCP 的客户端集成。
  2. 传输协议
    • 默认情况下,Docker 容器使用 stdio 传输协议
    • 对于 SSE 传输,请参阅使用 SSE 传输部分
  3. 配置选项
    • 使用环境文件(.env)配置服务器: docker run --env-file .env ...
    • 使用-e标志传递单个环境变量: docker run -e SEARXNG_MCP_SEARXNG_URL=https://example.com ...
    • 请参阅配置部分以了解可用的环境变量
  4. 网络
    • 当您需要访问主机上的服务时,请使用--network=host
    • 将 SSE 服务器暴露到您的网络时使用-p 8000:8000

包结构

searxng-simple-mcp/ ├── src/ │ ├── run_server.py # Entry point script │ └── searxng_simple_mcp/ # Main package ├── docker-compose.yml # Docker Compose configuration ├── Dockerfile # Docker configuration └── pyproject.toml # Python project configuration

贡献

欢迎贡献代码!欢迎提交 Pull 请求。

执照

该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

使用 SearxNG 提供网络搜索功能,允许像 Claude 这样的人工智能助手使用尊重隐私的元搜索引擎搜索网络。

  1. 概述
    1. 特征
  2. 与 MCP 兼容应用程序集成
    1. 集成示例
  3. 配置
    1. 安装和使用
      1. 先决条件
      2. 选项 1:无需安装即可运行(推荐)
      3. 选项 2:从 PyPI 或源代码安装
      4. 选项 3:Docker
    2. 传输协议
      1. 使用 SSE 传输
    3. 发展
      1. 发布到 PyPI
        1. Docker 配置
          1. 包结构
            1. 贡献
              1. 执照

                Related MCP Servers

                • A
                  security
                  A
                  license
                  A
                  quality
                  A server facilitating web search functionality by utilizing Perplexity AI's API, designed to integrate with the Claude desktop client for enhanced search queries.
                  Last updated -
                  1
                  94
                  Python
                  MIT License
                  • Apple
                • A
                  security
                  A
                  license
                  A
                  quality
                  This server enables AI systems to integrate with Tavily's search and data extraction tools, providing real-time web information access and domain-specific searches.
                  Last updated -
                  2
                  8,040
                  437
                  JavaScript
                  MIT License
                  • Apple
                  • Linux
                • A
                  security
                  A
                  license
                  A
                  quality
                  This server provides a privacy-focused meta search capability by integrating multiple search engines without tracking or user profiling, supporting various categories and languages for filtered searches.
                  Last updated -
                  1
                  80
                  15
                  JavaScript
                  MIT License
                • -
                  security
                  A
                  license
                  -
                  quality
                  A server that enables AI assistants like Claude to perform web searches using the Exa AI Search API, providing real-time web information in a safe and controlled way.
                  Last updated -
                  1,930
                  MIT License
                  • Apple

                View all related MCP servers

                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/Sacode/searxng-simple-mcp'

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