项目简介

这是一个基于 Model Context Protocol (MCP) 实现的服务器,旨在为大型语言模型 (LLM) 客户端(如 GitHub Copilot)提供网页内容的获取和处理能力。通过注册为MCP服务器,它允许LLM客户端调用特定的工具函数来执行网页抓取、提取信息或搜索特定网站(如 New Relic 文档)的内容。

主要功能点

  • 获取网页标题: 根据提供的URL,抓取网页内容并提取页面 '<title>' 标签中的文本。
  • 搜索特定文档: 针对 New Relic 文档网站执行搜索,返回最相关的结果列表,并包含每个结果页面的标题和部分内容摘要。
  • 作为MCP工具暴露功能: 将上述功能作为标准的MCP工具暴露给兼容的LLM客户端调用。
  • 依赖外部Fetch服务器: 项目内部调用另一个MCP服务器('mcp-server-fetch')来实际执行网页抓取操作。

安装步骤

  1. 安装 Python 3.8+: 确保您的系统已安装 Python 3.8 或更高版本,并已添加到 PATH。
  2. 安装 'uv' Python包管理器: 推荐使用 'uv' 进行依赖管理,因为它速度较快。
    pip install uv
  3. 安装 'mcp-server-fetch': 该项目依赖于另一个 MCP 服务器来执行底层的网页抓取。
    uv pip install mcp-server-fetch
  4. 克隆仓库: 将本项目的代码克隆到本地。
    git clone <your-repo-url> # 替换 <your-repo-url> 为实际的项目URL
    cd mcp-web-scraper
  5. 安装项目依赖: 安装项目运行所需的其他Python库。
    pip install -r requirements.txt
  6. 验证 '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