mcpField
S
Site Cloner MCP Server

Site Cloner MCP Server

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

关于 Site Cloner MCP Server

Site Cloner MCP Server 为大模型和编码 Agent 提供网页获取与资源处理工具。它可分析页面结构、沿站点链接生成站点地图,并将资源下载到分类整理的本地目录。

主要功能

  1. 01获取网页 HTML
  2. 02提取 CSS、JavaScript、图片和字体链接
  3. 03将资源下载到本地目录
  4. 04解析 CSS 中引用的资源
  5. 05按可配置深度生成站点地图
  6. 06分析页面结构

适用场景

  1. 01收集资源以制作本地网站副本
  2. 02从网站 URL 开始梳理页面
  3. 03检查页面结构及其关联资源

MCP 相关

该 MCP 服务提供获取网页、提取和下载资源、解析 CSS、生成站点地图及分析页面结构的工具。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"site-cloner": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"build"
]
}
}
}
启动命令docker run -i --rm build

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocibuild

工具

还没有获取到工具列表

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

详细介绍

Site Cloner MCP 服务

这是一个 MCP(Model Context Protocol)服务,旨在通过提供获取、分析和下载网站资源的工具,帮助大模型(如 Claude)克隆网站。

功能

  • 从任意 URL 获取 HTML 内容
  • 从 HTML 内容中提取资源(CSS、JavaScript、图片、字体等)
  • 将单个资源下载到本地目录
  • 解析 CSS 文件以提取链接的资源(字体、图片)
  • 创建网站地图
  • 分析页面结构和布局

要求

  • 系统已安装 Docker

用法

使用 Docker 运行
  1. 构建 Docker 镜像:

    docker build -t site-cloner-mcp .
    
  2. 运行容器:

    docker run -i --rm site-cloner-mcp
    

如需持久保存下载的文件,可以挂载卷:

docker run -i --rm -v $(pwd)/downloaded_sites:/app/downloaded_site site-cloner-mcp
连接到 Cursor

在 Cursor 中配置此 MCP 服务有两种方式:

1. 项目专属配置

在项目根目录中创建 .cursor/mcp.json 文件,内容如下:

{
  "mcpServers": {
    "site-cloner": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "site-cloner-mcp"
      ]
    }
  }
}
2. 全局配置

如需在 Cursor 中全局使用此 MCP 服务,请前往 Cursor Settings → MCP → Add new Global MCP Server,并添加以下配置:

{
  "mcpServers": {
    "site-cloner": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "site-cloner-mcp"
      ]
    }
  }
}

可用工具

1. fetch_page

获取网页的 HTML 内容。

Args:
    url: The URL of the webpage to fetch
2. extract_assets

从 HTML 内容中提取资源链接。

Args:
    url: The URL of the webpage (used for resolving relative URLs)
    html_content: The HTML content to parse
3. download_asset

从 URL 下载资源,并将其保存到指定目录。

Args:
    url: The URL of the asset to download
    output_dir: The directory to save the asset to (default: downloaded_site)
4. parse_css_for_assets

解析 CSS 内容,以提取所引用资源(如字体和图片)的 URL。

Args:
    css_url: The URL of the CSS file (used for resolving relative URLs)
    css_content: The CSS content to parse (if None, it will be fetched from css_url)
5. create_site_map

从给定 URL 开始创建网站地图。

Args:
    url: The starting URL to crawl
    max_depth: Maximum depth to crawl (default: 1)
6. analyze_page_structure

分析 HTML 页面的结构并提取关键组成部分。

Args:
    html_content: The HTML content to analyze

与 Claude 搭配使用示例

  1. 请 Claude 克隆网站:“请克隆 example.com 上的网站”
  2. Claude 将使用可用工具来:
    • 获取 HTML 内容
    • 提取资源
    • 下载所需文件
    • 分析结构
    • 创建网站的本地副本

故障排查

Cursor 中未显示服务
  1. 重启 Cursor
  2. 检查配置文件语法
  3. 确保已安装 Docker 且运行正常:docker --version
  4. 查看 Cursor 的 MCP 日志,检查是否有错误:
    • Output → 从下拉菜单中选择 Cursor MCP
  5. 尝试手动运行服务以查看错误:
    docker run -i --rm site-cloner-mcp
    
找不到模块错误

如果遇到“ModuleNotFoundError: No module named 'site_cloner'”错误:

  1. 检查 pyproject.toml 中的包名称是否正确
  2. 确保 Python 文件中的导入语句不包含 "src." 前缀
  3. 修改后重新构建 Docker 镜像:
    docker build --no-cache -t site-cloner-mcp .
    
查看 Docker 日志

如需查看 Docker 日志中的错误:

docker logs $(docker ps -q --filter ancestor=site-cloner-mcp)

备注

  • 服务会根据内容类型(html、css、js、images、fonts、videos、other),自动将下载的资源整理到子目录中
  • 克隆网站时,请注意版权和服务条款的限制
  • 某些网站可能会拦截自动化请求,此时可能需要调整代码中的 user agent 字符串

评论

支持 Markdown

第一次接触 MCP?

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

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