项目简介

MCP Fetch 是一个基于 Model Context Protocol 的服务器,旨在为 Claude Desktop 等 LLM 客户端提供网页内容抓取和图片处理功能。通过该服务器,LLM 可以获取网页文本内容(转换为 Markdown 格式)和图片,从而扩展 LLM 的知识来源和多模态处理能力。

主要功能点

  • 网页内容提取: 自动从网页中提取主要内容,并转换为 Markdown 格式,方便 LLM 理解和处理。
  • 文章标题提取: 提取网页文章的标题。
  • 图片处理: 可选处理网页中的图片,进行优化和格式转换 (默认关闭,可配置开启)。
  • 分页支持: 支持处理分页的网页内容和图片。
  • 图片优化: 自动将图片优化为 JPEG 格式,并进行压缩。
  • GIF 支持: 提取 GIF 动画的第一帧。
  • robots.txt 尊重: 默认遵守网站的 robots.txt 协议,可配置忽略。

安装步骤

  1. 确保已安装 Node.js 18 或更高版本。
  2. 克隆仓库到本地:
    git clone https://github.com/kazuph/mcp-fetch.git
  3. 进入仓库目录:
    cd mcp-fetch
  4. 安装依赖:
    npm install
  5. 构建项目:
    npm run build

服务器配置

对于 MCP 客户端(如 Claude Desktop),需要配置 MCP 服务器的启动命令。以下是两种配置方式,选择其一添加到客户端的配置文件中。

方式一:使用 'npx' 运行 (推荐用户使用)

这种方式会自动下载并运行最新版本的 MCP Fetch,无需手动构建。将以下 JSON 配置添加到 Claude Desktop 的配置文件 '~/Library/Application Support/Claude/claude_desktop_config.json' 的 'tools' 字段中:

{
  "tools": {
    "fetch": {
      "command": "npx",
      "args": ["-y", "@kazuph/mcp-fetch"]
    }
  }
}

方式二:从本地路径运行 (开发者使用)

这种方式允许开发者从本地构建的项目目录运行 MCP Fetch。需要将 '/path/to/mcp-fetch/index.ts' 替换为实际的项目路径。将以下 JSON 配置添加到 Claude Desktop 的配置文件 '~/Library/Application Support/Claude/claude_desktop_config.json' 的 'tools' 字段中:

{
  "tools": {
    "fetch": {
      "command": "tsx",
      "args": ["/path/to/mcp-fetch/index.ts"]
    }
  }
}

基本使用方法

配置完成后,在 MCP 客户端中,你可以通过工具调用 'fetch' 来抓取网页内容。例如,在 Claude Desktop 的 Prompt 中可以使用 JSON 格式调用:

{
  "tool_code": "fetch",
  "tool_input": {
    "url": "https://example.com"
  }
}

更多参数选项,请参考 'tools/list' 请求的描述信息或仓库的 README 文档。

信息

分类

网页与API