项目简介
这是一个基于 Model Context Protocol (MCP) 实现的服务器,旨在为大型语言模型 (LLM) 客户端(如 GitHub Copilot)提供网页内容的获取和处理能力。通过注册为MCP服务器,它允许LLM客户端调用特定的工具函数来执行网页抓取、提取信息或搜索特定网站(如 New Relic 文档)的内容。
主要功能点
- 获取网页标题: 根据提供的URL,抓取网页内容并提取页面 '<title>' 标签中的文本。
- 搜索特定文档: 针对 New Relic 文档网站执行搜索,返回最相关的结果列表,并包含每个结果页面的标题和部分内容摘要。
- 作为MCP工具暴露功能: 将上述功能作为标准的MCP工具暴露给兼容的LLM客户端调用。
- 依赖外部Fetch服务器: 项目内部调用另一个MCP服务器('mcp-server-fetch')来实际执行网页抓取操作。
安装步骤
- 安装 Python 3.8+: 确保您的系统已安装 Python 3.8 或更高版本,并已添加到 PATH。
- 安装 'uv' Python包管理器: 推荐使用 'uv' 进行依赖管理,因为它速度较快。
pip install uv - 安装 'mcp-server-fetch': 该项目依赖于另一个 MCP 服务器来执行底层的网页抓取。
uv pip install mcp-server-fetch - 克隆仓库: 将本项目的代码克隆到本地。
git clone <your-repo-url> # 替换 <your-repo-url> 为实际的项目URL cd mcp-web-scraper - 安装项目依赖: 安装项目运行所需的其他Python库。
pip install -r requirements.txt - 验证 'uvx' 命令: 确保 'uv' 安装成功后,'uvx' 命令可用。您可以在终端运行 'which uvx' 检查。如不可用,可能需要重新安装 'uv'。
服务器配置
本MCP服务器是为MCP客户端(如 VS Code 的 GitHub Copilot 扩展)提供服务的。客户端需要知道如何启动这个服务器。通常,您需要在客户端的配置文件中(例如 '.vscode/mcp.json')添加服务器信息。
以下是本服务器(命名为 'web-tools')及其依赖的 'fetch' 服务器在客户端配置中的示例结构(请根据您的客户端文档进行具体配置):
- 'fetch' 服务器配置: 配置一个名为 'fetch' 的服务器,类型为 'stdio',启动命令为 'uvx',启动参数为 'mcp-server-fetch'。这是为本项目提供底层网页抓取能力的必要配置。
- 'web-tools' 服务器配置: 配置一个名为 'web-tools' 的服务器,类型为 'stdio',启动命令为 'python',启动参数为 '${workspaceFolder}/mcp_server_web_scraper.py'('${workspaceFolder}' 是客户端配置中通常用来表示项目根目录的变量,确保路径正确)。这个配置告诉客户端如何启动运行本项目代码的MCP服务器。
配置完成后,您需要在客户端界面的相应设置中启用这些已配置的MCP服务器。
基本使用方法
配置并启用服务器后,您可以在兼容的LLM客户端聊天界面中通过指定服务器名称和工具名称来调用其功能。例如,在 GitHub Copilot Chat 中:
- 获取网页标题: 使用 '#web-tools get_page_title url=https://example.com'
- 搜索 New Relic 文档: 使用 '#web-tools search_new_relic_docs query="install java apm"'
LLM客户端会发送相应的请求给 'web-tools' MCP服务器,服务器执行对应的工具函数,并将结果返回给客户端。
信息
分类
网页与API