Scout
Allows searching for academic preprints on arXiv.
Allows searching for Chinese video content on Bilibili.
Allows searching the web via Brave Search with privacy focus.
Allows searching the web via DuckDuckGo with privacy protection.
Allows searching for code repositories on GitHub.
Allows searching the web via Google.
Allows searching for academic literature via Google Scholar.
Allows searching the web via Mojeek's independent index.
Allows searching for JavaScript packages on npm.
Allows querying locations and points of interest on OpenStreetMap.
Allows searching biomedical literature on PubMed.
Allows searching for Python packages on PyPI.
Allows searching for community discussions on Reddit.
Allows searching the web via SearXNG meta-search engine.
Allows searching for academic papers via Semantic Scholar.
Allows searching the web via Startpage with privacy from Google results.
Allows searching for high-quality images on Unsplash.
Allows searching for videos on YouTube.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Scout search for Python async web frameworks"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Scout
AI Agent 全能搜索工具
完全免费 · 27 引擎 · 多模态 · MCP 协议
快速开始 · 功能特性 · 搜索引擎 · MCP 工具 · 配置选项
🎯 为什么选择 Scout?
Scout 是专为 AI Agent 设计的全能搜索工具,通过 MCP 协议提供标准化的搜索接口。
特性 | Scout | Tavily | Exa | SerpAPI |
免费使用 | ✅ 完全免费 | ❌ 有限额 | ❌ 有限额 | ❌ 付费 |
无需 API Key | ✅ | ❌ | ❌ | ❌ |
搜索引擎数量 | 26 | 1 | 1 | 1 |
多模态搜索 | ✅ 视频/图片/播客 | ❌ | ❌ | ❌ |
MCP 协议 | ✅ 原生支持 | ❌ | ❌ | ❌ |
本地缓存 | ✅ SQLite/Redis | ❌ | ❌ | ❌ |
Related MCP server: Web Search MCP Server
✨ 功能特性
🔍 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🔍 搜索引擎
通用搜索
引擎 | 特点 | 适用场景 |
最全的搜索结果 | 通用搜索 | |
Bing | 微软搜索引擎 | 通用搜索 |
Brave | 隐私保护 | 隐私搜索 |
DuckDuckGo | 无追踪 | 隐私搜索 |
Mojeek | 独立索引 | 替代选择 |
Startpage | Google 隐私前端 | 隐私搜索 |
Yandex | 俄罗斯搜索引擎 | 俄语内容 |
SearXNG | 元搜索,多实例 | 自建实例 |
学术搜索
引擎 | 特点 | 适用场景 |
Semantic Scholar | AI 驱动的学术搜索 | 论文发现 |
arXiv | 预印本论文 | 最新研究 |
Google Scholar | 最全的学术搜索 | 论文引用 |
PubMed | 生物医学文献 | 医学研究 |
代码搜索
引擎 | 特点 | 适用场景 |
GitHub | 代码仓库搜索 | 开源项目 |
StackOverflow | 编程问答 | 问题解决 |
社区搜索
引擎 | 特点 | 适用场景 |
社区讨论 | 深度讨论 | |
HackerNews | 技术新闻 | 技术趋势 |
Twitter/X | 社交媒体 | 实时动态 |
包管理搜索
引擎 | 特点 | 适用场景 |
npm | JS/TS 包 | 前端开发 |
PyPI | Python 包 | Python 开发 |
HuggingFace | AI 模型/数据集 | AI 开发 |
多模态搜索
引擎 | 特点 | 适用场景 |
YouTube | 视频搜索 | 视频教程 |
Bilibili | 中文视频 | 技术分享 |
Unsplash | 图片搜索 | 高质量图片 |
Podcast | 播客搜索 | 音频内容 |
地图搜索
引擎 | 特点 | 适用场景 |
OpenStreetMap | 免费地图 API | 地点查询、地址搜索、POI 搜索 |
🛠️ MCP 工具
工具 | 功能 | 示例 |
| 多引擎搜索 |
|
| 抓取页面 |
|
| 批量抓取 |
|
| 深度研究 |
|
| 搜索+摘要 |
|
| 读取 PDF |
|
| 列出引擎 |
|
| 搜索缓存 |
|
| 语义搜索 |
|
| 提取结构化数据 |
|
⚙️ 配置选项
环境变量
在项目目录下创建 .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📚 参考项目
free-search-mcp — 免费搜索 MCP
mcp-smart-searcher — 多引擎搜索
exa-mcp-server — 语义搜索
Agent-Reach — 多平台抓取
📄 许可证
Scout — 让 AI Agent 看得更远,搜得更广
Available Tools
14 toolscache_searchBRead-onlyIdempotent
Full-text search across previously fetched and cached pages.
Inputs: query (required), limit, format. Returns: result
enginesARead-onlyIdempotent
List engine names accepted by the engines= parameter of search.
Inputs: no named parameters. Returns: result
extract_structuredARead-onlyIdempotent
Pull JSON-LD, OpenGraph, Twitter cards from a web page.
Inputs: url (required), format. Returns: result
fetchARead-onlyIdempotent
Fetch one URL and return reader-mode Markdown of the main content.
Args: url: Absolute http(s) URL. extract_code: 提取代码块(默认 False)。 extract_tables: 提取表格数据(默认 False)。 format: "markdown" or "json".
Inputs: url (required), extract_code, extract_tables, format. Returns: result
fetch_batchARead-onlyIdempotent
Fetch multiple URLs in parallel and return their contents.
Inputs: urls (required), format. Returns: result
image_searchCRead-only
Search for images using SearXNG meta-search engine.
Inputs: query (required), max_results, freshness, format. Returns: result
read_docCRead-onlyIdempotent
Read an http(s) document (PDF) into Markdown.
Inputs: source (required), start, length, format. Returns: result
researchCRead-only
One-shot research: search the web, fetch the top results, return both.
Inputs: question (required), depth, engines, fetch, +9 more. Returns: result
searchCRead-only
Run a multi-engine web search and return a ranked, deduplicated link list.
Args: translate_to: 翻译目标语言(例如 "zh", "en", "ja")。需要启用 LLM。
Inputs: query (required), engines, max_results, page, +12 more. Returns: result
semantic_index_pageAIdempotent
Fetch a page and add it to the semantic search index.
Inputs: url (required), format. Returns: result
semantic_searchBRead-onlyIdempotent
Search through semantically indexed pages using meaning-based matching.
Inputs: query (required), top_k, format. Returns: result
summarizeCRead-only
Search, fetch, extract key points, and assess credibility.
Inputs: question (required), depth, engines, freshness, +3 more. Returns: result
video_platformsARead-onlyIdempotent
List available video search platforms.
Inputs: no named parameters. Returns: result
video_searchARead-only
Search for videos on YouTube and Bilibili.
Args: query: Search query. platforms: Video platforms to search. Default: ["youtube", "bilibili"]. max_results: Max results per platform. freshness: Time filter. format: "markdown" or "json".
Inputs: query (required), platforms, max_results, freshness, +1 more. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 14 tools
Tools are mostly distinct: search vs. research overlap slightly (research does search + fetch top results), and fetch vs. read_doc both fetch but read_doc is PDF-specific. Most others clearly differentiate.
Naming is inconsistent with mix of verb-first (fetch, search, summarize), noun-first (cache_search, video_search), and plain nouns (engines, research). No uniform pattern but still readable.
14 tools cover a well-scoped domain of web research, fetching, searching, caching, semantic indexing, and summarization. Each tool has a clear purpose and justifies its existence.
Covers core research workflows: search (web, image, video), fetch, read PDF, extract metadata, cache, semantic index/search, summarize. Minor gaps like cache deletion or management, but not essential for primary use.
Related MCP Connectors
Web search for AI agents — one tool across 6 engines, routed to the cheapest + cached.
Agent-native search engine with live web research optimized for AI agents.
Multi-engine search for AI agents. Trust scoring, local corpus, MCP-native. Self-hostable, BYOK.
Direct access to 60+ scraping and search tools. Extract structured data from Google (Search, Maps, Trends), Amazon, Airbnb, Social Media, and any web page directly into your AI agent.
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables AI agents to perform unified web searches, GitHub, and GitLab searches with caching, reranking, and fallback across multiple providers.4176 npm20MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to search the web and extract content using multiple search providers, with caching, retry logic, and options for JavaScript-heavy page rendering.-
- AlicenseAqualityBmaintenanceEnables AI agents to search and fetch high-quality information from multiple sources, including general web APIs, Wikipedia, arXiv, Hacker News, Stack Exchange, and Crossref, with optional pro-mode deep research and clean markdown page extraction.10MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to run local multi-engine web searches, fetch pages through anti-bot fallback chains, and query site-specific sources such as GitHub, npm, PyPI, Docker Hub, and Twitter/X for structured results.3MIT