使用说明

项目简介

Markdown Web Crawl MCP服务器是一个使用Python和FastMCP框架构建的工具,旨在自动化网页内容的抓取和保存。它遵循Model Context Protocol (MCP),能够以标准化的方式与LLM客户端交互,提供网页内容提取、网站链接映射和批量处理等功能。用户可以通过简单的命令调用工具,获取结构化的Markdown格式的网页内容。

主要功能点

  • 网页内容提取: 从指定的URL抓取网页内容,并转换为Markdown格式。
  • 网站链接映射: 扫描并映射网站内的所有链接,帮助用户理解网站结构。
  • 批量处理: 支持批量处理多个URL,高效地抓取多个网页内容。
  • 可配置输出: 允许用户自定义内容保存的输出目录,方便管理抓取结果。
  • 灵活配置: 通过环境变量配置服务器行为,例如输出路径和并发请求数。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/jmh108/md-webcrawl-mcp.git
    cd md-webcrawl-mcp
  2. 安装依赖: 确保已安装 Python 3.7+ 和 'uv pip install fastmcp',然后安装项目依赖:

    pip install -r requirements.txt

服务器配置

要将此MCP服务器与MCP客户端(如Claude)连接,您需要配置客户端以启动并连接到此服务器。以下是一个示例JSON配置,您需要将其添加到MCP客户端的服务器配置中。

{
  "serverName": "CrawlServer",
  "command": "fastmcp",
  "args": [
    "run",
    "server.py"
  ],
  "env": {
    "OUTPUT_PATH": "./crawl_output"
  },
  "description": "Markdown Web Crawl Server for extracting website content"
}

配置参数说明:

  • '"serverName"': 服务器名称,这里设置为 '"CrawlServer"',应与'server.py'中 'FastMCP("CrawlServer", ...)' 定义的名称一致。
  • '"command"': 启动服务器的命令,这里使用 'fastmcp',前提是您已安装 'fastmcp'。
  • '"args"': 传递给 'fastmcp run' 命令的参数,指定要运行的服务器脚本为 '"server.py"'。
  • '"env"': 可选的环境变量配置。 'OUTPUT_PATH' 设置抓取内容的默认输出目录,您可以根据需要修改为其他路径。
  • '"description"': 服务器的简要描述,方便在MCP客户端中识别。

注意:

  • 确保您的MCP客户端能够执行 'fastmcp' 命令,这通常意味着 'fastmcp' 已经安装并在系统的PATH环境变量中。
  • '"args"' 中的 '"server.py"' 路径应相对于MCP客户端的当前工作目录或使用绝对路径。

基本使用方法

启动MCP服务器后,您可以使用MCP客户端调用服务器提供的工具和Prompt。以下是一些基本示例:

  1. 获取帮助信息:

    mcp call help_crawl_website

    这个命令会调用 'help_crawl_website' 工具,返回关于服务器功能、工具和使用流程的详细信息。

  2. 请求抓取URL Prompt:

    mcp prompt ask_crawl_url

    这个命令会调用 'ask_crawl_url' Prompt,服务器会返回一个问题,提示用户输入要抓取的URL。客户端会显示 "Please enter the URL you would like to crawl:" 并等待用户输入。

  3. 请求输出路径 Prompt:

    mcp prompt ask_filepath

    这个命令会调用 'ask_filepath' Prompt,服务器会返回一个问题,提示用户输入输出目录路径。客户端会显示 "Please enter the output directory path (leave blank to use default: ./output):" 并等待用户输入。

  4. 映射网站链接:

    mcp call map_links --url "https://example.com"

    这个命令会调用 'map_links' 工具,抓取 'https://example.com' 网站并返回网站的所有链接。

  5. 批量保存网页内容: 首先使用 'map_links' 获取链接,然后将链接列表传递给 'batch_save' 工具:

    mcp call map_links --url "https://example.com" | mcp call batch_save

    或者,您也可以直接指定URL列表给 'batch_save' 工具:

    mcp call batch_save --urls '["https://example.com", "https://example.org"]'

    'batch_save' 工具会将指定URL列表中的网页内容抓取并保存到默认或指定的输出路径。

  6. 指定输出路径: 您可以使用 'get_filepath' 工具获取默认输出路径,或者在调用 'batch_save' 工具时通过 '--path' 参数指定输出路径。例如:

    mcp call batch_save --urls '["https://example.com"]' --path "./my_output"

通过结合这些工具和Prompt,您可以构建复杂的网页抓取和内容管理流程。

信息

分类

网页与API