JUHE API Marketplace
yokingma avatar
MCP Server

OneSearch MCP Server

A Model Context Protocol server that enables web search, scraping, crawling, and content extraction through multiple engines including SearXNG, Firecrawl, and Tavily.

50
GitHub Stars
8/23/2025
Last Updated
MCP Server Configuration
1{
2 "name": "one-search-mcp",
3 "command": "npx",
4 "args": [
5 "-y",
6 "one-search-mcp"
7 ],
8 "env": {
9 "SEARCH_PROVIDER": "searxng",
10 "SEARCH_API_URL": "http://127.0.0.1: 8080",
11 "SEARCH_API_KEY": "YOUR_API_KEY",
12 "FIRECRAWL_API_URL": "http://127.0.0.1: 3002",
13 "FIRECRAWL_API_KEY": "YOUR_API_KEY"
14 }
15}
JSON15 lines

README Documentation

🚀 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.

Quick Install

Quick Actions

Key Features

Model Context Protocol
Secure Communication
Real-time Updates
Open Source