Scout

Scout

Enables AI agents to perform comprehensive search across 27 search engines including web, academic, code, community, package managers, video, images, podcasts, and maps, with multi-modal support, caching, and security features.

Category
访问服务器

README

Scout

<div align="center">

AI Agent 全能搜索工具

完全免费 · 27 引擎 · 多模态 · MCP 协议

License: MIT Python 3.10+ Tests MCP

快速开始 · 功能特性 · 搜索引擎 · MCP 工具 · 配置选项

</div>


🎯 为什么选择 Scout?

Scout 是专为 AI Agent 设计的全能搜索工具,通过 MCP 协议提供标准化的搜索接口。

特性 Scout Tavily Exa SerpAPI
免费使用 ✅ 完全免费 ❌ 有限额 ❌ 有限额 ❌ 付费
无需 API Key ✅ ❌ ❌ ❌
搜索引擎数量 26 1 1 1
多模态搜索 ✅ 视频/图片/播客 ❌ ❌ ❌
MCP 协议 ✅ 原生支持 ❌ ❌ ❌
本地缓存 ✅ SQLite/Redis ❌ ❌ ❌

✨ 功能特性

🔍 27 个搜索引擎

通用搜索 (8)    学术搜索 (4)    代码搜索 (2)
    ↓               ↓               ↓
社区搜索 (3)    包管理 (3)      知识搜索 (1)
    ↓               ↓               ↓
新闻搜索 (1)    多模态搜索 (4)   地图搜索 (1)
                    ↓               ↓
        YouTube · Bilibili ·     OpenStreetMap
        Unsplash · Podcast

🎬 多模态搜索

  • 视频搜索 — YouTube、Bilibili 视频教程
  • 图片搜索 — Unsplash 高质量图片
  • 播客搜索 — Podcast 节目发现
  • 地图搜索 — OpenStreetMap 地点查询

⚡ 高性能架构

  • 并发搜索 — asyncio 异步并发,不阻塞
  • 智能缓存 — SQLite + FTS5 全文搜索
  • 结果合并 — RRF (Reciprocal Rank Fusion) 算法
  • 熔断器 — 引擎连续失败自动暂停

🛡️ 安全防护

  • SSRF 防护 — DNS 解析 + IP 范围验证
  • 并发限制 — Semaphore 控制最大并发数
  • 重定向验证 — 每次重定向都检查安全性

🚀 快速开始

安装

# 克隆仓库
git clone https://github.com/duguobao812718-wq/scout.git
cd scout

# 安装依赖
pip install -e .

# 注册到 Claude Code
claude mcp add -s user scout -- python -m src

重启 Claude Code,即可使用 12 个搜索工具。

验证安装

# 列出可用引擎
python -m src --list-engines

# 运行测试
python -m pytest tests/ -v

🔍 搜索引擎

通用搜索

引擎 特点 适用场景
Google 最全的搜索结果 通用搜索
Bing 微软搜索引擎 通用搜索
Brave 隐私保护 隐私搜索
DuckDuckGo 无追踪 隐私搜索
Mojeek 独立索引 替代选择
Startpage Google 隐私前端 隐私搜索
Yandex 俄罗斯搜索引擎 俄语内容
SearXNG 元搜索,多实例 自建实例

学术搜索

引擎 特点 适用场景
Semantic Scholar AI 驱动的学术搜索 论文发现
arXiv 预印本论文 最新研究
Google Scholar 最全的学术搜索 论文引用
PubMed 生物医学文献 医学研究

代码搜索

引擎 特点 适用场景
GitHub 代码仓库搜索 开源项目
StackOverflow 编程问答 问题解决

社区搜索

引擎 特点 适用场景
Reddit 社区讨论 深度讨论
HackerNews 技术新闻 技术趋势
Twitter/X 社交媒体 实时动态

包管理搜索

引擎 特点 适用场景
npm JS/TS 包 前端开发
PyPI Python 包 Python 开发
HuggingFace AI 模型/数据集 AI 开发

多模态搜索

引擎 特点 适用场景
YouTube 视频搜索 视频教程
Bilibili 中文视频 技术分享
Unsplash 图片搜索 高质量图片
Podcast 播客搜索 音频内容

地图搜索

引擎 特点 适用场景
OpenStreetMap 免费地图 API 地点查询、地址搜索、POI 搜索

🛠️ MCP 工具

工具 功能 示例
search 多引擎搜索 search("Python tutorial")
fetch 抓取页面 fetch("https://python.org")
fetch_batch 批量抓取 fetch_batch([url1, url2])
research 深度研究 research("What is ML?")
summarize 搜索+摘要 summarize("latest AI news")
read_doc 读取 PDF read_doc("paper.pdf")
engines 列出引擎 engines()
cache_search 搜索缓存 cache_search("Python")
semantic_search 语义搜索 semantic_search("machine learning")
extract_structured 提取结构化数据 extract_structured(url)

⚙️ 配置选项

环境变量

在项目目录下创建 .env 文件:

# 代理配置(国内用户)
SCOUT_PROXY=http://127.0.0.1:7897

# 缓存后端
SCOUT_CACHE_BACKEND=sqlite  # 或 redis
SCOUT_REDIS_URL=redis://localhost:6379/0

# 速率限制
SCOUT_RATE_LIMIT_PER_MINUTE=60

# 安全搜索
SCOUT_SAFESEARCH=moderate  # off / moderate / strict

高级配置

# 请求超时
SCOUT_REQUEST_TIMEOUT=15

# 最大结果数
SCOUT_MAX_RESULTS=10

# 缓存 TTL
SCOUT_CACHE_TTL_SECONDS=604800  # 7 天

📊 性能指标

指标 值
搜索引擎数量 26
MCP 工具数量 12
测试用例数量 243
代码行数 ~8500
平均搜索延迟 < 2s
缓存命中延迟 < 10ms

🏗️ 项目结构

scout/
├── src/
│   ├── server.py           # MCP 服务器入口
│   ├── config.py           # 配置管理
│   ├── cache.py            # SQLite 缓存
│   ├── cache_redis.py      # Redis 缓存
│   ├── scoring.py          # 结果评分
│   ├── suggestions.py      # 搜索建议
│   ├── summary.py          # 结果摘要
│   ├── ratelimit.py        # 限速 + 熔断器
│   ├── engines/            # 26 个搜索引擎
│   │   ├── __init__.py     # 引擎基类 + 注册表
│   │   ├── google.py       # 通用搜索
│   │   ├── youtube.py      # 视频搜索
│   │   └── ...
│   └── fetchers/           # 内容抓取
│       ├── http.py         # HTTP 抓取
│       └── documents.py    # PDF 解析
├── tests/                  # 测试用例
├── pyproject.toml          # 项目配置
└── README.md               # 本文件

🤝 贡献指南

欢迎贡献新的搜索引擎!添加新引擎只需 3 步:

# 1. 创建 src/engines/myengine.py
from . import JsonApiEngine, register_engine

class MyEngine(JsonApiEngine):
    name = "myengine"
    
    def build_url(self, query, max_results, filters=None):
        return f"https://api.example.com/search?q={query}"
    
    def parse(self, data):
        # 解析返回结果
        return [SearchResult(...)]

# 2. 注册引擎
register_engine(MyEngine())

# 3. 在 __init__.py 中导入
from . import myengine

运行测试验证:

python -m pytest tests/ -v

📚 参考项目


📄 许可证

MIT License


<div align="center">

Scout — 让 AI Agent 看得更远,搜得更广

GitHub · Issues · License

</div>

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选