Readability (Fetch & Parse)

Readability (Fetch & Parse)

🚀 Mozilla Readability 解析器 MCP 服务器(Python / FastMCP)

本项目是一个遵循 Model Context Protocol (MCP) 协议的 Python 实现,专注于提取网页内容,并将其转换为优化的 Markdown 格式,十分适合大型语言模型(LLM)进行处理。

🚀 快速开始

启动服务器

fastmcp run server.py

示例请求

curl -X POST http://localhost:8000/tools/extract_content \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com/article"}'

✨ 主要特性

  • 删除广告、导航栏、页脚和其他非必要内容。
  • 将干净的 HTML 转换为格式良好的 Markdown。
  • 灵巧处理错误。
  • 优化 LLM 处理流程。
  • 轻量级且快速。

📦 安装指南

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

💻 使用示例

extract_content

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

参数:

{
"url": {
"type": "string",
"description": "要解析的网站 URL",
"required": true
}
}

返回值:

{
"content": "Markdown 内容..."
}

📚 详细文档

为何不直接抓取?

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

  • 使用 Readability 算法提取相关内容。
  • 消除噪音如广告、弹出窗口和导航菜单。
  • 通过去除不必要的 HTML/CSS 减少令牌使用。
  • 提供一致的 Markdown 格式以提高 LLM 处理效果。
  • 处理包含动态内容的复杂网页。

MCP 服务器配置

要在 MCP 设置文件中配置服务器,请添加以下内容:

{
"mcpServers": {
"readability": {
"command": "fastmcp",
"args": ["run", "server.py"],
"env": {}
}
}
}

然后使用 MCP 协议启动服务器,并通过 parse 工具访问。

依赖项

贡献与参考

此项目基于原始 server-moz-readability 实现改编,由 emzimmer 开发。(有关原始 README 文档,请参见 原始 README.md。)

此 Python 实现有条理地将原始概念转换为基于 FastMCP 的 MCP 运行的 FastMCP

📄 许可证

此项目遵循 MIT 许可证。有关详细信息,请参见 LICENSE 文件。

  • 0 关注
  • 0 收藏,18 浏览
  • system 提出于 2025-09-21 05:24

相似服务问题

相关AI产品