WebSearch - Advanced Web Search and Content Extraction Tool

WebSearch - Advanced Web Search and Content Extraction Tool

Web Search tools 是一系列工具,允许 Claude 通过 MCP 服务器访问互联网。

m4s1t4

研究与数据
访问服务器

README

WebSearch - 高级网页搜索和内容提取工具

License Python Version Firecrawl uv

一个强大的网页搜索和内容提取工具,使用 Python 构建,利用 Firecrawl API 实现高级网页抓取、搜索和内容分析功能。

🚀 功能

  • 高级网页搜索: 执行具有可自定义参数的智能网页搜索
  • 内容提取: 使用自然语言提示从网页中提取特定信息
  • 网页爬取: 使用可配置的深度和限制爬取网站
  • 网页抓取: 抓取网页,支持各种输出格式
  • MCP 集成: 构建为模型上下文协议 (MCP) 服务器,实现无缝集成

📋 前提条件

  • Python 3.8 或更高版本
  • uv 包管理器
  • Firecrawl API 密钥
  • OpenAI API 密钥(可选,用于增强功能)
  • Tavily API 密钥(可选,用于额外的搜索功能)

🛠️ 安装

  1. 安装 uv:
# 在 Windows 上 (使用 pip)
pip install uv

# 在 Unix/MacOS 上
curl -LsSf https://astral.sh/uv/install.sh | sh

# 将 uv 添加到 PATH (Unix/MacOS)
export PATH="$HOME/.local/bin:$PATH"

# 将 uv 添加到 PATH (Windows - 添加到环境变量)
# 添加: %USERPROFILE%\.local\bin
  1. 克隆存储库:
git clone https://github.com/yourusername/websearch.git
cd websearch
  1. 使用 uv 创建并激活虚拟环境:
# 创建虚拟环境
uv venv

# 在 Windows 上激活
.\.venv\Scripts\activate.ps1

# 在 Unix/MacOS 上激活
source .venv/bin/activate
  1. 使用 uv 安装依赖项:
# 从 requirements.txt 安装
uv sync
  1. 设置环境变量:
# 创建 .env 文件
touch .env

# 添加您的 API 密钥
FIRECRAWL_API_KEY=your_firecrawl_api_key
OPENAI_API_KEY=your_openai_api_key

🎯 使用

使用 Claude for Desktop 进行设置

您可以配置 Claude for Desktop 来访问 WebSearch 工具,而不是直接运行服务器:

  1. 找到或创建您的 Claude for Desktop 配置文件:

    • Windows: %env:AppData%\Claude\claude_desktop_config.json
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  2. 将 WebSearch 服务器配置添加到 mcpServers 部分:

{
  "mcpServers": {
    "websearch": {
      "command": "uv",
      "args": [
        "--directory",
        "D:\\ABSOLUTE\\PATH\\TO\\WebSearch",
        "run",
        "main.py"
      ]
    }
  }
}
  1. 确保将目录路径替换为 WebSearch 项目文件夹的绝对路径。

  2. 保存配置文件并重新启动 Claude for Desktop。

  3. 配置完成后,WebSearch 工具将出现在 Claude for Desktop 的工具菜单(锤子图标)中。

可用工具

  1. 搜索

  2. 提取信息

  3. 爬取网站

  4. 抓取内容

📚 API 参考

搜索

  • query (str): 搜索查询
  • 返回: JSON 格式的搜索结果

提取

  • urls (List[str]): 要从中提取信息的 URL 列表
  • prompt (str): 提取说明
  • enableWebSearch (bool): 启用补充网页搜索
  • showSources (bool): 包括来源参考
  • 返回: 指定格式的提取信息

爬取

  • url (str): 起始 URL
  • maxDepth (int): 最大爬取深度
  • limit (int): 要爬取的最大页面数
  • 返回: markdown/HTML 格式的爬取内容

抓取

  • url (str): 目标 URL
  • 返回: 抓取的内容,带有可选的屏幕截图

🔧 配置

环境变量

该工具需要某些 API 密钥才能运行。 我们提供了一个 .env.example 文件,您可以将其用作模板:

  1. 复制示例文件:
# 在 Unix/MacOS 上
cp .env.example .env

# 在 Windows 上
copy .env.example .env
  1. 使用您的 API 密钥编辑 .env 文件:
# OpenAI API 密钥 - AI 驱动功能所必需
OPENAI_API_KEY=your_openai_api_key_here

# Firecrawl API 密钥 - 网页抓取和搜索所必需
FIRECRAWL_API_KEY=your_firecrawl_api_key_here

获取 API 密钥

  1. OpenAI API 密钥:

    • 访问 OpenAI 的平台
    • 注册或登录
    • 导航到 API 密钥部分
    • 创建一个新的密钥
  2. Firecrawl API 密钥:

    • 访问 Firecrawl 的网站
    • 创建一个帐户
    • 导航到您的仪表板
    • 生成一个新的 API 密钥

如果一切配置正确,您应该收到一个包含搜索结果的 JSON 响应。

故障排除

如果遇到错误:

  1. 确保所有必需的 API 密钥都已在您的 .env 文件中设置
  2. 验证 API 密钥是否有效且未过期
  3. 检查 .env 文件是否位于项目的根目录中
  4. 确保环境变量已正确加载

🤝 贡献

  1. Fork 存储库
  2. 创建您的功能分支 (git checkout -b feature/AmazingFeature)
  3. 提交您的更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 打开一个 Pull Request

📝 许可证

该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。

🙏 鸣谢

  • Firecrawl 感谢他们强大的网页抓取 API
  • OpenAI 感谢 AI 功能
  • MCP MCP 社区感谢协议规范

📬 联系方式

José Martín Rodriguez Mortaloni - @m4s1t425 - jmrodriguezm13@gmail.com


用 ❤️ 使用 Python 和 Firecrawl 制作

推荐服务器

Crypto Price & Market Analysis MCP Server

Crypto Price & Market Analysis MCP Server

一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。

精选
TypeScript
MCP PubMed Search

MCP PubMed Search

用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。

精选
Python
mixpanel

mixpanel

连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

精选
TypeScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Nefino MCP Server

Nefino MCP Server

为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。

官方
Python
Vectorize

Vectorize

将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。

官方
JavaScript
Mathematica Documentation MCP server

Mathematica Documentation MCP server

一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。

本地
Python
kb-mcp-server

kb-mcp-server

一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。

本地
Python
Research MCP Server

Research MCP Server

这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

本地
Python
Cryo MCP Server

Cryo MCP Server

一个API服务器,实现了模型补全协议(MCP),用于Cryo区块链数据提取,允许用户通过任何兼容MCP的客户端查询以太坊区块链数据。

本地
Python