One Search MCP Server, Web Search & Crawl & Scraper & Extract, support agent-browser, SearXNG, Tavily, DuckDuckGo, Bing, etc.
npm install one-search-mcpA Model Context Protocol (MCP) server implementation that integrates with multiple search providers for web search, local browser search, and scraping capabilities with agent-browser.
- Web Search, scrape, crawl and extract content from websites.
- Support multiple search engines and web scrapers: SearXNG, Tavily, DuckDuckGo, Bing, Google, Zhipu (ζΊθ°±), Exa, Bocha (εζ₯), etc.
- Local web search (browser search), support multiple search engines: Bing, Google, Baidu, Sogou, etc.
- Use agent-browser for browser automation.
- Free, no API keys required.
- Enabled tools: one_search, one_scrape, one_map, one_extract
Breaking Changes in v1.1.0:
- Firecrawl Removed: The Firecrawl integration has been removed in favor of agent-browser, which provides similar functionality without requiring external API services.
- New Browser Requirement: You must install Chromium browser (see Prerequisites section).
- Environment Variables: FIRECRAWL_API_URL and FIRECRAWL_API_KEY are no longer used.
What Changed:
- one_scrape and one_map now use agent-browser instead of Firecrawl
- one_extract tool is now fully implemented for structured data extraction from multiple URLs
- All browser-based operations are now handled locally, providing better privacy and no API costs
Migration Steps:
1. Install Chromium browser (see Prerequisites)
2. Remove FIRECRAWL_API_URL and FIRECRAWL_API_KEY from your environment variables
3. Update to the latest version: npm install -g one-search-mcp@latest
Browser Requirement: This server uses agent-browser for web scraping and local search, which requires a Chromium-based browser.
Good News: The server will automatically detect and use browsers already installed on your system:
- β
Google Chrome
- β
Microsoft Edge
- β
Chromium
- β
Google Chrome Canary
If you don't have any of these browsers installed, you can:
``bashOption 1: Install Google Chrome (Recommended)
Download from: https://www.google.com/chrome/
Installation
$3
`bash
Add to Claude Code with default settings (local search)
claude mcp add one-search-mcp -- npx -y one-search-mcpAdd with custom search provider (e.g., SearXNG)
claude mcp add -e SEARCH_PROVIDER=searxng -e SEARCH_API_URL=http://127.0.0.1:8080 one-search-mcp -- npx -y one-search-mcpAdd with Tavily API
claude mcp add -e SEARCH_PROVIDER=tavily -e SEARCH_API_KEY=your_api_key one-search-mcp -- npx -y one-search-mcp
`$3
`bash
Install globally (Optional)
npm install -g one-search-mcpOr run directly with npx
npx -y one-search-mcp
`Environment Variables
Search Engine:
- SEARCH_PROVIDER (Optional): The search provider to use, supports
searxng, duckduckgo, bing, tavily, google, zhipu, exa, bocha, local, default is local.
- SEARCH_API_URL (Optional): The URL of the SearxNG API, or Google Custom Search Engine ID for google.
- SEARCH_API_KEY (Optional): The API key for the search provider, required for tavily, bing, google, zhipu, exa, bocha.`ts
// supported search providers
export type SearchProvider = 'searxng' | 'duckduckgo' | 'bing' | 'tavily' | 'google' | 'zhipu' | 'exa' | 'bocha' | 'local';
`$3
| Provider | API Key Required | API URL Required | Notes |
|----------|-----------------|------------------|-------|
|
local | No | No | Free, uses browser automation |
| duckduckgo | No | No | Free, no API key needed |
| searxng | Optional | Yes | Self-hosted meta search engine |
| bing | Yes | No | Bing Search API |
| tavily | Yes | No | Tavily API |
| google | Yes | Yes (Search Engine ID) | Google Custom Search |
| zhipu | Yes | No | ζΊθ°± AI |
| exa | Yes | No | Exa AI |
| bocha | Yes | No | εζ₯ AI |Configuration for Other MCP Clients
$3
Add to your Claude Desktop configuration file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json`json
{
"mcpServers": {
"one-search-mcp": {
"command": "npx",
"args": ["-y", "one-search-mcp"],
"env": {
"SEARCH_PROVIDER": "local"
}
}
}
}
`$3
Add to your
mcp.json file:`json
{
"mcpServers": {
"one-search-mcp": {
"command": "npx",
"args": ["-y", "one-search-mcp"],
"env": {
"SEARCH_PROVIDER": "local"
}
}
}
}
`$3
Add to your
./codeium/windsurf/model_config.json file:`json
{
"mcpServers": {
"one-search-mcp": {
"command": "npx",
"args": ["-y", "one-search-mcp"],
"env": {
"SEARCH_PROVIDER": "local"
}
}
}
}
`Self-hosting SearXNG (Optional)
If you want to use SearXNG as your search provider, you can deploy it locally using Docker:
Prerequisites:
- Docker installed and running (version 20.10.0 or higher)
- At least 4GB of RAM available
Quick Start:
`bash
Clone SearXNG Docker repository
git clone https://github.com/searxng/searxng-docker.git
cd searxng-dockerStart SearXNG
docker compose up -d
`After deployment, SearXNG will be available at
http://127.0.0.1:8080 by default.Configure OneSearch to use SearXNG:
`bash
Set environment variables
export SEARCH_PROVIDER=searxng
export SEARCH_API_URL=http://127.0.0.1:8080
`For more details, see the official SearXNG Docker documentation.
Troubleshooting
$3
If you see an error like "Browser not found", the server couldn't detect any installed Chromium-based browser. Please install one of the following:
- Google Chrome:
- Microsoft Edge:
- Chromium:
Or install via agent-browser:
`bash
npx agent-browser install
``MIT License - see LICENSE file for details.