项目简介

Web Crawler MCP Server 是一个实现了 Model Context Protocol (MCP) 的后端服务,它提供了一个 'crawl' 工具,允许大型语言模型(LLM)客户端通过调用该工具来抓取指定URL的网页内容。此服务器可以作为 LLM 应用的上下文信息提供者,帮助 LLM 获取互联网上的信息。

主要功能点

  • 网页内容抓取: 提供 'crawl' 工具,根据指定的 URL 抓取网页的文本内容。
  • 可配置的抓取深度: 可以设置抓取的深度,控制是否抓取链接页面。
  • 并发控制: 限制最大并发请求数,避免对目标网站造成过大压力。
  • 请求配置: 可以设置请求延迟和超时时间,优化抓取行为。
  • robots.txt 支持: 抓取前会检查目标网站的 'robots.txt' 文件,遵守网站的爬虫协议。

安装步骤

  1. 克隆仓库

    git clone https://github.com/jitsmaster/WebScrapeMCPServer.git
    cd WebScrapeMCPServer
  2. 安装依赖

    npm install
  3. 构建项目

    npm run build

服务器配置

要将 Web Crawler MCP Server 集成到 MCP 客户端,您需要在客户端的 MCP 配置文件中添加以下服务器配置信息。请根据您的实际环境修改配置。

{
  "mcpServers": {
    "web-crawler": {
      "command": "node",
      "args": ["/path/to/web-crawler/build/index.js"],
      "env": {
        "CRAWL_LINKS": "false",      // 是否抓取页面上的链接 (false: 否, true: 是)
        "MAX_DEPTH": "3",           // 最大抓取深度 (数字,例如 3 表示最多抓取三层链接)
        "REQUEST_DELAY": "1000",      // 请求之间的延迟时间 (毫秒,例如 1000 表示 1 秒)
        "TIMEOUT": "5000",          // 请求超时时间 (毫秒,例如 5000 表示 5 秒)
        "MAX_CONCURRENT": "5"     // 最大并发请求数量 (数字,例如 5 表示最多同时发送 5 个请求)
      }
    }
  }
}

请将 '/path/to/web-crawler' 替换为 Web Crawler MCP Server 仓库在您本地文件系统中的绝对路径。

基本使用方法

配置完成后,MCP 客户端可以通过调用 'crawl' 工具来使用 Web Crawler MCP Server。以下是一个调用示例,指示服务器抓取 'https://example.com' 网站的内容,抓取深度为 1。

{
  "tool_call": {
    "name": "crawl",
    "arguments": {
      "url": "https://example.com",
      "depth": 1
    }
  }
}

服务器会返回抓取结果,包含目标网页的 URL、提取的文本内容以及抓取到的链接 (如果配置 'CRAWL_LINKS' 为 'true')。

信息

分类

网页与API