使用说明
项目简介
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,可能不稳定)
安装步骤
-
克隆仓库
git clone https://github.com/TheNhatAT/article-analyzer.git cd article-analyzer -
创建并激活虚拟环境 (可选但推荐)
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 -
安装依赖
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 的功能:
-
使用 '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 操作,例如文章总结、分析等。
-
使用 '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