分布式全局搜索服务

DDGS Search MCP Server是一个本地模型上下文协议服务器,通过Dux分布式全局搜索库提供文本搜索功能,适用于AI代理(如Claude)进行网络搜索。

  • by barysiuk
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 sbarysiuk/ddgs-search-mcp

使用说明

DDGS搜索MCP服务器

使用Dux分布式全局搜索提供文本搜索功能的本地模型上下文协议(MCP)服务器(ddgs)图书馆。该服务器允许AI代理(如Claude)通过聚合来自不同网络搜索服务的结果来执行网络搜索。

特性

  • 文本搜索:通过DDGS元搜索进行网络搜索。
  • 可配置的:区域、安全搜索、最大结果、代理和重试等设置可通过以下方式配置 settings.yaml.
  • 本地执行:使用Python虚拟环境在您的计算机上本地运行。
  • 标准运输:通过标准输入/输出(STDIN/STDOUT)使用官方 mcp SDK。
  • 坚韧的:内置重试机制,具有可配置的延迟,可处理网络问题和速率限制。

先决条件

  • Python 3.10或更高版本(用3.13测试)。

安装

  1. 克隆或导航到该目录: 确保您位于项目目录中。

  2. 创建虚拟环境(如果你想隔离它):

    python3 -m venv .venv
    
  3. 再进行:

    source .venv/bin/activate
    pip install -r requirements.txt
    

配置

您可以通过编辑来配置默认搜索行为 settings.yaml 主目录中的文件。

max_results: 10       # Default number of results to return
region: "us-en"       # Search region (e.g., us-en, uk-en, ru-ru)
safesearch: "moderate" # Safe search level: on, moderate, off
backend: "auto"       # Backend to use: auto, html, lite, api

# Anti-bot / Network settings
proxy: null           # e.g., "http://user:pass@example.com:3128"
timeout: 10           # Request timeout in seconds
retries: 3            # Number of retries on failure
delay: 2.0            # Delay between retries in seconds

使用Claude for Desktop

要将此MCP服务器与Claude for Desktop一起使用,您需要将其添加到配置文件中。

  1. 找到配置文件:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • 窗户: %APPDATA%\Claude\claude_desktop_config.json
  2. 编辑配置文件: 添加 ddgs-search 服务器到 mcpServers 对象。 重要:您必须对python可执行文件和 server.py 脚本。

    跑 pwd 在终端中查找当前目录的绝对路径。

    {
      "mcpServers": {
        "ddgs-search": {
          "command": "/ABSOLUTE/PATH/TO/YOUR/PROJECT/.venv/bin/python",
          "args": [
            "/ABSOLUTE/PATH/TO/YOUR/PROJECT/server.py"
          ]
        }
      }
    }
    

    替换 /ABSOLUTE/PATH/TO/YOUR/PROJECT 此目录的实际路径。

  3. 重新启动克劳德: 重新启动Claude Desktop应用程序。克劳德现在应该可以使用“搜索”工具了。

故障排除

403禁止错误/速率限制

如果您看到“403 Forbidden”错误,则可能意味着搜索提供商已阻止您的请求(通常是由于IP信誉或速率限制)。

解决:

  1. 使用代理:编辑 settings.yaml 并设置 proxy 价值。
    proxy: "socks5://127.0.0.1:9050" # Example for Tor or local proxy
    
  2. 增加延迟:增加 delay 设置 settings.yaml 在两次重试之间等待更长时间。
  3. 提高回收率:增加 retries 在放弃之前尝试更多次。

发展

要手动测试服务器,您可以使用 mcp CLI检查器(如果已安装)或直接运行它,如果您知道协议,则通过stdin/stdout进行交互。