
One Search Mcp
io.github.yokingma由 GitHub 账号 yokingma 发布v1.2.4更新于 Oct 24, 2026
Web search, URL discovery, scraping & extraction with agent-browser and search providers
概览
一个本地 MCP 服务器,通过搜索服务商和本地浏览器,让助手进行网页搜索、URL 发现、页面抓取与内容提取。
- 可以做什么
- 通过所选服务商搜索网页(本地浏览器、DuckDuckGo、SearXNG、Tavily、Bing、Google、智谱、Exa、博查或 You.com)。从起始 URL 加载页面并提取链接,发现站点链接。抓取单个页面,返回 markdown、HTML、原始 HTML、链接或截图,并可在抓取前执行等待、点击、输入、按键和滚动等操作。从多个 URL 提取并预处理文本,供后续分析使用。
- 适用场景
- 适合助手需要最新网页结果、页面内容或链接清单,且希望抓取与本地搜索在自己的机器上完成、不依赖付费抓取 API 的场景。适用于资料调研、内容收集以及把网页文本交给后续分析。
- 运行要求
- 通过 npx 或 Docker 在本地运行。npm 包需要 Node.js;浏览器相关工具需要 Chromium 系浏览器(Chrome、Edge、Chromium 或 Chrome Canary),Docker 镜像已内置 Chromium。SEARCH_PROVIDER 选择服务商(默认 local)。tavily、bing、google、zhipu、exa、bocha 需要 SEARCH_API_KEY;searxng 需要 SEARCH_API_URL,google 还需搜索引擎 ID;ydc 需要 YDC_API_KEY。
安装
在 SourceWeft 中
- 打开 控制台中的 One Search Mcp,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
🚀 OneSearch MCP Server: Web Search, URL Discovery, Scraper & Content Prep
A Model Context Protocol (MCP) server implementation that integrates with multiple search providers for web search, local browser search, URL discovery, and scraping capabilities with agent-browser.
Features
- Web search, scrape, discover URLs, and preprocess content from websites.
- Support multiple search engines and web scrapers: SearXNG, Tavily, DuckDuckGo, Bing, Google, Zhipu (智谱), Exa, Bocha (博查), You.com, etc.
- Local web search (browser search), support multiple search engines: Bing, Google, Baidu, Sogou, etc.
- Use
agent-browserfor browser automation. - Free, no API keys required.
- Use
- Enabled tools:
one_search,one_scrape,one_map,one_extract
Current Tool Surface
one_search- Returns search results from the configured provider.
one_map- Discovers links from a starting URL by loading the page in the browser and extracting links from its HTML.
- Supported input fields:
url,search,includeSubdomains,limit. - This is not a sitemap crawler; removed fields such as
ignoreSitemapandsitemapOnlyare rejected at the schema boundary.
one_scrape- Scrapes one page and returns content selected by
formats. - Supported input fields:
url,formats,waitFor,timeout,skipTlsVerification,allowExecuteJavascript,actions. - Supported formats:
markdown,html,rawHtml,links,screenshot,screenshot@fullPage. - Supported bounded pre-scrape actions:
wait,click,write,press,scroll. - Advanced pre-scrape action:
executeJavascript. IfactionscontainsexecuteJavascript, you must setallowExecuteJavascript: true. actionsrun serially before content capture and fail fast on the first action error.- Removed fields such as
onlyMainContent,extract, andlocationare rejected at the schema boundary.
- Scrapes one page and returns content selected by
one_extract- Accepts only
urlsand returns preprocessed text blocks for downstream tools or models.
- Accepts only
Migration from v1.1.0 and Earlier
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_URLandFIRECRAWL_API_KEYare no longer used.
What Changed:
one_scrapeandone_mapnow useagent-browserinstead of Firecrawlone_extractnow preprocesses multi-URL page content for downstream analysis instead of performing built-in LLM extraction- All browser-based operations are now handled locally, providing better privacy and no API costs
Migration Steps:
- Install Chromium browser (see Prerequisites)
- Remove
FIRECRAWL_API_URLandFIRECRAWL_API_KEYfrom your environment variables - Update to the latest version:
npm install -g one-search-mcp@latest
Prerequisites
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:
Installation
Using Claude Code CLI (Recommended)
Manual Installation
Local Debugging with MCP Inspector
Use the official MCP Inspector to interactively test tools, resources, and prompts against this server during local development.
Using Docker
Docker image includes all dependencies (Chromium browser) pre-installed, no additional setup required.
Pull the image:
Configure with Claude Desktop:
With custom search provider:
Environment Variables
Search Provider
- SEARCH_PROVIDER (Optional): The search provider to use, supports
searxng,duckduckgo,bing,tavily,google,zhipu,exa,bocha,ydc,local, default islocal. - 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. - YDC_API_KEY (Optional): You.com API key for
SEARCH_PROVIDER=ydc.
Browser Network Security
- ALLOW_PRIVATE_NETWORK (Optional): Set to
trueto allow browser-backed tools (one_scrape,one_map,one_extract) to access private, loopback, and link-local network targets. Defaults tofalse.
Use ALLOW_PRIVATE_NETWORK=true only in trusted deployments. When enabled, prompt injection or untrusted tool inputs can make the MCP process fetch internal services that are otherwise blocked by default.
Search Provider Configuration
Configuration for Other MCP Clients
Claude Desktop
Add to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Cursor
Add to your mcp.json file:
Windsurf
Add to your ./codeium/windsurf/model_config.json file:
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:
After deployment, SearXNG will be available at http://127.0.0.1:8080 by default.
Configure OneSearch to use SearXNG:
For more details, see the official SearXNG Docker documentation.
Troubleshooting
Browser not found error
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: https://www.google.com/chrome/
- Microsoft Edge: https://www.microsoft.com/edge
- Chromium: https://www.chromium.org/getting-involved/download-chromium/
Or install via agent-browser:
License
MIT License - see LICENSE file for details.
来源:README.md,提交 16eb424
工具
0版本历史
1- v1.2.4最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分