Back to Browse

Researchsearch MCP Server

Developer ToolsModerate6.2MCP RegistryLocal
Free

Server data from the Official MCP Registry

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

About

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

Security Report

6.2
Moderate6.2Moderate Risk

researchsearch is a clean, well-structured Tavily API wrapper that requires TAVILY_API_KEY from the environment, never hardcodes secrets, and sends the key only as a Bearer token to the official api.tavily.com endpoints. Its network and environment access match its stated web search, extraction, crawling, and mapping purpose, and the only observations are minor (e.g., the MCP server accepts arbitrary URLs for crawling, and error messages echo upstream response bodies truncated to 200 characters). No malicious patterns, shell execution, or filesystem access were found. Supply chain analysis found 4 known vulnerabilities in dependencies (0 critical, 2 high severity). Package verification found 1 issue.

8 files analyzed · 8 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

HTTP Network Access

Connects to external APIs or services over the internet.

env_vars

Check that this permission is expected for this type of plugin.

What You'll Need

Set these up before or after installing:

TAVILY_API_KEYRequired

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-cloudcorprecords-researchsearch": {
      "env": {
        "TAVILY_API_KEY": "your-tavily-api-key-here"
      },
      "args": [
        "-y",
        "@reneturcios/researchsearch"
      ],
      "command": "npx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub 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

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

Or run the container image:

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

# 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

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:

npx -y @reneturcios/researchsearch mcp

MCP client configuration:

{
  "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

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

License

MIT — see LICENSE.

Reviews

No reviews yet

Be the first to review this server!