返回市场
麦普获取器

麦普获取器

作者:kazuph35 星标更新:2025-10-10

项目介绍

MCP Fetch

用于获取网页内容并处理图像的模型上下文协议服务器。这使得Claude Desktop(或任何MCP客户端)能够获取网页内容并适当地处理图像。

<a href="https://glama.ai/mcp/servers/5mknfdhyrg"><img width="380" height="200" src="https://gips0.baidu.com/it/u=2996085405,2481420877&fm=3081&app=3081&f=PNG?w=760&h=400" alt="@kazuph/mcp-fetch MCP server" /></a>

快速开始(用户)

要在Claude Desktop中使用此工具,请在您的Claude Desktop配置文件(~/Library/Application Support/Claude/claude_desktop_config.json)中添加以下内容:

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

这将在需要时自动下载并运行最新版本的工具。

必要设置

  1. 启用Claude的辅助功能:
    • 打开系统设置
    • 前往隐私与安全 > 辅助功能
    • 点击“+”按钮
    • 从应用程序文件夹中添加Claude
    • 打开Claude的开关

此辅助功能设置对于自动化剪贴板操作(Cmd+V)正常工作是必需的。

功能

  • 网页内容提取:自动提取并格式化网页内容为Markdown
  • 文章标题提取:提取并显示文章标题
  • 图像处理:可选处理网页中的图像以进行优化(默认禁用,启用需设置enableFetchImages: true
  • 文件保存:处理过的图像会自动保存到~/Downloads/mcp-fetch/YYYY-MM-DD/目录
  • 双输出:同时支持文件保存和可选的Base64编码供AI显示
  • 分页支持:支持文本和图像的分页
  • JPEG优化:自动优化图像为JPEG以提高性能
  • GIF支持:从动画GIF中提取第一帧

开发者指南

以下部分适用于希望开发或修改该工具的人。

预备条件

安装

git clone https://github.com/kazuph/mcp-fetch.git
cd mcp-fetch
npm install
npm run build

图像处理规范

当处理来自网页内容的图像时,会应用以下优化:

  • 图像转换为JPEG格式,并控制质量
  • 默认最大宽度限制为1200像素
  • 默认最大高度限制为1600像素
  • 使用色度子采样(4:2:0)以获得更好的压缩
  • 使用MozJPEG优化以减小文件大小

配置

  1. 确保已安装并运行Claude Desktop。

  2. 如果尚未安装,请全局安装tsx:

npm install -g tsx
# 或
pnpm add -g tsx
  1. 修改位于~/Library/Application Support/Claude/claude_desktop_config.json的Claude Desktop配置。

您可以通过Claude Desktop菜单轻松找到它:

  1. 打开Claude Desktop
  2. 单击Mac菜单栏中的Claude
  3. 单击“设置”
  4. 单击“开发者”

向您的MCP客户端配置中添加以下内容:

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

可用参数

  • url(必需):要抓取的URL
  • maxLength(默认值:20000):返回的内容的最大长度
  • startIndex(默认值:0):内容的起始位置
  • imageStartIndex(默认值:0):图像收集的起始位置
  • raw(默认值:false):返回原始内容而不是处理后的Markdown
  • imageMaxCount(默认值:3):每次请求处理的最大图像数量
  • imageMaxHeight(默认值:4000):合并图像的最大高度
  • imageMaxWidth(默认值:1000):合并图像的最大宽度
  • imageQuality(默认值:80):JPEG质量(1-100)
  • enableFetchImages(默认值:false):启用图像的抓取和处理。仅限CLAUD用户:您可以启用此功能!CLAUD可以抓取和处理图像!享受这一能力!!!
  • allowCrossOriginImages(默认值:true):当为真时,也抓取页面上不同来源托管的图像
  • saveImages(默认值:true):将处理过的图像保存到本地文件
  • returnBase64(默认值:false):返回Base64编码的图像供AI显示
  • ignoreRobotsTxt(默认值:false):忽略robots.txt限制

安全加固(v1.5.1)

  • 仅允许http://https://URL用于页面和图像抓取
  • 阻止私有/回环/链路本地IP地址和本地主机名(例如,localhost.local
  • 手动重定向处理并验证(最多3跳)
  • 请求超时(默认12秒,可通过MCP_FETCH_TIMEOUT_MS配置)
  • 响应大小限制:HTML最多2MB,图像最多10MB(可通过环境变量调整)

环境变量:

  • MCP_FETCH_TIMEOUT_MS(默认值:12000)
  • MCP_FETCH_MAX_REDIRECTS(默认值:3)
  • MCP_FETCH_MAX_HTML_BYTES(默认值:2000000)
  • MCP_FETCH_MAX_IMAGE_BYTES(默认值:10000000)

示例

基本内容抓取(无图像)

{
  "url": "https://example.com"
}

抓取图像(仅文件保存)

{
  "url": "https://example.com",
  "enableFetchImages": true,
  "imageMaxCount": 3
}

抓取图像供AI显示

{
  "url": "https://example.com",
  "enableFetchImages": true,
  "returnBase64": true,
  "imageMaxCount": 3
}

分页浏览图像

{
  "url": "https://example.com",
  "enableFetchImages": true,
  "imageStartIndex": 3,
  "imageMaxCount": 3
}

注意事项

  • 由于依赖于macOS特定的剪贴板操作,此工具仅设计用于macOS。
  • 使用Sharp处理图像以实现最佳性能和质量。
  • 当发现多张图像时,它们会被垂直合并,考虑尺寸限制。
  • 动画GIF会自动处理,提取其第一帧。
  • 文件保存:图像会自动保存到~/Downloads/mcp-fetch/YYYY-MM-DD/,文件名格式为hostname_HHMMSS_index.jpg
  • 工具名称:工具名称已从fetch更改为imageFetch,以避免冲突。

更新日志

v1.2.0

  • 重大变更:工具名称从fetch更改为imageFetch,以避免冲突
  • 新增:自动文件保存 - 图像现在默认保存到~/Downloads/mcp-fetch/YYYY-MM-DD/
  • 新增:增加saveImages参数(默认值:true),以控制文件保存
  • 新增:增加returnBase64参数(默认值:false),供AI图像显示
  • 行为变更:默认行为现在保存文件,而不仅仅是返回Base64
  • 改进AI助手集成,提供清晰的Base64选项说明
  • 增强文件组织,基于日期的目录和结构化的命名

v1.1.3

  • 更改默认行为:默认不抓取图像(enableFetchImages: false
  • 移除disableImages,转而使用enableFetchImages参数

v1.1.0

  • 增加文章标题提取功能
  • 改进响应格式,包括文章标题
  • 修复MCP响应内容的类型问题

v1.0.0

  • 初始发布
  • 网页内容提取
  • 图像处理和优化
  • 分页支持