MCP HubMCP Hub
yokingma

one-search-mcp

by: yokingma

πŸš€ OneSearch MCP Server: Web Search & Scraper & Extract

17created 18/03/2025
Visit
Web
Scraper

πŸ“ŒOverview

Purpose: The OneSearch MCP Server aims to provide an integrated solution for web search, scraping, and content extraction, utilizing various tools and search engines.

Overview: OneSearch MCP Server is a Model Context Protocol server implementation that connects with multiple web search and scraping tools like Searxng, Firecrawl, and Tavily. It allows users to perform comprehensive web searches, scrape content, and extract relevant data from websites efficiently.

Key Features:

  • Web Search and Scraping: Enables users to search, scrape, crawl, and extract content from various websites effectively.

  • Multi-Engine Support: Compatible with several search engines and scrapers, including SearXNG and Firecrawl, accommodating diverse user needs.

  • Self-Hosting Capability: Users can deploy SearXNG and Firecrawl locally, offering flexibility in setup and usage according to their requirements.


πŸš€ 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.
  • Supports multiple search engines and web scrapers: SearXNG, Firecrawl, Tavily, DuckDuckGo, Bing, etc.
  • Local web search (browser search) supporting multiple search engines: Bing, Google, Baidu, Sogou, etc.
    • Uses puppeteer-core to scrape website content.
    • Requires a local browser installation, such as Chromium, Google Chrome, or Google Chrome Canary.
    • Free to use, no API keys required.
  • Enabled tools: one_search, one_scrape, one_map
  • Supports self-hosted instances of SearXNG, Firecrawl, etc.

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): Search provider to use, supports searxng, duckduckgo, bing, tavily, local. Default is local.
  • SEARCH_API_URL (Optional): URL of the SearxNG API. Required for searxng.
  • SEARCH_API_KEY (Optional): 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): URL of the Firecrawl API. Required for firecrawl.
  • FIRECRAWL_API_KEY (Optional): API key for Firecrawl API. Required if using cloud service.

Running on Cursor

Example mcp.json configuration:

{
  "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 the following 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-hosting

To deploy SearXNG and Firecrawl locally, please refer to Deploy documentation.

Troubleshooting

  • ReferenceError: __name is not defined: This issue is caused by Puppeteer having problems with tsx. See esbuild#1031.

License

MIT License - see LICENSE file for details.