多引擎搜索聚合工具

evo-scry是一个通过直接抓取Google和DuckDuckGo HTML进行互联网搜索的MCP服务器,具有AI驱动的结果标准化功能,适用于需要高效、隐私保护的搜索场景。

  • by krich11
  • Python
  • 混合部署
  • 更新于
在 GitHub 查看 krich11/evo-scry

使用说明

evo-scry

MCP服务器,用于通过直接谷歌和DuckDuckGo HTML抓取进行互联网搜索,并采用人工智能进行结果规范化。

python 搜索所需的API密钥为零。 可选通过GitHub Copilot代币或本地Ollama模型进行AI摘要。

特性

  • 4个MCP工具: web_search, search_google, search_duckduckgo, extract_content
  • 多引擎聚合:通过重复数据删除和跨引擎排名在Google+DuckDuckGo上进行并行搜索
  • AI总结:通过GitHub Copilot或当地Ollama模型提供可选结果摘要
  • 生产就绪:具有完整环境变量配置的系统化服务
  • 尊重隐私:直接抓取HTML,无需第三方搜索API
  • FastMCP模式:与evo-mem相同的架构——SSE+可流式http双传输

快速开始

# Create virtual environment
python3 -m venv .venv
source .venv/bin/activate

# Install
pip install -e .

# Run (STDIO transport for local MCP clients)
python -m evoscry.mcp_server

# Run (SSE transport for remote/systemd)
python -m evoscry.mcp_server --transport sse --port 3000

Claude桌面/VS代码配置

{
  "mcpServers": {
    "evo-scry": {
      "command": "python",
      "args": ["-m", "evoscry.mcp_server"]
    }
  }
}

SSE传输(远程)

{
  "mcpServers": {
    "evo-scry": {
      "url": "http://your-server:3000/sse"
    }
  }
}

MCP工具

web_search

使用谷歌和DuckDuckGo搜索互联网。对结果进行汇总、重复数据消除和排序。

参数 类型 必填 默认 说明
query string yes -- 搜索查询
引擎 列表 否 配置 要使用的引擎
max_results int no 10 每个引擎的最大结果
language string no “en” 语言代码
date_range string no -- “日”、“周”、“月”、“年”
summare bool no false AI总结结果

search_google / search_duckduckgo

具有相同参数的特定于引擎的搜索工具(减号 engines 和 summarize).

extract_content

获取URL并提取干净的文本或Markdown内容。

参数 类型 必填 默认 说明
url str list[str] yes --
format string no “markdown” “text”或“markdown”

AI摘要设置

GitHub Copilot代币(推荐)

python -m evoscry.generate_copilot_token

按照提示通过GitHub OAuth设备流进行身份验证。将生成的令牌添加到您的 .env 或systemd环境文件。

本地模型(Ollama)

# In .env or systemd env:
EVOSCRY_LOCAL_MODEL_URL=http://localhost:11434
EVOSCRY_LOCAL_MODEL_NAME=llama3

系统化部署

# Install (requires root)
sudo bash install.sh

# Configure
sudo vim /etc/evo-scry/evo-scry.env

# Start
sudo systemctl enable --now evo-scry

SSE端点: http://localhost:3000/sse 健康检查: http://localhost:3000/health

配置

所有选项均通过环境变量实现。看 .env.示例 查看完整列表。

变量 默认值 描述
EVOSCRY_TRANSPORT stdio stdio, sse,或 streamable-http
EVOSCRY_HOST 0.0.0.0 HTTP绑定地址
EVOSCRY_PORT 3000 HTTP端口
EVOSCRY_SEARCH_ENGINES duckduckgo 启用发动机
EVOSCRY_MAX_RESULTS 10 每台发动机的结果
EVOSCRY_REQUEST_DELAY_MS 1000 速率限制延迟
EVOSCRY_USER_AGENT rotate UA轮换
EVOSCRY_PROXY_URL -- HTTP/SOCKS5代理
EVOSCRY_COPILOT_TOKEN - Copilot API令牌
EVOSCRY_COPILOT_REFRESH_TOKEN -- 用于自动刷新的GitHub OAuth令牌
EVOSCRY_LOCAL_MODEL_URL - 奥拉马终点
EVOSCRY_LOG_LEVEL info 日志冗长
EVOSCRY_CACHE_TTL_SECONDS 300 缓存TTL

许可证

麻省理工学院