关于 researchsearch
researchsearch 是由 Tavily API 驱动的网页研究 CLI 和 MCP 服务,支持排序搜索、页面提取、网站爬取和 URL 映射。使用时需要 Tavily API 密钥。
主要功能
- 01排序网页搜索,可选生成答案
- 02提取页面正文
- 03按设定限制爬取网站
- 04映射可访问的网站 URL
- 05CLI 与 stdio MCP 服务
适用场景
- 01通过排序摘要搜索资料
- 02提取指定页面的文本
- 03按深度和广度限制爬取网站
- 04阅读页面前先查看网站结构
MCP 相关
通过 stdio 向 MCP 客户端提供 Tavily 搜索、提取、爬取和映射工具。需要设置 `TAVILY_API_KEY`,工具结果来自对应的 Tavily API。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
4收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| days | number | 否 | 从今天起向前搜索新闻主题的天数。 |
| query | string | 是 | 要对网页运行的搜索查询。 |
| topic | string | 否 | 搜索主题:“general”、“news”或“finance”。 |
| max_results | number | 否 | 要返回的搜索结果最大数量。 |
| search_depth | string | 否 | 搜索深度:“basic”或“advanced”。未设置时由服务选择。 |
| include_answer | boolean | 否 | 是否包含 AI 生成的结果摘要。 |
| exclude_domains | array | 否 | 要从结果中排除的域名列表。 |
| include_domains | array | 否 | 要将结果限制到的域名列表;仅返回这些域名中的结果。 |
| include_raw_content | boolean | 否 | 是否包含每条结果对应的清理后原始页面内容。 |
详细介绍
researchsearch
researchsearch 是一款由 Tavily API 驱动的网络研究工作台。它可以搜索经过排序且包含内容的结果(还可选择生成答案),提取特定页面中的纯文本,在你设定的限制内逐页抓取网站,并梳理网站结构,让你在阅读前了解网站内容。它既可通过命令行使用,也可作为面向 Agent 的 MCP 服务运行。
需要 Tavily API 密钥。请将密钥设置在 TAVILY_API_KEY
环境变量中;如果未设置,所有操作都会在发出任何请求前停止,并报告缺少该变量。
安装
export TAVILY_API_KEY="tvly-..."
npx @reneturcios/researchsearch search "composting basics"
或者运行容器镜像:
docker run -i -e TAVILY_API_KEY="tvly-..." ghcr.io/cloudcorprecords/researchsearch
容器默认启动 MCP 服务(见下文)。传入 CLI 参数即可将其用作 CLI。
CLI
# Search; results print as JSON
researchsearch search "composting basics"
researchsearch search "rate decision" --topic news --days 3 --max-results 5 --answer
# Extract the clean content of one or more pages
researchsearch extract https://example.com/article
researchsearch extract https://example.com/a https://example.com/b --depth advanced
# Crawl a site from a starting page
researchsearch crawl https://example.com --max-depth 2 --limit 25
researchsearch crawl https://example.com --instructions "Focus on the guides"
# Map a site's structure (URLs only, no page content)
researchsearch map https://example.com --max-depth 1 --limit 50
researchsearch --version
退出码:操作成功时为 0,操作失败时为 1(例如缺少
TAVILY_API_KEY、服务返回 HTTP 错误或无法连接主机),用法错误时为 2。
MCP 服务
一个二进制文件同时支持两种用途。mcp 子命令会启动 stdio MCP
服务:
npx -y @reneturcios/researchsearch mcp
MCP 客户端配置:
{
"mcpServers": {
"researchsearch": {
"command": "npx",
"args": ["-y", "@reneturcios/researchsearch", "mcp"],
"env": {
"TAVILY_API_KEY": "tvly-..."
}
}
}
}
工具
| 工具 | 输入 | 返回内容 |
|---|---|---|
tavily-search | query(字符串,必填)、search_depth、topic、days、max_results、include_answer、include_raw_content、include_domains、exclude_domains(均为可选) | 排序后的结果,包含内容摘要和评分;按需提供生成的答案和原始页面内容。 |
tavily-extract | urls(字符串数组,必填)、extract_depth、include_images、query(可选) | 每个页面提取出的纯文本,并单独报告提取失败的页面。 |
tavily-crawl | url(字符串,必填)、max_depth、max_breadth、limit、instructions、extract_depth(可选) | 从起始 URL 抓取的页面,以及每个页面提取出的内容。 |
tavily-map | url(字符串,必填)、max_depth、max_breadth、limit、instructions(可选) | 从起始页面可访问的 URL 列表,不包含页面内容。 |
每个工具都会调用对应的 Tavily API 端点。只会发送你设置的参数——未设置的可选参数会被省略,让服务应用自己的默认值——并且每个响应都会原样返回服务提供的 JSON。
开发
npm install
npm run build # tsc -> dist/
npm test # node test runner over test/*.test.ts, no network (fake fetch fixtures)
npm run dev # run the CLI from source via tsx
许可证
MIT — 参见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。