项目简介
MCP Fetch 是一个基于 Model Context Protocol 的服务器,旨在为 Claude Desktop 等 LLM 客户端提供网页内容抓取和图片处理功能。通过该服务器,LLM 可以获取网页文本内容(转换为 Markdown 格式)和图片,从而扩展 LLM 的知识来源和多模态处理能力。
主要功能点
- 网页内容提取: 自动从网页中提取主要内容,并转换为 Markdown 格式,方便 LLM 理解和处理。
- 文章标题提取: 提取网页文章的标题。
- 图片处理: 可选处理网页中的图片,进行优化和格式转换 (默认关闭,可配置开启)。
- 分页支持: 支持处理分页的网页内容和图片。
- 图片优化: 自动将图片优化为 JPEG 格式,并进行压缩。
- GIF 支持: 提取 GIF 动画的第一帧。
- robots.txt 尊重: 默认遵守网站的 robots.txt 协议,可配置忽略。
安装步骤
- 确保已安装 Node.js 18 或更高版本。
- 克隆仓库到本地:
git clone https://github.com/kazuph/mcp-fetch.git - 进入仓库目录:
cd mcp-fetch - 安装依赖:
npm install - 构建项目:
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