Skip to main content
Glama

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

Related MCP server: Firecrawl MCP Server

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-click Deploy
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/yokingma/one-search-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server