使用说明

项目简介

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 模板功能,为未来功能扩展奠定基础。

安装步骤

  1. 安装 Node.js 和 npm: 确保你的系统已安装 Node.js 和 npm (Node 包管理器)。
  2. 克隆仓库: 使用 Git 克隆 'mult-fetch-mcp-server' 仓库到本地:
    git clone https://github.com/lmcc-dev/mult-fetch-mcp-server.git
    cd mult-fetch-mcp-server
  3. 安装依赖: 在仓库目录下运行 npm 命令安装项目依赖:
    npm install
  4. 构建项目: 运行构建命令编译 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