mcp-open-webresearch Server

Proxy-aware MCP server enabling multi-engine web search, deep research, and content extraction with proxy support.
  • typescript

0

GitHub Stars

typescript

Language

5 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs

You can deploy and run the Proxy-aware MCP server for web search and content extraction to power multi-engine searches, deep investigations, and automated content gathering in proxy-rich environments. It supports dynamic engine loading, centralized throttling, ephemeral deep-search reports, and both local (stdio) and remote (http) MCP connections for flexible integration.

How to use

Start by running the MCP server locally or on a host you control. You can connect to it via an MCP client to perform multi-engine searches, run deep research tasks, and fetch web content. The server aggregates results from Bing, DuckDuckGo, and Brave, applies optional LLM-based filtering, extracts content from webpages, and serves download-ready reports from an in-memory cache.

Key capabilities you will leverage include: multi-engine search, deep research with citation extraction, ephemeral in-memory reports, centralized rate throttling across engines, smart fetch with browser or standard profiles, and proxy support for SOCKS5, HTTPS, and HTTP proxies. You can enable or disable result sampling, visit and extract content from web pages, and configure how engines are discovered and used.

How to install

Prerequisites you need before installation: Node.js installed on the host, and a compatible shell or terminal. If you plan to run via Docker, Docker must be available on the host.

Step-by-step for running locally from source (stdio configuration): Install dependencies, then start the server using the documented npm script.

{
  "mcpServers": {
    "open-webresearch": {
      "command": "npm",
      "args": [
        "run",
        "start:sampling",
        "--silent",
        "--prefix",
        "/absolute/path/to/project"
      ],
      "headers": {},
      "disabled": false
    }
  }
}

Additional configuration and connection options

You can expose the MCP server via HTTP or run it locally as a stdio process. The following examples show both options as they’re intended to be used.

{
  "mcpServers": {
    "open-webresearch": {
      "serverUrl": "http://localhost:3000/mcp",
      "headers": {}
    }
  }
}

Notes on usage and defaults

Deep Search processes may run for several minutes. If your MCP client has a short timeout, increase it to avoid premature failures. Adjust timeouts in your client configuration to accommodate long-running searches.

Environment and CLI-based configuration are supported. You can override defaults with environment variables or CLI arguments when launching the server. Typical adjustments include enabling proxy support, selecting default engines, and tuning deep search parameters.

Security and deployment considerations

When operating behind proxies, ensure proxy settings are correctly configured to allow outbound HTTP requests. The server provides full proxy support for SOCKS5, HTTPS, and HTTP proxies. If you expose the server publicly, apply access controls and monitor for rate-limiting behavior to protect upstream services.

Troubleshooting quick tips

If a deep search task times out, verify your client timeout settings and consider increasing the DEEP_SEARCH_MAX_LOOPS or DEEP_SEARCH_RESULTS_PER_ENGINE values. Check that proxies are reachable and that environment variables required by the server are correctly set.

Available tools

search_deep

Recursive research agent for deep investigation, performing multi-round searches, extracting citations, and synthesizing a comprehensive answer.

search_web

Performs a search across configured engines and returns results.

visit_webpage

Visits a URL and returns extracted markdown content from the page.

set_engines

Updates the default set of search engines used by the server.

get_engines

Returns the currently configured search engines.

set_sampling

Enables or disables result sampling by the integrated LLM.

get_sampling

Returns the current status of result sampling.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational