DDGS搜索MCP服务器
使用Dux分布式全局搜索提供文本搜索功能的本地模型上下文协议(MCP)服务器(ddgs)图书馆。该服务器允许AI代理(如Claude)通过聚合来自不同网络搜索服务的结果来执行网络搜索。
特性
- 文本搜索:通过DDGS元搜索进行网络搜索。
- 可配置的:区域、安全搜索、最大结果、代理和重试等设置可通过以下方式配置
settings.yaml. - 本地执行:使用Python虚拟环境在您的计算机上本地运行。
- 标准运输:通过标准输入/输出(STDIN/STDOUT)使用官方
mcpSDK。 - 坚韧的:内置重试机制,具有可配置的延迟,可处理网络问题和速率限制。
先决条件
- Python 3.10或更高版本(用3.13测试)。
安装
- 克隆或导航到该目录:
确保您位于项目目录中。
- 创建虚拟环境(如果你想隔离它):
python3 -m venv .venv- 再进行:
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一起使用,您需要将其添加到配置文件中。
- 找到配置文件:
- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json - 窗户: %APPDATA%\Claude\claude_desktop_config.json
- 编辑配置文件:
添加 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 此目录的实际路径。
- 重新启动克劳德:
重新启动Claude Desktop应用程序。克劳德现在应该可以使用“搜索”工具了。
故障排除
403禁止错误/速率限制
如果您看到“403 Forbidden”错误,则可能意味着搜索提供商已阻止您的请求(通常是由于IP信誉或速率限制)。
解决:
- 使用代理:编辑
settings.yaml并设置proxy价值。
proxy: "socks5://127.0.0.1:9050" # Example for Tor or local proxy- 增加延迟:增加
delay设置settings.yaml在两次重试之间等待更长时间。 - 提高回收率:增加
retries在放弃之前尝试更多次。
发展
要手动测试服务器,您可以使用 mcp CLI检查器(如果已安装)或直接运行它,如果您知道协议,则通过stdin/stdout进行交互。
