AI文档抓取工具

一个基于AI的网页文档抓取和摘要工具,能够智能搜索、清理和总结文档内容,并通过MCP服务器提供响应。

  • by shr7q
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 shr7q/mcp-web-scraper

使用说明

基于人工智能的Web文档抓取器(MCP服务器)

该项目实现了 人工智能网络抓取和文档助理,作为一个 MCP(模型上下文协议) 工具。
它可以 在网上搜索相关文档, 使用LLM获取和清理内容,以及 通过FastMCP服务器提供响应,使其可通过任何兼容的MCP客户端访问。

概述

这 MCP网页抓取器 作为实时网络文档和基于LLM的理解之间的桥梁。
它使用:

  • Serper.dev API公司 用于智能谷歌搜索查询
  • 异步网页抓取 通过 httpx
  • Groq法学硕士 用于内容提取和摘要
  • FastMCP 用于标准MCP服务器客户端通信
  • 克劳德桌面 用于在本地部署MCP服务器
  • 调试 通过 npx @modelcontextprotocol/inspector

特征:

  • 智能网络搜索 使用 Serper.dev API
  • 自动内容清理 通过LLM(Groq API)。
  • 动态文档查询 用于:
    • LangChain
    • Llama索引
    • OpenAI API
    • UV包装管理器
  • FastMCP服务器集成 便于连接 stdio.
  • 基于LLM的摘要 取回的文件。

安装和设置

1.安装依赖项:

  uv pip install -r requirements.txt

2.添加环境变量

在项目根目录中创建.env文件:

  SERPER_API_KEY=your_serper_api_key
  GROQ_API_KEY=your_groq_api_key

您可以获得:

  • Serper API密钥→ https://serper.dev
  • Groq API密钥→ https://console.groq.com

项目结构:

MCP WebScraper:

|
├── mcp_server.py # Runs the MCP server (FastMCP tool)
├── client.py # Connects to the MCP server, queries docs, and summarizes results
├── utils.py # Utility functions (HTML cleaning and LLM API wrapper)
├── .env # Environment variables (API keys)
└── README.md # Project documentation

它是如何工作的:

步骤1:MCP服务器(MCP_Server.py)

  • 初始化名为“docs”的FastMCP服务器。
  • 实现get_docs(查询、库)MCP工具:
    • 使用Serper.dev搜索文档页面。
    • 使用httpx异步获取URL。
    • 将HTML内容传递给Groq LLM进行清理和总结。
    • 返回带有源链接的已清理文档文本。

步骤2:客户端(Client.py)

  • 通过stdio连接到MCP服务器。

  • 列出可用工具并调用get_docs。

  • 使用Groq LLM总结提取的文档,以获得用户友好的答案。

    Example query (default in client.py):
    query = "How to install and use uv library in Python?"
    library = "uv"
    

步骤3:实用程序(Utils.py)

  • 包含辅助函数:
    • clean_html_to_text()→使用trafilatura清理原始html
    • get_response_from_llm()→向Groq API发送摘要提示

运行项目**

步骤1:启动MCP服务器 您可以使用以下任一命令启动服务器:

  uv run mcp_server.py

步骤2:运行客户端 在另一个终端窗口中:

  uv run client.py

支持的库:

要添加更多文档源,请更新mcp_server.py中的docs_urls:

docs_urls = {
    "langchain": "python.langchain.com/docs",
    "llama-index": "docs.llamaindex.ai/en/stable",
    "openai": "platform.openai.com/docs",
    "uv": "docs.astral.sh/uv"
}

在云桌面上运行MCP服务器

在成功完成本地测试后,MCP服务器被部署在云桌面环境上,以实现持续可用性和集成。 创建了一个名为claude_desktop_config.JSON的JSON配置文件,用于定义MCP服务器的启动命令、工作目录和环境变量。

创建配置文件

创建一个名为的文件 mcp_config.json (或类似)在您的项目目录中。
此JSON配置定义了Cloud Desktop环境应如何启动MCP服务器,包括路径、环境变量和依赖关系。

以下是一个示例配置:

{
  "mcpServers": {
    "docs-mcp": {
      "command": "Path to your Python executable",
      "args": [
        "Path to your mcp_server.py file"
      ],
      "cwd": " Path to your working directory",
      "env": {
        "SERPER_API_KEY": "your serper api",
        "GROQ_API_KEY": "your groq api"
      }
    }
  }
}