
Fetch MCP Server with CSS selectors function

2025.03.31
0
Python网页内容抓取HTML处理内容提取浏览器自动化开发效率
burnworks-mcp-server-fetch 是一个基于 Model Context Protocol 的服务,专门用于从网页中提取和处理内容。它能够将 HTML 转换为 markdown 格式,便于大语言模型(LLMs)更轻松地消费网页内容。该服务支持通过 CSS 选择器、ID 或元素名称来精确提取网页中的特定内容,适用于多种网页内容处理场景。
View on GitHub
Overview
基本能力
产品定位
burnworks-mcp-server-fetch 是一个专注于网页内容抓取和处理的 MCP 服务,旨在帮助用户和模型更高效地获取和处理网页信息。
核心功能
- 从网页中提取内容并将其转换为 markdown 格式
- 支持通过 URL 抓取网页内容
- 提供多种选择器(CSS 选择器、ID、元素名称)来精确提取特定内容
- 支持内容分块处理,可通过
start_index
参数指定起始位置 - 可配置的最大返回字符数(
max_length
) - 可选择获取原始内容(
raw
)或转换后的 markdown
适用场景
- 从新闻网站提取主要文章内容
- 从文档页面提取特定部分
- 从大型网页中精确获取所需内容
- 自动化网页内容处理和分析
工具列表
custom-fetch
: 从互联网抓取 URL 并将其内容提取为 markdown- 参数:
url
(string, 必需): 要抓取的 URLmax_length
(integer, 可选): 返回的最大字符数(默认: 5000)start_index
(integer, 可选): 从该字符索引开始内容(默认: 0)raw
(boolean, 可选): 获取原始内容而不进行 markdown 转换(默认: false)selector
(string, 可选): CSS 选择器、ID 或元素名称来提取特定内容selector_type
(string, 可选): 选择器类型: 'css', 'id', 或 'element'
常见问题解答
- 如何配置服务器以遵守 robots.txt?默认情况下,服务器会遵守 robots.txt,但可以通过
--ignore-robots-txt
参数禁用 - 如何自定义 User-Agent?可以通过
--user-agent=YourUserAgent
参数进行自定义 - 如何使用代理?可以通过
--proxy-url
参数配置代理
使用教程
使用依赖
- 可选安装 node.js,这将使 fetch 服务器使用更健壮的 HTML 简化器
安装教程
使用 uv (推荐)
无需特定安装,使用 uvx
直接运行 burnworks-mcp-server-fetch
使用 PIP
pip install burnworks-mcp-server-fetch
安装后,可以使用以下命令运行:
python -m burnworks_mcp_server_fetch
调试方式
可以使用 MCP inspector 调试服务器。对于 uvx 安装:
npx @modelcontextprotocol/inspector uvx burnworks-mcp-server-fetch
或者如果已安装特定目录或正在开发:
cd path/to/servers/src/fetch
npx @modelcontextprotocol/inspector uv run burnworks-mcp-server-fetch
示例选择器使用
提取主要内容区域
custom-fetch
url: https://example.com/article
selector: main
selector_type: element
通过 ID 提取内容
custom-fetch
url: https://example.com/blog
selector: article-body
selector_type: id
使用复杂 CSS 选择器提取
custom-fetch
url: https://example.com/documentation
selector: .content-wrapper article > section:first-child
selector_type: css