使用说明
项目简介
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 (标准输入输出) 作为服务器与客户端之间的通信协议,部署和运行简便。
安装步骤
- 克隆仓库: 在你的本地计算机上克隆 Fetch MCP Server 仓库:
git clone https://github.com/zcaceres/fetch-mcp.git - 进入仓库目录: 使用 'cd' 命令进入克隆下来的仓库目录:
cd fetch-mcp - 安装依赖: 运行 'npm install' 命令安装项目所需的依赖包:
npm install - 构建项目: 运行 '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'。
基本使用方法
-
启动服务器: 在仓库根目录下,运行以下命令启动 Fetch MCP Server:
npm start这会启动服务器并监听来自 MCP 客户端的请求。服务器默认使用 Stdio 进行通信。
-
客户端配置与连接: 在你的 MCP 客户端应用中,根据上述 “服务器配置” 部分的说明,配置并连接到名为 "fetch" 的 MCP 服务器。
-
调用工具: 一旦客户端成功连接到 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