
🚀 OneSearch MCP Server: Web Search & Crawl & Scraper & Extract
🚀 OneSearch MCP Server: Web Search & Scraper & Extract, Support Firecrawl, SearXNG, Tavily, DuckDuckGo, Bing, etc.
What is OneSearch MCP?
OneSearch MCP is a Model Context Protocol (MCP) server that integrates with Searxng, Firecrawl, and Tavily to provide web search, scraping, and content extraction capabilities.
How to use OneSearch MCP?
To use OneSearch MCP, install it via npm and configure the necessary environment variables for your preferred search provider and API keys. You can run it on platforms like Cursor or Windsurf by setting up the appropriate configuration files.
Key features of OneSearch MCP?
- Web search, scraping, crawling, and content extraction from various websites.
- Support for multiple search engines and web scrapers including SearXNG and Firecrawl.
- Self-hosting capabilities for SearXNG and Firecrawl.
- Enabled tools for searching and scraping.
Use cases of OneSearch MCP?
- Automating web data extraction for research purposes.
- Building custom search engines tailored to specific needs.
- Integrating web scraping functionalities into applications.
FAQ from OneSearch MCP?
- What programming language is OneSearch MCP built with?
OneSearch MCP is built using TypeScript.
- Is OneSearch MCP free to use?
Yes! OneSearch MCP is open-source and available under the MIT License.
- Can I self-host OneSearch MCP?
Yes! You can self-host it by following the deployment instructions provided in the 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.
- Use
- 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 islocal
. - 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.