小贴士:按下Ctrl+D 或 ⌘+D,一键收藏本站,方便下次快速访问!
MIT License
1
最近更新:1个月前

提取网页内容并将其转换为简洁、适合LLM处理的Markdown格式,移除非必要元素同时保留关键元数据。

MCP 服务器可读性解析器(Python / FastMCP)

致谢/参考

本项目基于 emzimmer 原创的 server-moz-readability 实现。(原始 README 文档请参阅 original README.md

该 Python 实现将原始概念适配为基于 Python 的 MCP,使用 FastMCP 运行

Mozilla 可读性解析器 MCP 服务器

一个基于 模型上下文协议 (MCP) 服务器的 Python 实现,用于提取网页内容并转换为简洁、优化 LLM 处理的 Markdown 格式。

目录

功能特性

  • 移除广告、导航栏、页脚等非核心内容
  • 将纯净 HTML 转换为格式良好的 Markdown
  • 优雅的错误处理机制
  • 针对 LLM 处理优化
  • 轻量高效

为何不直接抓取?

与简单抓取请求不同,本服务器:

  • 使用 Readability 算法精准提取相关内容
  • 消除广告、弹窗和导航菜单等干扰元素
  • 通过移除冗余 HTML/CSS 降低 token 消耗
  • 提供标准化的 Markdown 格式以优化 LLM 处理
  • 能处理含动态内容的复杂网页

安装指南

  1. 克隆代码库:
bash 复制代码
git clone https://github.com/jmh108/MCP-server-readability-python.git
cd MCP-server-readability-python
  1. 创建并激活虚拟环境:
bash 复制代码
python -m venv venv
source venv/bin/activate  # Windows系统使用: venv\Scripts\activate
  1. 安装依赖项:
bash 复制代码
pip install -r requirements.txt

快速开始

  1. 启动服务器:
bash 复制代码
fastmcp run server.py
  1. 示例请求:
bash 复制代码
curl -X POST http://localhost:8000/tools/extract_content \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/article"}'

工具参考

extract_content

抓取网页内容并转换为纯净 Markdown。

参数:

json 复制代码
{
  "url": {
    "type": "string",
    "description": "待解析的网站URL",
    "required": true
  }
}

返回:

json 复制代码
{
  "content": "Markdown内容..."
}

MCP 服务器配置

在 MCP 配置文件中添加以下内容进行服务器配置:

json 复制代码
{
  "mcpServers": {
    "readability": {
      "command": "fastmcp",
      "args": ["run", "server.py"],
      "env": {}
    }
  }
}

随后可通过 MCP 协议启动服务器,并通过 parse 工具进行访问。

依赖项

许可协议

MIT 许可证 - 详见 LICENSE 文件。