One Search MCP Server, Web Search & Crawl & Scraper & Extract, support Firecrawl, SearXNG, Tavily, DuckDuckGo, Bing, etc.

๐Ÿš€ 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.

MCP Server ยท Populars

MCP Server ยท New

    chatmcp

    mcpso

    directory for Awesome MCP Servers

    Community chatmcp
    TBXark

    MCP Proxy Server

    An MCP proxy server that aggregates and serves multiple MCP resource servers through a single HTTP server.

    Community TBXark
    ttommyth

    interactive-mcp

    Ask users questions from your LLM! interactive-mcp: Local, cross-platform MCP server for interactive prompts, chat & notifications.

    Community ttommyth
    lpigeon

    ros-mcp-server

    The ROS MCP Server is designed to support robots in performing complex tasks and adapting effectively to various environments by providing a set of functions that transform natural language commands, entered by a user through an LLM, into ROS commands for robot control.

    Community lpigeon
    emicklei

    melrose-mcp

    interactive programming of melodies, producing MIDI

    Community emicklei