Researchsearch

io.github.CloudCorpRecordsPublished by GitHub account CloudCorpRecordsv0.1.0Updated Oct 31, 2026

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

Overview

AI-generated overview

Tavily-powered research server that lets an assistant search the web, extract page text, crawl sites and map their URL structure.

What you can do
  • Search the web with ranked, content-bearing results, optional generated answers and raw page content
  • Extract clean text from one or more specific pages, with failures reported separately
  • Crawl a site from a starting URL under depth, breadth and page limits, returning each visited page's content
  • Map a site's structure, returning reachable URLs without page content
When to use it
Useful when an assistant needs current web information, clean article text, or a survey of a site's pages before reading them. Each tool is a single call to the matching Tavily endpoint, so it suits research and content-gathering tasks rather than local file work.
Requirements
Runs as a local stdio process via npx or the Docker image. A Tavily API key is required in the TAVILY_API_KEY environment variable; without it every operation fails before any request is made. Network access to the Tavily API is needed.
Before you install
The Tavily API key is a credential passed in the environment; keep it out of shared configs. Queries, URLs and crawled pages are sent to the third-party Tavily service, and usage may be billed under your Tavily plan. Crawl and map calls can fetch many pages, so depth and limit settings control cost and load.

Installation

In SourceWeft

  1. Open Researchsearch in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

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.

Source: README.md at commit c9edaa2

Tools

4

tavily-extract

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

Parametersurlsrequiredqueryextract_depthinclude_images

tavily-crawl

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

Parametersurlrequiredlimitmax_depthmax_breadthinstructionsextract_depth

tavily-map

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

Parametersurlrequiredlimitmax_depthmax_breadthinstructions

Version history

1
  1. v0.1.0LatestOct 31, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts