使用说明
项目简介
Markdown Web Crawl MCP服务器是一个使用Python和FastMCP框架构建的工具,旨在自动化网页内容的抓取和保存。它遵循Model Context Protocol (MCP),能够以标准化的方式与LLM客户端交互,提供网页内容提取、网站链接映射和批量处理等功能。用户可以通过简单的命令调用工具,获取结构化的Markdown格式的网页内容。
主要功能点
- 网页内容提取: 从指定的URL抓取网页内容,并转换为Markdown格式。
- 网站链接映射: 扫描并映射网站内的所有链接,帮助用户理解网站结构。
- 批量处理: 支持批量处理多个URL,高效地抓取多个网页内容。
- 可配置输出: 允许用户自定义内容保存的输出目录,方便管理抓取结果。
- 灵活配置: 通过环境变量配置服务器行为,例如输出路径和并发请求数。
安装步骤
-
克隆仓库:
git clone https://github.com/jmh108/md-webcrawl-mcp.git cd md-webcrawl-mcp -
安装依赖: 确保已安装 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。以下是一些基本示例:
-
获取帮助信息:
mcp call help_crawl_website这个命令会调用 'help_crawl_website' 工具,返回关于服务器功能、工具和使用流程的详细信息。
-
请求抓取URL Prompt:
mcp prompt ask_crawl_url这个命令会调用 'ask_crawl_url' Prompt,服务器会返回一个问题,提示用户输入要抓取的URL。客户端会显示 "Please enter the URL you would like to crawl:" 并等待用户输入。
-
请求输出路径 Prompt:
mcp prompt ask_filepath这个命令会调用 'ask_filepath' Prompt,服务器会返回一个问题,提示用户输入输出目录路径。客户端会显示 "Please enter the output directory path (leave blank to use default: ./output):" 并等待用户输入。
-
映射网站链接:
mcp call map_links --url "https://example.com"这个命令会调用 'map_links' 工具,抓取 'https://example.com' 网站并返回网站的所有链接。
-
批量保存网页内容: 首先使用 '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列表中的网页内容抓取并保存到默认或指定的输出路径。
-
指定输出路径: 您可以使用 'get_filepath' 工具获取默认输出路径,或者在调用 'batch_save' 工具时通过 '--path' 参数指定输出路径。例如:
mcp call batch_save --urls '["https://example.com"]' --path "./my_output"
通过结合这些工具和Prompt,您可以构建复杂的网页抓取和内容管理流程。
信息
分类
网页与API