返回市场
一搜-MCP

一搜-MCP

作者:yokingma61 星标更新:2025-04-03

项目介绍

🚀 OneSearch MCP Server: 网页搜索、爬取与内容提取

这是一个实现了模型上下文协议(MCP)的服务器,它集成了Searxng/Tavily/DuckDuckGo/Bing等搜索引擎,以及本地浏览器搜索和网页抓取功能,使用Firecrawl进行网页爬取。

功能

  • 网页搜索、抓取、爬取并从网站中提取内容。
  • 支持多个搜索引擎和网页抓取工具:SearXNGFirecrawlTavilyDuckDuckGoBing等。
  • 本地网页搜索(浏览器搜索),支持多个搜索引擎:BingGoogle百度搜狗等。
    • 使用puppeteer-core从网站抓取内容。
    • 需要安装本地浏览器,如ChromiumGoogle ChromeGoogle Chrome Canary等。
    • 免费,无需密钥。
  • 启用工具one_searchone_scrapeone_map
  • 支持自托管:SearXNG,Firecrawl等(参见部署

安装

通过Smithery安装

要通过Smithery自动安装OneSearch for Claude Desktop:

npx -y @smithery/cli install @yokingma/one-search --client claude

手动安装

# 手动安装(可选)
npm install -g one-search-mcp
# 使用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的URL,对于searxng是必需的。
  • SEARCH_API_KEY(可选):搜索引擎提供商的API密钥,对于tavilybing是必需的。
// 支持的搜索引擎提供商
export type SearchProvider = 'searxng' | 'duckduckgo' | 'bing' | 'tavily' | 'local';

Firecrawl:

  • FIRECRAWL_API_URL(可选):Firecrawl API的URL,对于firecrawl是必需的。
  • FIRECRAWL_API_KEY(可选):Firecrawl API的API密钥,如果使用云服务,则对于firecrawl是必需的。

在Cursor上运行

你的mcp.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文件中添加以下内容:

{
  "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未定义:这是因为Puppeteer与tsx存在问题,esbuild#1031

许可证

MIT许可证 - 详情请参阅LICENSE文件。