mcpField
W
Web Page Fetcher

Web Page Fetcher

本地服务
github.com浏览器自动化326 周前更新

关于 Web Page Fetcher

Web Page Fetcher 是一个 Go 编写的 MCP 服务,可抓取网页并转换为易读的结构化 Markdown,供需要网页内容的 AI 客户端使用,并提供 SSRF 防护和可选的 JavaScript 渲染。

主要功能

  1. 01提取易读的 Markdown
  2. 02保留标题、列表、表格和代码
  3. 03七层 SSRF 防护
  4. 04按域名限流与缓存
  5. 05可选图像处理和 JavaScript 渲染

适用场景

  1. 01在 AI 客户端中阅读文章和文档
  2. 02从新闻网站或论坛提取结构化内容
  3. 03启用渲染后抓取 JavaScript 密集型网页

MCP 相关

该 MCP 服务向兼容 MCP 的客户端提供 URL 抓取和 Markdown 内容。客户端可通过其命令在本地运行服务。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
mcpbpaimon-mcp-fetch-0.1.2-windows-amd64.zip

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

paimon-mcp-fetch

让你的 AI 助手能够读取任意网页。

一个轻量级 MCP 服务,可获取 URL 并返回整洁、易读的 Markdown。使用 Go 构建——5 毫秒即可启动,占用约 10 MB 内存,无运行时依赖。

Release Go Version License


功能

提供一个 URL → 返回整洁的 Markdown。

适用于:

  • 阅读文章、博客文章和文档
  • 从新闻网站、论坛和日程表中提取数据
  • 为 AI 助手总结网页内容
  • 获取结构化输出(保留标题、列表、表格和代码块)

不适用于:

  • 抓取需要登录才能访问的页面
  • 绕过付费墙
  • 替代完整的浏览器自动化工具

快速开始

1. 安装

选择一种方式:

# Go (recommended)
go install github.com/paimonchan/paimon-mcp-fetch/cmd/paimon-mcp-fetch@latest

# Homebrew (macOS/Linux)
brew tap paimonchan/tap
brew install paimon-mcp-fetch

# Scoop (Windows)
scoop bucket add paimonchan https://github.com/paimonchan/scoop-bucket
scoop install paimon-mcp-fetch

# Winget (Windows)
winget install paimonchan.paimon-mcp-fetch

# Docker
docker run -i --rm ghcr.io/paimonchan/paimon-mcp-fetch:latest
2. 配置 AI 助手

将以下内容添加到 MCP 客户端配置中:

{
  "mcp": {
    "paimon-mcp-fetch": {
      "type": "local",
      "command": ["paimon-mcp-fetch"],
      "enabled": true
    }
  }
}
3. 完成

现在,你的 AI 可以读取你提供的任意 URL。


为什么选择它,而不是其他获取工具?

paimon-mcp-fetch基础文本获取工具
输出结构化 Markdown纯文本
文章提取Readability 算法(移除广告、导航栏和侧边栏)原始 HTML 正文
图片可选提取和处理无
JS 渲染可选(无头 Chrome)仅静态内容
缓存内置 LRU 缓存无
速率限制按域名限制,可配置无
SSRF 防护7 层防御无
启动时间约 5 毫秒不定
内存占用约 10 MB不定

配置

所有设置都通过环境变量控制。通常无需更改任何设置——默认值适用于大多数使用场景。

变量默认值功能
PAIMON_MCP_FETCH_TIMEOUT_MS12000请求超时时间(毫秒)
PAIMON_MCP_FETCH_MAX_HTML_BYTES10485760页面大小上限(10 MB)
PAIMON_MCP_FETCH_CACHE_TTL_SECS300缓存时长(5 分钟)
PAIMON_MCP_FETCH_RATE_LIMIT_PER_SECOND5.0每个域名每秒的请求数
PAIMON_MCP_FETCH_RATE_LIMIT_BURST10最大突发请求数
PAIMON_MCP_FETCH_RETRY_MAX_ATTEMPTS3遇到暂时性错误时的重试次数
PAIMON_MCP_FETCH_JS_RENDER_ENABLEDfalse启用无头 Chrome

