使用说明

项目简介

本项目是一个基于 Model Context Protocol (MCP) 的服务器,旨在为大型语言模型 (LLM) 应用提供清晰、结构化的网页内容。它使用 Readability 算法从网页中提取核心内容,去除广告、导航和其他干扰信息,并将其转换为 Markdown 格式,方便 LLM 理解和处理。

主要功能点

  • 网页内容提取: 使用 Readability 算法智能提取网页正文,过滤掉广告、侧边栏、页眉页脚等非必要内容。
  • HTML to Markdown 转换: 将提取的 HTML 内容转换为结构清晰的 Markdown 格式,降低 token 使用量,提升 LLM 处理效率。
  • 元数据提取: 提取网页标题、描述、作者和站点名称等元数据,提供更丰富的上下文信息。
  • 易于集成: 作为 MCP 服务器,可以方便地与支持 MCP 协议的 LLM 客户端集成。

安装步骤

  1. 克隆仓库 在本地克隆仓库代码:

    git clone https://github.com/jmh108/MCP-server-readability-python.git
    cd MCP-server-readability-python
  2. 创建并激活虚拟环境 为了隔离项目依赖,建议创建并激活虚拟环境:

    python -m venv venv
    source venv/bin/activate   # Linux/macOS
    venv\Scripts\activate  # Windows
  3. 安装依赖 安装项目所需的 Python 库:

    pip install -r requirements.txt

服务器配置

要将此 MCP 服务器配置到 MCP 客户端,您需要在客户端的 MCP 配置文件中添加以下服务器配置信息。这告诉 MCP 客户端如何启动和连接到 'readability' 服务器。

{
  "mcpServers": {
    "readability": {
      "command": "fastmcp",  // MCP 服务器启动命令
      "args": ["run", "server.py"], // MCP 服务器启动参数,指定运行 server.py 文件
      "env": {}
    }
  }
}

基本使用方法

  1. 启动服务器 在项目根目录下,运行以下命令启动 MCP 服务器:

    fastmcp run server.py

    或者使用开发模式启动,方便调试:

    fastmcp dev server.py
  2. 调用 'extract_content' 工具 使用 MCP 客户端向服务器发送请求,调用 'extract_content' 工具并提供目标网页 URL。以下是一个使用 'curl' 的示例:

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

    服务器将返回 JSON 格式的响应,包含提取的网页标题、Markdown 内容和元数据。

信息

分类

网页与API