使用说明
MCP Fetch 翻译为中文是“MCP 获取”或“MCP 抓取”,具体取决于上下文中的使用场景。如果是指从某个地方获取数据或信息的过程,可以翻译为“MCP 获取”;如果是指自动抓取或收集数据,可以翻译为“MCP 抓取”
模型上下文协议服务器,用于获取网页内容和处理图像。这使得Claude桌面版(或任何MCP客户端)能够获取网页内容并妥善处理图像。
快速入门(用户指南)
要在Claude Desktop中使用此工具,只需将以下内容添加到您的Claude Desktop配置中:~/Library/Application Support/Claude/claude_desktop_config.json):
{
"tools": {
"imageFetch": {
"command": "npx",
"args": ["-y", "@kazuph/mcp-fetch"]
}
}
}
这将在需要时自动下载并运行该工具的最新版本。
所需设置
- 为Claude启用辅助功能:
- 打开系统设置
- 前往“隐私与安全”>“辅助功能”
- 点击“+”按钮
- 从你的应用程序文件夹中添加Claude
- 打开Claude的切换开关
此无障碍设置对于确保自动化剪贴板操作(Cmd+V)正常工作是必需的。
特点/功能
- 网页内容提取自动提取并格式化网页内容为Markdown格式
- 文章标题提取提取并显示文章标题
- 图像处理可选地处理网页中的图像并进行优化(默认禁用,可通过
enableFetchImages: true) - 文件保存图片会自动保存到
~/Downloads/mcp-fetch/YYYY-MM-DD/处理时的目录 - 双输出文件保存和可选的Base64编码以供AI显示
- 分页支持支持文本和图像的分页功能
- JPEG优化自动将图像优化为JPEG格式以提高性能
- GIF 支持从动画GIF中提取第一帧
对于开发者
以下部分是为那些想要开发或修改该工具的人准备的。
先决条件
- Node.js 18及以上版本
- macOS(用于剪贴板操作)
- Claude 桌面版(从 https://claude.ai/desktop 安装)
- tsx(通过以下方式安装:
npm install -g tsx)
安装
git clone https://github.com/kazuph/mcp-fetch.git
cd mcp-fetch
npm install
npm run build
图像处理规范
在处理来自网页内容的图像时,会应用以下优化措施:
- 图像被转换为JPEG格式,并进行质量控制
- 默认最大宽度限制为1200像素
- 默认情况下,最大高度限制为1600像素
- 采用色度子采样(4:2:0)以实现更好的压缩
- MozJPEG优化以减小文件大小
配置
-
确保已安装并运行了Claude Desktop。
-
如果你还没有全局安装 tsx,请进行安装:
npm install -g tsx
# or
pnpm add -g tsx
- 修改位于以下位置的Claude桌面配置:
~/Library/Application Support/Claude/claude_desktop_config.json
你可以轻松地通过Claude桌面菜单找到它:
- 打开Claude桌面版
- 在Mac菜单栏上点击Claude
- 点击“设置”
- 点击“开发者”
在您的MCP客户端配置中添加以下内容:
{
"tools": {
"imageFetch": {
"args": ["tsx", "/path/to/mcp-fetch/index.ts"]
}
}
}
可用参数
url(必需):要获取的URLmaxLength(默认:20000):返回内容的最大长度startIndex(默认:0):内容中的起始位置imageStartIndex(默认:0):图像采集的起始位置raw(默认:false):返回原始内容,而非处理后的MarkdownimageMaxCount(默认值:3):每次请求处理的最大图像数量imageMaxHeight(默认:4000):合并图像的最大高度imageMaxWidth(默认:1000):合并图像的最大宽度imageQuality(默认:80):JPEG 压缩质量(1-100)enableFetchImages(默认:false):启用图像的获取和处理功能。仅限CLAUDE用户:您被允许启用此功能!!!CLAUDE可以获取和处理图像!!!享受这项功能吧!!!!!allowCrossOriginImages(默认:true):当值为真时,也会从页面中获取托管在不同源上的图像saveImages(默认:true):将处理后的图像保存到本地文件returnBase64(默认:false):返回用于AI显示的base64编码图像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以避免与本地的fetch函数发生冲突。
更新日志
版本1.2.0
- 重大变更工具名称已从
fetch到imageFetch以避免冲突 - 新自动保存文件 - 图像现在已保存至
~/Downloads/mcp-fetch/YYYY-MM-DD/默认地 - 新已添加
saveImages参数(默认:true)用于控制文件保存 - 新已添加
returnBase64用于AI图像显示的参数(默认:false) - 行为改变现在的默认行为是保存文件,而不是仅返回base64编码
- 改进了AI助手的集成,提供了关于base64选项的明确说明
- 通过基于日期的目录和结构化命名增强文件组织
版本1.1.3
- 更改了默认行为:默认情况下不再获取图片(
enableFetchImages: false) - 已移除
disableImages支持;赞成enableFetchImages参数
v1.1.0
- 增加了文章标题提取功能
- 改进了响应格式,以包含文章标题
- 修复了MCP响应内容中的类型问题
v1.0.0(版本1.0.0)
- 首次发布
- 网页内容提取
- 图像处理与优化
- 分页支持