Researchsearch

io.github.CloudCorpRecords由 GitHub 账号 CloudCorpRecords 发布v0.1.0更新于 Oct 31, 2026

Web search, page extraction, crawling, and site mapping powered by the Tavily API.

概览

AI 生成的概览

基于 Tavily 的研究服务器,让助手搜索网页、提取页面正文、爬取站点并梳理其 URL 结构。

可以做什么
  • 搜索网页,返回带排序和正文摘录的结果,可选生成式答案与原始页面内容
  • 从指定的一个或多个页面提取干净正文,失败项单独报告
  • 从起始网址爬取站点,可限制深度、广度和页数,返回每个访问页面的内容
  • 梳理站点结构,仅返回可达 URL,不含页面内容
适用场景
适合助手需要最新网络信息、干净的网页正文,或在阅读前先了解站点有哪些页面的场景。每个工具对应一次 Tavily 接口调用,更适合研究与内容收集,而非本地文件处理。
运行要求
以本地 stdio 进程运行,可通过 npx 或 Docker 镜像启动。必须提供 Tavily API 密钥,放在 TAVILY_API_KEY 环境变量中;缺少时所有操作在发出请求前即报错。需要能访问 Tavily API 的网络。
安装前请注意
TAVILY_API_KEY 是凭据,请勿写入共享配置。查询内容、网址和爬取的页面会发送给第三方 Tavily 服务,用量可能按你的 Tavily 套餐计费。爬取和梳理可能抓取大量页面,请用深度和数量限制控制开销与负载。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Researchsearch,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

researchsearch

researchsearch is a research desk for the web, powered by the Tavily API. It searches with ranked, content-bearing results (and an optional generated answer), pulls the clean text out of specific pages, crawls a site page by page under limits you set, and maps a site's structure so you can see what is there before you read it. It works from the command line or as an MCP server for agents.

A Tavily API key is required. Put it in the TAVILY_API_KEY environment variable; without it, every operation stops with an error that names the missing variable, before any request is made.

Install

bash
export TAVILY_API_KEY="tvly-..."npx @reneturcios/researchsearch search "composting basics"

Or run the container image:

bash
docker run -i -e TAVILY_API_KEY="tvly-..." ghcr.io/cloudcorprecords/researchsearch

The container defaults to the MCP server (see below). Pass CLI arguments to use it as a CLI instead.

CLI

bash
# Search; results print as JSONresearchsearch search "composting basics"researchsearch search "rate decision" --topic news --days 3 --max-results 5 --answer
# Extract the clean content of one or more pagesresearchsearch extract https://example.com/articleresearchsearch extract https://example.com/a https://example.com/b --depth advanced
# Crawl a site from a starting pageresearchsearch crawl https://example.com --max-depth 2 --limit 25researchsearch 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

Exit codes: 0 on success, 1 when an operation fails (a missing TAVILY_API_KEY, an HTTP error from the service, an unreachable host), 2 for usage errors.

MCP server

One bin serves both faces. The mcp subcommand starts a stdio MCP server:

bash
npx -y @reneturcios/researchsearch mcp

MCP client configuration:

json
{  "mcpServers": {    "researchsearch": {      "command": "npx",      "args": ["-y", "@reneturcios/researchsearch", "mcp"],      "env": {        "TAVILY_API_KEY": "tvly-..."      }    }  }}

Tools

ToolInputWhat it returns
tavily-searchquery (string, required), search_depth, topic, days, max_results, include_answer, include_raw_content, include_domains, exclude_domains (all optional)Ranked results with content excerpts and scores, plus a generated answer and raw page content when requested.
tavily-extracturls (string array, required), extract_depth, include_images, query (optional)The clean extracted content of each page, with failures reported separately.
tavily-crawlurl (string, required), max_depth, max_breadth, limit, instructions, extract_depth (optional)The pages visited from the starting URL, each with its extracted content.
tavily-mapurl (string, required), max_depth, max_breadth, limit, instructions (optional)The list of URLs reachable from the starting page, without page content.

Each tool is one call to the matching Tavily API endpoint. Only the parameters you set are sent — unset optionals are omitted so the service applies its own defaults — and each response is the service's JSON, passed back unchanged.

Development

bash
npm installnpm 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

License

MIT — see LICENSE.

来源:README.md,提交 c9edaa2

工具

4

tavily-extract

Extract clean content from one or more web pages with Tavily.

输入参数urls必填queryextract_depthinclude_images

tavily-crawl

Crawl a website from a starting URL with Tavily, extracting content from the pages it visits.

输入参数url必填limitmax_depthmax_breadthinstructionsextract_depth

tavily-map

Map a website's structure with Tavily, returning the URLs reachable from a starting page.

输入参数url必填limitmax_depthmax_breadthinstructions

版本历史

1
  1. v0.1.0最新Oct 31, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分