Fetch MCP Server with CSS selectors function

Fetch MCP Server with CSS selectors function

site icon
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, 必需): 要抓取的 URL
    • max_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

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。