使用说明

项目简介

Fetch MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务,专注于提供网页内容抓取和格式转换功能。它通过一系列预定义的 工具 (Tools),允许 LLM 客户端轻松获取指定 URL 的网页内容,并将其转换为 HTML, JSON, 纯文本或 Markdown 等多种格式,从而扩展 LLM 的数据获取和处理能力。

主要功能点

  • 网页内容抓取: 支持从指定的 URL 地址抓取网页内容。
  • 多种内容格式: 提供 HTML, JSON, 纯文本 (去除HTML标签) 和 Markdown 四种内容格式的抓取和转换工具。
  • 自定义请求头: 允许用户自定义 HTTP 请求头 (headers),以满足特定的网页访问需求。
  • 标准 MCP 协议: 遵循 Model Context Protocol 协议,易于集成到任何支持 MCP 协议的 LLM 客户端。
  • Stdio 传输: 使用标准的 Stdio (标准输入输出) 作为服务器与客户端之间的通信协议,部署和运行简便。

安装步骤

  1. 克隆仓库: 在你的本地计算机上克隆 Fetch MCP Server 仓库:
    git clone https://github.com/zcaceres/fetch-mcp.git
  2. 进入仓库目录: 使用 'cd' 命令进入克隆下来的仓库目录:
    cd fetch-mcp
  3. 安装依赖: 运行 'npm install' 命令安装项目所需的依赖包:
    npm install
  4. 构建项目: 运行 'npm run build' 命令编译 TypeScript 代码到 JavaScript:
    npm run build

服务器配置

要将 Fetch MCP Server 集成到 MCP 客户端,你需要在客户端的服务器配置文件中添加以下 JSON 配置。这个配置告诉客户端如何启动和连接到 Fetch MCP Server。

{
  "mcpServers": {
    "fetch": {
      "command": "node",
      "args": [
        "{ABSOLUTE PATH TO FILE HERE}/dist/index.js"
      ]
    }
  }
}
  • 'mcpServers': MCP 客户端用于配置和管理 MCP 服务器的配置 section。
  • 'fetch': 为该 MCP 服务器定义的名称,可以自定义,客户端通过此名称引用该服务器。
  • 'command': 指定启动 MCP 服务器的命令。这里使用 'node' 解释器来运行 JavaScript 代码。
  • 'args': 一个字符串数组,包含传递给 'command' 的参数。
    • '"{ABSOLUTE PATH TO FILE HERE}/dist/index.js"': 请务必将 '{ABSOLUTE PATH TO FILE HERE}' 替换为 'dist/index.js' 文件在你本地文件系统中的绝对路径。 例如,如果你的仓库目录在 '/Users/yourname/fetch-mcp',则应替换为 '/Users/yourname/fetch-mcp/dist/index.js'。

注意: 获取 'dist/index.js' 绝对路径的方法取决于你的操作系统和文件系统结构。你可以通过终端导航到 'dist' 目录并使用 'pwd' 命令 (Linux/macOS) 或 'Get-Location' 命令 (Windows PowerShell) 来获取当前目录的绝对路径,然后手动拼接上 'index.js'。

基本使用方法

  1. 启动服务器: 在仓库根目录下,运行以下命令启动 Fetch MCP Server:

    npm start

    这会启动服务器并监听来自 MCP 客户端的请求。服务器默认使用 Stdio 进行通信。

  2. 客户端配置与连接: 在你的 MCP 客户端应用中,根据上述 “服务器配置” 部分的说明,配置并连接到名为 "fetch" 的 MCP 服务器。

  3. 调用工具: 一旦客户端成功连接到 Fetch MCP Server,你就可以通过客户端界面或 API 调用服务器提供的工具,例如:

    • 调用 'fetch_html' 工具并提供一个 URL,即可获取该 URL 网页的 HTML 源代码。
    • 调用 'fetch_json' 工具并提供一个 JSON 文件 URL,即可获取解析后的 JSON 数据。
    • 调用 'fetch_txt' 工具获取网页的纯文本内容,或调用 'fetch_markdown' 工具将网页内容转换为 Markdown 格式。

    具体的工具调用方法和参数传递方式请参考你的 MCP 客户端应用的使用文档。

示例工具调用 (假设使用 JSON-RPC 直接调用)

以下是一个调用 'fetch_html' 工具的 JSON-RPC 请求示例:

{
  "jsonrpc": "2.0",
  "method": "call_tool",
  "params": {
    "name": "fetch_html",
    "arguments": {
      "url": "https://www.example.com",
      "headers": {
        "User-Agent": "My-MCP-Client"
      }
    }
  },
  "id": 1
}

服务器将返回包含抓取到的 HTML 内容的 JSON-RPC 响应。

信息

分类

网页与API