小贴士:按下Ctrl+D 或 ⌘+D,一键收藏本站,方便下次快速访问!
MIT License
17
最近更新:2个月前

🚀 OneSearch MCP 服务器:网页搜索 & 爬虫 & 数据提取,支持 Firecrawl、SearXNG、Tavily、DuckDuckGo、Bing 等。

🚀 OneSearch MCP 服务器:网页搜索、爬取、抓取与提取

一个集成 Searxng/Tavily/DuckDuckGo/Bing 的模型上下文协议(MCP)服务器实现,具备网页搜索、本地浏览器搜索能力,并通过 Firecrawl 实现内容抓取功能。

功能特性

  • 网页搜索、抓取、爬取及提取网站内容
  • 支持多种搜索引擎和网页抓取工具:SearXNGFirecrawlTavilyDuckDuckGoBing
  • 本地网页搜索(浏览器搜索),支持多种搜索引擎:BingGoogleBaiduSogou
    • 使用 puppeteer-core 从网站抓取内容
    • 需安装本地浏览器,如 ChromiumGoogle ChromeGoogle Chrome Canary
    • 免费使用,无需密钥
  • 启用工具: one_searchone_scrapeone_map
  • 支持自托管服务:SearXNG、Firecrawl 等(参见部署指南

安装指南

通过 Smithery 安装

通过 Smithery 为 Claude Desktop 自动安装 OneSearch:

bash 复制代码
npx -y @smithery/cli install @yokingma/one-search --client claude

手动安装

shell 复制代码
# 手动安装(可选)
npm install -g one-search-mcp
shell 复制代码
# 使用 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

环境变量

搜索引擎配置:

  • SEARCH_PROVIDER(可选):指定搜索引擎提供商,支持 searxngduckduckgobingtavilylocal,默认为 local
  • SEARCH_API_URL(可选):SearxNG API 地址,使用 searxng 时必需
  • SEARCH_API_KEY(可选):搜索引擎 API 密钥,使用 tavilybing 时必需
ts 复制代码
// 支持的搜索引擎类型
export type SearchProvider = 'searxng' | 'duckduckgo' | 'bing' | 'tavily' | 'local';

Firecrawl 配置:

  • FIRECRAWL_API_URL(可选):Firecrawl API 地址,使用 firecrawl 时必需
  • FIRECRAWL_API_KEY(可选):Firecrawl API 密钥,使用云服务时必需

在 Cursor 中运行

mcp.json 配置文件示例如下:

json 复制代码
{
  "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"
      }
    }
  }
}

在 Windsurf 中运行

./codeium/windsurf/model_config.json 文件中添加:

json 复制代码
{
  "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"
      }
    }
  }
}

自托管服务

SearXNG 和 Firecrawl 的本地部署指南,请参阅部署文档

故障排查

  • [ReferenceError]: __name is not defined:该问题源于 Puppeteer 与 tsx 的兼容性问题,详见 esbuild#1031

许可证

MIT 许可证 - 详见 LICENSE 文件。