# one-search-mcp [Health: Active]

**Category:** 🔎 Search & Data Extraction  
**Repository:** https://github.com/yokingma/one-search-mcp  
**GitHub Stars:** 146  
**npm Downloads (last month):** 7102587  
**Views:** 1  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/one-search-mcp

## Description
Web search, crawl, scrape & extract with agent-browser, SearXNG, Tavily, DuckDuckGo, Bing & more

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "one-search-mcp": {
    "command": "npx",
    "args": ["-y","agent-browser"]
  }
}
```

## Documentation

## What one-search-mcp does

The one-search-mcp MCP server gives an MCP client a set of web research and page-processing tools. It can query a configured search provider, load a starting page and collect links, scrape selected page representations, and preprocess text from multiple URLs.

Search can use local browser automation or configured services including SearXNG, DuckDuckGo, Bing, Tavily, Google, Zhipu, Exa, Bocha, and You.com. The local provider uses a browser rather than an API key. Browser operations are handled locally through agent-browser, replacing the Firecrawl integration used by earlier releases.

## How it works

The `one_search` tool returns results from the provider selected by `SEARCH_PROVIDER`. The default is `local`; other providers may require an API key, an API URL, or both. Local search supports browser-based searches through engines such as Bing, Google, Baidu, and Sogou.

`one_map` opens a starting URL in the browser and extracts links from its HTML. It accepts a URL, an optional search value, an `includeSubdomains` option, and a result limit. It discovers page links rather than operating as a sitemap crawler.

`one_scrape` loads one page and captures the formats requested by the caller. Available formats include Markdown, HTML, raw HTML, links, and screenshots, including full-page screenshots. Optional actions such as waiting, clicking, writing, pressing keys, and scrolling run in order before capture. JavaScript execution is available only when `allowExecuteJavascript` is explicitly enabled, and action processing stops at the first error.

`one_extract` accepts a list of URLs and returns preprocessed text blocks for later tools or models. It does not perform built-in LLM extraction.

## Setup and configuration

Install the package with `npx -y one-search-mcp` or install it globally with npm. It can also run in Docker; the published images include Chromium. Claude Code, Claude Desktop, Cursor, and Windsurf configuration examples are provided by the project.

A Chromium-based browser is required for local search and browser-backed tools. The server can detect Chrome, Edge, Chromium, and Chrome Canary. If none is installed, Chromium can be installed through `npx agent-browser install` or by installing a browser separately.

Set `SEARCH_PROVIDER` to choose a search backend. `SEARCH_API_KEY` is needed for Tavily, Bing, Google, Zhipu, Exa, and Bocha; Google also uses `SEARCH_API_URL` for its Custom Search Engine ID. SearXNG uses `SEARCH_API_URL`, and You.com uses `YDC_API_KEY`. The local and DuckDuckGo providers do not require keys.

## Tools and capabilities

The one-search-mcp MCP server exposes four tools:

- `one_search` queries the selected search provider.
- `one_map` finds links on a starting page.
- `one_scrape` captures page content, links, screenshots, and supported browser-driven interactions.
- `one_extract` prepares text from multiple URLs.

The MCP Inspector can be used to test the TypeScript or built server entrypoint during local development.

## Limitations and notes

Browser-backed operations block private, loopback, and link-local targets by default. Set `ALLOW_PRIVATE_NETWORK=true` only in a trusted deployment when access to those targets is needed; the project warns that untrusted inputs or prompt injection could otherwise cause internal services to be fetched.

Several older fields are no longer accepted. `one_map` rejects removed sitemap-related fields, while `one_scrape` rejects fields such as `onlyMainContent`, `extract`, and `location`. Calls that use `executeJavascript` must also set `allowExecuteJavascript` to `true`. The Firecrawl environment variables are obsolete and should be removed when migrating from version 1.1.0 or earlier.

_Full upstream README: https://allmcps.com/mcp/one-search-mcp/readme_