可选功能

图片处理

从网页中提取并处理图片:

go build -tags image -o paimon-mcp-fetch ./cmd/paimon-mcp-fetch/
JS 渲染

适用于 JavaScript 密集型网站(SPA、动态内容):

go build -tags jsrender -o paimon-mcp-fetch ./cmd/paimon-mcp-fetch/
PAIMON_MCP_FETCH_JS_RENDER_ENABLED=true ./paimon-mcp-fetch

注意: 需要安装 Chrome 或 Chromium。速度较慢(每页约 3–5 秒),但可以处理静态获取无法处理的网站。


支持的 AI 助手

适用于任何兼容 MCP 的客户端。将以下配置添加到客户端的配置文件中。

OpenCode

配置文件: ~/.config/opencode/opencode.json

{
  "mcp": {
    "paimon-mcp-fetch": {
      "type": "local",
      "command": ["paimon-mcp-fetch"],
      "enabled": true
    }
  }
}
Claude Desktop

配置文件: claude_desktop_config.json

{
  "mcpServers": {
    "paimon-mcp-fetch": {
      "command": "paimon-mcp-fetch"
    }
  }
}
Cursor

配置文件: .cursor/mcp.json(项目级)或 ~/.cursor/mcp.json(全局)

{
  "mcpServers": {
    "paimon-mcp-fetch": {
      "command": "paimon-mcp-fetch",
      "env": {}
    }
  }
}
VS Code(GitHub Copilot)

配置文件: .vscode/mcp.json(工作区)或用户设置

{
  "servers": {
    "paimon-mcp-fetch": {
      "type": "stdio",
      "command": "paimon-mcp-fetch"
    }
  }
}
Cline

配置文件: .cline/mcp.json

{
  "mcpServers": {
    "paimon-mcp-fetch": {
      "command": "paimon-mcp-fetch"
    }
  }
}
Windsurf

配置文件: .windsurf/mcp.json

{
  "mcpServers": {
    "paimon-mcp-fetch": {
      "command": "paimon-mcp-fetch"
    }
  }
}
使用自定义配置

所有客户端都支持环境变量。以下示例自定义了超时时间和缓存:

{
  "mcpServers": {
    "paimon-mcp-fetch": {
      "command": "paimon-mcp-fetch",
      "env": {
        "PAIMON_MCP_FETCH_TIMEOUT_MS": "30000",
        "PAIMON_MCP_FETCH_CACHE_TTL_SECS": "600"
      }
    }
  }
}

安全性

从一开始就将安全性纳入设计:

  • SSRF 防护 — 通过 7 层防御抵御服务端请求伪造
  • 私有 IP 屏蔽 — 无法访问 localhost 或内部网络
  • 重定向验证 — 每次重定向跳转都会重新检查安全性
  • 大小限制 — 基于流式读取,避免内存耗尽
  • 超时 — 所有请求均设有截止时间
  • 日志中不记录机密信息 — 永不记录 API 密钥和令牌
Windows 防病毒软件

某些防病毒软件可能会将未签名的 Go 二进制文件误报为威胁。这是业内已知问题。解决方案:

  1. 使用 go install — 防病毒软件会识别已签名的 Go 编译器
  2. 使用 Docker — 无需本地二进制文件
  3. 从源代码构建 — 自行验证代码

架构

基于整洁架构原则构建:

MCP Server → UseCase → Domain (entities, ports)
                        ↑
            Adapters implement interfaces
  • Domain — 业务规则,不依赖任何外部组件
  • UseCase — 编排逻辑
  • Adapters — HTTP 客户端、内容提取器、缓存、速率限制器、图像处理器、JS 渲染器

详情请参阅项目计划。


许可证

MIT — 随你使用。


使用 Go 构建。零运行时依赖。单个二进制文件。约 10MB 内存。5ms 启动。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。