使用说明

项目简介

Article Analyzer MCP Server 是一个实现了 Model Context Protocol (MCP) 的服务器,专注于从互联网URL中抓取文章内容,并将其结构化地提供给大型语言模型 (LLM) 作为上下文信息。该服务器旨在简化 LLM 应用与外部信息源的集成,使 LLM 能够理解和分析网络文章。

主要功能点

  • 文章抓取: 能够从指定的URL地址抓取网页的HTML内容。
  • 内容解析: 自动解析抓取的HTML,提取文章的主要内容,去除HTML标签和广告等无关信息。
  • 结构化输出: 将文章内容结构化为JSON格式输出,包括标题、正文内容等,方便LLM客户端使用。
  • MCP工具: 通过MCP协议的Tool功能,将文章抓取和解析能力暴露给LLM客户端,客户端可以通过标准化的方式调用这些功能。
  • 批量处理: 支持批量抓取多个URL的文章,提高处理效率。
  • 递归抓取(实验性): 支持从一个URL开始,递归抓取一定深度内的文章链接。(该功能标记为TODO,可能不稳定)

安装步骤

  1. 克隆仓库

    git clone https://github.com/TheNhatAT/article-analyzer.git
    cd article-analyzer
  2. 创建并激活虚拟环境 (可选但推荐)

    python3 -m venv venv  # 或者使用你喜欢的虚拟环境工具
    source venv/bin/activate  # Linux/macOS
    venv\Scripts\activate  # Windows

    或者使用 'uv venv' (如果已安装 'uv')

    uv venv
    source venv/bin/activate # Linux/macOS
    venv\Scripts\activate # Windows
  3. 安装依赖

    pip install -r requirements.txt

    或者使用 'uv pip install -r requirements.txt' (如果已安装 'uv')

    uv pip install -r requirements.txt

服务器配置

要将 Article Analyzer MCP Server 集成到 MCP 客户端(例如 Cline),您需要配置客户端以连接到此服务器。以下是 Cline 客户端的 MCP 服务器配置示例:

{
  "mcpServers": {
    "article": {  //  服务器名称,客户端用此名称引用
      "command": "/path/to/your/uv" , //  uv 可执行文件的绝对路径 (如果使用 uv 运行), 或者 python 解释器路径 (如果直接用 python 运行)
      "args": [
        "--directory",
        "/path/to/article-analyzer/parent/folder", //  article-analyzer 仓库父目录的绝对路径
        "run",
        "main.py" //  运行服务器的命令
      ]
    }
  }
}

配置参数说明:

  • '"article"': 服务器的名称,您可以自定义,客户端在调用该服务器的功能时会使用这个名称。
  • '"command"': 重要: 指向 'uv' 可执行文件的绝对路径,或者您的 Python 解释器路径。如果您使用 'uv venv' 创建虚拟环境并使用 'uv' 运行,则需要指定 'uv' 的路径。您需要将其替换为您系统上 'uv' 的实际安装路径。 如果您不使用 'uv',而是直接使用 'python main.py' 运行,则需要将 'command' 替换为 Python 解释器的路径,并将 'args' 修改为 '["main.py"]'。
  • '"args"': 重要: 一个字符串数组,包含了启动服务器 'main.py' 脚本所需的参数。
    • '"--directory"': 指定工作目录为 'article-analyzer' 仓库的父目录。您需要将 '/path/to/article-analyzer/parent/folder' 替换为 Article Analyzer 仓库所在父文件夹的绝对路径。 例如,如果你的 'article-analyzer' 仓库在 '/home/user/projects/article-analyzer',那么父目录就是 '/home/user/projects'。
    • '"run"': 'uv run' 命令指示 'uv' 运行后面的 Python 脚本。 如果您不使用 'uv',则不需要此参数。
    • '"main.py"': 指定要运行的服务器脚本为 'main.py'。

请务必根据你的实际环境修改 'command' 和 'args' 中的路径。 错误的路径会导致客户端无法连接到服务器。

基本使用方法

配置完成后,在 MCP 客户端(如 Cline)中,你可以通过以下方式调用 Article Analyzer MCP Server 的功能:

  1. 使用 'fetch_article' 工具抓取单篇文章:

    客户端发送请求调用 'article/fetch_article' 工具,并提供文章的 URL 作为参数。例如,在 Cline 中,你可以在 Prompt 中使用类似以下的结构:

    {
        "tool_code": "article/fetch_article",
        "tool_input": {
            "url": "https://www.example.com/your-article-url"  //  替换为你要分析的文章URL
        }
    }

    服务器会抓取并解析该 URL 的文章内容,然后将结构化的文章信息返回给客户端。客户端可以将返回的文章内容作为上下文用于后续的 LLM 操作,例如文章总结、分析等。

  2. 使用 'fetch_articles' 工具批量抓取文章:

    客户端可以调用 'article/fetch_articles' 工具,并提供一个包含多个文章 URL 的列表。

    {
        "tool_code": "article/fetch_articles",
        "tool_input": {
            "urls": [
                "https://www.example.com/article1",
                "https://www.example.com/article2",
                "https://www.example.com/article3"
            ] //  替换为你要批量分析的文章URL列表
        }
    }

    服务器会并行抓取并解析这些 URL 的文章,并将结果列表返回给客户端。

注意: 'fetch_recursive' 工具目前可能不稳定,请谨慎使用。

通过以上步骤,您就可以成功部署和使用 Article Analyzer MCP Server,为您的 LLM 应用提供强大的文章内容抓取和分析能力。

信息

分类

网页与API