使用说明

项目简介

Fetch MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器,它提供了一组工具,用于从指定的 URL 获取网页内容并进行格式转换。该服务器旨在为大型语言模型 (LLM) 应用提供从互联网上抓取和处理信息的能力。

主要功能点

  • 网页内容抓取: 能够根据提供的 URL 抓取网页的 HTML 源代码。
  • JSON 数据获取: 可以从 URL 获取 JSON 格式的数据,并解析为结构化数据。
  • 纯文本提取: 从网页中提取纯文本内容,去除 HTML 标签、脚本和样式,方便 LLM 理解和处理。
  • Markdown 转换: 将网页内容转换为 Markdown 格式,保留基本的文本格式和结构。
  • 自定义请求头: 支持在发送 HTTP 请求时添加自定义的请求头,以满足更复杂的网页抓取需求。

安装步骤

  1. 克隆仓库: 首先,你需要将仓库克隆到本地:
    git clone https://github.com/MCP-Mirror/zcaceres_fetch-mcp.git
  2. 进入目录: 进入克隆下来的仓库目录:
    cd zcaceres_fetch-mcp
  3. 安装依赖: 使用 npm 安装项目所需的依赖包:
    npm install
  4. 构建项目: 构建 TypeScript 代码到 JavaScript:
    npm run build

服务器配置

要将 Fetch MCP Server 集成到 MCP 客户端应用中,你需要在应用的服务器配置文件中添加以下 JSON 配置。请注意,你需要将 '{ABSOLUTE PATH TO FILE HERE}/dist/index.js' 替换为 'dist/index.js' 文件在你本地文件系统中的绝对路径。

{
  "mcpServers": {
    "fetch": {
      "command": "node",
      "args": [
        "{ABSOLUTE PATH TO FILE HERE}/dist/index.js"  // 请替换为 dist/index.js 文件的绝对路径
      ]
    }
  }
}

配置参数说明:

  • 'server name': 'fetch' (服务器名称,客户端用此名称来引用该服务器)
  • 'command': 'node' (启动服务器的命令,这里使用 Node.js 运行时)
  • 'args': 包含启动参数的数组。
    • '{ABSOLUTE PATH TO FILE HERE}/dist/index.js': 指向编译后的服务器入口文件 'index.js' 的绝对路径。你需要根据你的实际文件路径进行替换。

基本使用方法

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

    npm start

    服务器将通过 stdio 监听 MCP 客户端的请求。

  2. 客户端调用: MCP 客户端可以通过 JSON-RPC 协议调用服务器提供的工具。例如,调用 'fetch_html' 工具获取网页 HTML 内容,需要提供 'url' 参数,可选 'headers' 参数。

    具体的工具调用方法和参数请参考 MCP 客户端的文档和工具定义。例如,客户端可能会发送如下的 JSON-RPC 请求来调用 'fetch_html' 工具:

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

    服务器会返回包含网页 HTML 内容的 JSON-RPC 响应。其他工具('fetch_json', 'fetch_txt', 'fetch_markdown')的使用方法类似,只需更改 'name' 参数和根据工具定义提供相应的参数。

信息

分类

网页与API