one-search-mcp

MCP.Pizza Chef: yokingma

Four actions are on offer: run a search, read one page back as clean text, list every link found on a page, and pull the readable text out of several pages at once. Out of the box nothing needs paying for, because it quietly drives a Chrome-family browser you already have and reads results from Bing, Google, Baidu, and Sogou. Ten paid or self-hosted search services can be swapped in instead. Requests to private and local addresses are blocked unless you deliberately allow them.

Data
Web/Research

Use This MCP server To

Search the web and get readable summaries with links Read a long article back as clean, clutter-free text Collect every link on a page I want to explore Pull the text from several pages at once to compare Capture a full-page picture of a website Search the web without signing up or paying for anything

README

🚀 OneSearch MCP Server: Web Search, URL Discovery, Scraper & Content Prep

A Model Context Protocol (MCP) server implementation that integrates with multiple search providers for web search, local browser search, URL discovery, and scraping capabilities with agent-browser.

Features

  • Web search, scrape, discover URLs, and preprocess content from websites.
  • Support multiple search engines and web scrapers: SearXNG, Tavily, DuckDuckGo, Bing, Google, Zhipu (智谱), Exa, Bocha (博查), You.com, etc.
  • Local web search (browser search), support multiple search engines: Bing, Google, Baidu, Sogou, etc.
    • Use agent-browser for browser automation.
    • Free, no API keys required.
  • Enabled tools: one_search, one_scrape, one_map, one_extract

Current Tool Surface

  • one_search
    • Returns search results from the configured provider.
  • one_map
    • Discovers links from a starting URL by loading the page in the browser and extracting links from its HTML.
    • Supported input fields: url, search, includeSubdomains, limit.
    • This is not a sitemap crawler; removed fields such as ignoreSitemap and sitemapOnly are rejected at the schema boundary.
  • one_scrape
    • Scrapes one page and returns content selected by formats.
    • Supported input fields: url, formats, waitFor, timeout, skipTlsVerification, allowExecuteJavascript, actions.
    • Supported formats: markdown, html, rawHtml, links, screenshot, screenshot@fullPage.
    • Supported bounded pre-scrape actions: wait, click, write, press, scroll.
    • Advanced pre-scrape action: executeJavascript. If actions contains executeJavascript, you must set allowExecuteJavascript: true.
    • actions run serially before content capture and fail fast on the first action error.
    • Removed fields such as onlyMainContent, extract, and location are rejected at the schema boundary.
  • one_extract
    • Accepts only urls and returns preprocessed text blocks for downstream tools or models.

Migration from v1.1.0 and Earlier

Breaking Changes in v1.1.0:

  • Firecrawl Removed: The Firecrawl integration has been removed in favor of agent-browser, which provides similar functionality without requiring external API services.
  • New Browser Requirement: You must install Chromium browser (see Prerequisites section).
  • Environment Variables: FIRECRAWL_API_URL and FIRECRAWL_API_KEY are no longer used.

What Changed:

  • one_scrape and one_map now use agent-browser instead of Firecrawl
  • one_extract now preprocesses multi-URL page content for downstream analysis instead of performing built-in LLM extraction
  • All browser-based operations are now handled locally, providing better privacy and no API costs

Migration Steps:

  1. Install Chromium browser (see Prerequisites)
  2. Remove FIRECRAWL_API_URL and FIRECRAWL_API_KEY from your environment variables
  3. Update to the latest version: npm install -g one-search-mcp@latest

one-search-mcp FAQ

Do I need an account or key?
Not for the default setup, which costs nothing and drives a browser on your own machine. A key is only needed if you switch to a paid service such as Tavily, Exa, Bing, or Google.
Do I need to install anything else?
Yes, a Chrome-family browser. It finds Chrome, Edge, Chromium, or Chrome Canary automatically if you have one. The Docker version bundles a browser so you do not have to.
Can I use this to research a topic and read the sources?
Yes. Ask it to search, then have it read the most promising results back to you in plain text.
Will the free browser-based search always work?
Not always. Search sites sometimes show a 'prove you are human' check to an automated browser, and results can come back empty when that happens.
Do the language, category, and time-range settings do anything?
Not in the default mode. Browser-based search only reads the query and the number of results; the rest are accepted and ignored. With a SearXNG setup, category and language are overridden by whatever the install was configured with.
Can it reach things on my home or office network?
Not by default. Private, local, and loopback addresses are blocked, and that block is genuinely applied when a page loads. Switching it off is possible but exposes internal systems to whatever your assistant is told to do.
Can it run its own code inside a web page?
Yes, if the request asks for that and ticks the matching permission in the same request. That is a guard against accidents rather than against a misled assistant, so treat it as a real capability.
Has anything changed recently?
Yes. The paid Firecrawl service was dropped in version 1.1.0 and replaced with the local browser, so the old Firecrawl settings no longer have any effect.
How hard is setup?
Easy. One command adds it, or you paste a short block into your app's settings. It is documented for Claude Desktop, Cursor, and Windsurf.