使用说明
项目简介
mult-fetch-mcp-server 是一个实现了 Model Context Protocol (MCP) 协议的服务端应用,它作为 AI 助手(如 Claude)的后端,提供了一系列用于从互联网抓取网页内容的工具。该服务器使用标准化的 MCP 协议与客户端通信,使得 AI 助手能够通过调用预定义的工具来获取和处理网络数据,从而扩展其上下文理解和功能执行能力。
主要功能点
- 网页内容抓取: 提供 'fetch_html', 'fetch_json', 'fetch_txt', 'fetch_markdown' 等工具,支持抓取 HTML, JSON, 纯文本和 Markdown 格式的网页内容。
- 智能模式切换: 能够根据网站特性自动在标准请求模式和浏览器模式之间切换,应对反爬虫机制或需要 JavaScript 渲染的网页。
- 灵活的代理设置: 支持通过请求参数、环境变量和系统代理等多种方式配置代理,满足不同网络环境下的需求。
- 详细的调试日志: 提供详细的调试日志输出到标准错误流和日志文件,方便开发者追踪和解决问题。
- 双语国际化: 支持中文和英文双语界面,可通过环境变量 'MCP_LANG' 进行切换。
- 资源和 Prompt 模板: 初步支持 MCP 资源管理和 Prompt 模板功能,为未来功能扩展奠定基础。
安装步骤
- 安装 Node.js 和 npm: 确保你的系统已安装 Node.js 和 npm (Node 包管理器)。
- 克隆仓库: 使用 Git 克隆 'mult-fetch-mcp-server' 仓库到本地:
git clone https://github.com/lmcc-dev/mult-fetch-mcp-server.git cd mult-fetch-mcp-server - 安装依赖: 在仓库目录下运行 npm 命令安装项目依赖:
npm install - 构建项目: 运行构建命令编译 TypeScript 代码:
npm run build
服务器配置
要将 'mult-fetch-mcp-server' 集成到支持 MCP 协议的客户端(例如 Claude 桌面客户端),你需要配置客户端的 MCP 服务器设置。以下是针对 Claude 桌面客户端的配置示例,你需要编辑 Claude 的配置文件 'claude_desktop_config.json',该文件通常位于:
- MacOS: '~/Library/Application Support/Claude/claude_desktop_config.json'
- Windows: '%APPDATA%/Claude/claude_desktop_config.json'
在 'claude_desktop_config.json' 文件中,添加或修改 'mcpServers' 部分,配置 'mult-fetch-mcp-server' 服务器。以下是推荐的配置,直接复制粘贴到 'claude_desktop_config.json' 即可,无需修改代码路径。
{ "mcpServers": { "mult-fetch-mcp-server": { "command": "npx", "args": ["mult-fetch-mcp-server"], "env": { "MCP_LANG": "zh" // 可选,设置服务器语言,"zh" 为中文, "en" 为英文,默认为英文,建议设置为中文 "zh" } } } }
配置参数说明 (无需修改,直接复制粘贴即可):
- '"mult-fetch-mcp-server"': 服务器名称,在 Claude 客户端中用于标识和选择该服务器。
- '"command": "npx"': 指定启动服务器的命令为 'npx','npx' 会自动查找并执行 'mult-fetch-mcp-server' 包,无需全局安装,推荐使用此方式,配置简单,无需指定 Node.js 路径和项目路径。
- '"args": ["mult-fetch-mcp-server"]': 传递给 'npx' 命令的参数,这里指定要执行的包名为 'mult-fetch-mcp-server'。
- '"env"': 环境变量配置,'MCP_LANG: "zh"' 设置服务器语言为中文,可以根据需要设置为 '"en"' 或删除此行使用默认英文。
注意: 配置完成后,重启 Claude 桌面客户端 使配置生效。
基本使用方法
配置完成后,在 Claude 或其他 MCP 客户端的对话中,你可以直接调用以下工具来抓取网页内容:
- 'fetch_html': 获取网页 HTML 内容。
- 'fetch_json': 获取网页 JSON 数据。
- 'fetch_txt': 获取网页纯文本内容。
- 'fetch_markdown': 获取网页 Markdown 内容。
调用示例 (在 Claude 中)
例如,要获取 'https://example.com' 的 HTML 内容,你可以直接在 Claude 对话框中输入包含工具调用的指令,例如:
请使用 fetch_html 工具获取 https://example.com 的网页内容。
或者更直接地:
工具: fetch_html 参数: { "url": "https://example.com" }
你还可以通过参数控制抓取行为,例如启用调试日志、设置代理、强制使用浏览器模式等。详细参数说明请参考仓库 README 文档。
调试日志查看
当你在调用工具时设置了 '"debug": true' 参数,调试日志会输出到标准错误流 (stderr) 和日志文件 '~/.mult-fetch-mcp-server/debug.log'。你可以通过 MCP 资源 API 读取日志文件内容,例如使用 'resources/read' 方法读取 'file:///logs/debug' 资源。
信息
分类
网页与API