用途
web-analyzer-mcp 是一个 MCP(Model Context Protocol)服务器,用于智能网页内容分析与摘要。它可作为供 AI 工具调用的后端服务,帮助从网页中提取干净、结构化的内容,并可针对网页内容进行问答。该服务器使用 FastMCP 框架构建,主要面向需要将网页内容用于分析、问答或检索增强生成(RAG)场景的开发者。
主要能力
- url_to_markdown:提取并总结网页关键内容。使用自定义算法分析内容重要性,移除广告、导航和无关内容,仅保留必要信息(表格、图片、关键文本),输出为便于分析的结构化 Markdown。
- web_content_qna:基于网页内容的 AI 问答。从网页中提取相关章节,通过智能分块和相关性匹配,使用 OpenAI GPT 模型回答问题。
- 智能内容排序:基于算法的内容重要性评分。
- 仅保留必要内容:去除杂乱信息,保留关键内容。
- 多 IDE 支持:可与 Claude Desktop、Cursor、VS Code、PyCharm 配合使用。
- 模型选择灵活:可在 GPT-3.5、GPT-4、GPT-4 Turbo 或 GPT-5 中选择。
使用方式
前置要求:
- uv(Python 包管理器)
- Chrome/Chromium 浏览器(用于 Selenium)
- OpenAI API 密钥(用于问答功能)
通过 Smithery 安装(针对 Claude Desktop):资料中提供了通过 Smithery 自动安装 web-analyzer-mcp 的说明。
IDE/编辑器集成:
- 添加到 Claude Desktop 的
_config.json文件,参见 Claude Desktop MCP 文档了解更多详情。 - 使用 Claude Code CLI 添加服务器。
- 添加到 Cursor 设置(
File > Preferences > Settings > Extensions > MCP)。 - 在 JetBrains IDE 中,前往
Settings → Tools → AI Assistant → Model Context Protocol (MCP),点击对话框左上角的 Command,从列表中选择 As JSON 选项,添加配置后点击 OK。参见 JetBrains AI Assistant 文档了解更多详情。
工具参数:
url_to_markdown:参数url(string),要分析的网页 URL;返回干净且保留结构化数据的 Markdown 内容。web_content_qna:参数question(string),关于页面内容的问题;返回基于页面内容的 AI 生成答案。
架构
内容提取流水线:
- URL 校验——确保 URL 格式正确
- HTML 获取——使用 Selenium 处理动态内容
- 内容解析——使用 BeautifulSoup 处理 HTML
- 元素评分——自定义算法对内容重要性排序
- 内容过滤——去除重复和低价值内容
- Markdown 转换——生成结构化输出
问答处理流水线:
- 内容分块——智能文本切分
- 相关性评分——将内容与问题匹配
- 上下文选择——挑选最相关的分块
- 答案生成——集成 OpenAI GPT
适用场景
- 需要将网页内容转为干净 Markdown 的分析任务。
- 需要针对网页内容进行 AI 问答的场景。
- 在 Claude Desktop、Cursor、VS Code、PyCharm 等 IDE 中集成网页内容分析能力。
限制
- 对于 JavaScript 较重的网站,需要 Chrome/Chromium 支持。
- 问答功能需要 OpenAI API 密钥。
- 存在速率限制以防止滥用。
- 部分网站可能会阻止自动访问。
其他信息
- 未来计划包括:支持更多内容类型(PDF、视频)、多语言内容提取、自定义提取规则、常用内容缓存、Webhook 实时更新支持。
- 本项目采用 MIT 许可证。
- 该项目基于 FastMCP 框架构建,受 HTMLRAG 技术启发。