Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT and other tools is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AI Fire in da houseCheck it out free

one-search-mcp

MCP.Pizza Chef: yokingma

OneSearch MCP Server is a versatile Model Context Protocol server that enables web search, scraping, crawling, and content extraction from multiple search engines and web scrapers including SearXNG, Firecrawl, Tavily, DuckDuckGo, and Bing. It supports local browser-based searches using Chromium or Chrome and requires no API keys, making it ideal for integrating real-time web data into AI workflows. It also supports self-hosted search engines and offers tools like one_search, one_scrape, and one_map for enhanced functionality.

Use This MCP server To

Perform real-time web searches across multiple search engines Scrape and extract structured content from web pages Integrate local browser-based web search into AI workflows Use self-hosted search engines for private or customized search Enable multi-source data gathering for AI context enrichment Automate web crawling and data extraction tasks Combine search results from diverse engines for comprehensive insights

README

🚀 OneSearch MCP Server: Web Search & Crawl & Scraper & Extract

A Model Context Protocol (MCP) server implementation that integrates with Searxng/Tavily/DuckDuckGo/Bing for web search, local browser search, and scraping capabilities with Firecrawl.

Features

  • Web Search, scrape, crawl and extract content from websites.
  • Support multiple search engines and web scrapers: SearXNG, Firecrawl, Tavily, DuckDuckGo, Bing, etc.
  • Local web search (browser search), support multiple search engines: Bing, Google, Baidu, Sogou, etc.
    • Use puppeteer-core to scrape content from websites.
    • You should have a local browser installed, such as Chromium, Google Chrome, Google Chrome Canary, etc.
    • Free, no keys required.
  • Enabled tools: one_search, one_scrape, one_map
  • Support for self-hosted: SearXNG, Firecrawl, etc. (see Deploy)

Installation

Installing via Smithery

To install OneSearch for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @yokingma/one-search --client claude

Manual Installation

# Manually install (Optional)
npm install -g one-search-mcp
# using npx
env SEARCH_API_URL=http://127.0.0.1:8080 FIRECRAWL_API_URL=http://127.0.0.1:3002 npx -y one-search-mcp

Environment Variables

Search Engine:

  • SEARCH_PROVIDER (Optional): The search provider to use, supports searxng, duckduckgo, bing, tavily, local, default is local.
  • SEARCH_API_URL (Optional): The URL of the SearxNG API, required for searxng.
  • SEARCH_API_KEY (Optional): The API key for the search provider, required for tavily, bing.
// supported search providers
export type SearchProvider = 'searxng' | 'duckduckgo' | 'bing' | 'tavily' | 'local';

Firecrawl:

  • FIRECRAWL_API_URL (Optional): The URL of the Firecrawl API, required for firecrawl.
  • FIRECRAWL_API_KEY (Optional): The API key for the Firecrawl API, required for firecrawl if using cloud service.

Running on Cursor

Your mcp.json file will look like this:

{
  "mcpServers": {
    "one-search-mcp": {
      "command": "npx",
      "args": ["-y", "one-search-mcp"],
      "env": {
        "SEARCH_PROVIDER": "searxng",
        "SEARCH_API_URL": "http://127.0.0.1:8080",
        "SEARCH_API_KEY": "YOUR_API_KEY",
        "FIRECRAWL_API_URL": "http://127.0.0.1:3002",
        "FIRECRAWL_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

Running on Windsurf

Add this to your ./codeium/windsurf/model_config.json file:

{
  "mcpServers": {
    "one-search-mcp": {
      "command": "npx",
      "args": ["-y", "one-search-mcp"],
      "env": {
        "SEARCH_PROVIDER": "searxng",
        "SEARCH_API_URL": "http://127.0.0.1:8080",
        "SEARCH_API_KEY": "YOUR_API_KEY",
        "FIRECRAWL_API_URL": "http://127.0.0.1:3002",
        "FIRECRAWL_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

Self-host

Local deployment of SearXNG and Firecrawl, please refer to Deploy

Troubleshooting

  • [ReferenceError]: __name is not defined: This is because Puppeteer has problems with tsx, esbuild#1031

License

MIT License - see LICENSE file for details.

one-search-mcp FAQ

How do I install OneSearch MCP Server?
You can install it via Smithery or follow the deployment instructions in the GitHub repository.
Does OneSearch require API keys for search engines?
No, it uses free search engines and local browser scraping, so no API keys are needed.
What browsers are supported for local web search?
It supports Chromium, Google Chrome, and Google Chrome Canary for local browser scraping.
Can I use OneSearch with self-hosted search engines?
Yes, it supports self-hosted instances like SearXNG and Firecrawl for private search setups.
What tools are enabled in OneSearch MCP Server?
The server enables one_search, one_scrape, and one_map tools for search, scraping, and mapping functionalities.
Is OneSearch MCP Server compatible with multiple LLM providers?
Yes, it is provider-agnostic and works with models like OpenAI, Claude, and Gemini.
How does OneSearch handle web scraping?
It uses puppeteer-core to scrape content from websites via a local browser installation.
Can OneSearch aggregate results from different search engines?
Yes, it supports multiple search engines and can combine results for richer context.