MCP Node Fetch

MCP Node Fetch

site icon
2025.03.10 10
TypeScript网页内容获取HTML 提取HTTP 请求浏览器自动化
MCP Node Fetch 是一个基于 Node.js undici 库的 MCP 服务器,主要用于从网页获取内容。它支持多种 HTTP 方法、请求头和请求体,并能以多种格式返回内容。该服务适用于需要从网页获取或提取特定内容的场景。
View on GitHub

Overview

基本能力

产品定位

MCP Node Fetch 是一个用于从网页获取内容的 MCP 服务器,特别适合需要自动化获取或提取网页内容的场景。

核心功能

  • 使用多种 HTTP 方法从任何 URL 获取内容
  • 支持请求头和请求体
  • 以多种格式返回内容(文本、JSON、二进制、HTML 片段)
  • 优雅处理错误
  • 可配置超时和重定向行为

适用场景

  • 自动化测试中获取网页内容
  • 数据抓取和分析
  • 网页内容监控
  • 需要提取特定 HTML 片段的场景

工具列表

  1. fetch-url: 从 URL 获取内容
  2. 支持多种 HTTP 方法
  3. 可配置请求头、请求体、超时等
  4. 支持多种响应类型
  5. extract-html-fragment: 使用 CSS 选择器提取特定 HTML 内容
  6. 可定位到特定锚点
  7. 支持多种 HTTP 方法
  8. check-status: 检查 URL 可访问性
  9. 不下载完整内容
  10. 可配置超时

常见问题解答

  • 如何配置超时?通过 timeout 参数设置,单位为毫秒
  • 如何获取 JSON 格式的响应?设置 responseType 为 "json"
  • 如何提取特定 HTML 片段?使用 extract-html-fragment 工具并指定 CSS 选择器

使用教程

使用依赖

需要安装 Node.js 环境

安装教程

  1. 确保已安装 Node.js
  2. 克隆项目或下载源代码
  3. 安装依赖:
npm install
  1. 启动服务:
node dist/index.js

调试方式

  1. 检查服务是否运行:
ps aux | grep node
  1. 测试基本功能:
curl -X POST -H "Content-Type: application/json" -d '{"url":"https://example.com"}' http://localhost:3000/fetch-url
  1. 检查日志输出

Claude for Desktop 配置

claude_desktop_config.json 中添加:

{
  "mcpServers": {
    "node-fetch": {
      "command": "node",
      "args": ["dist/index.js"]
    }
  }
}

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。