网站克隆工具

一个帮助LLMs克隆网站的工具,提供获取、分析和下载网站资源的功能。

  • by SarthakMishra
  • Python
  • 本地部署
  • 6 星标
  • 更新于
在 GitHub 查看 SarthakMishra/site-cloner

使用说明

站点克隆器MCP服务器

这是一个MCP(模型上下文协议)服务器,旨在通过提供获取、分析和下载网站资产的工具来帮助LLM(如克劳德)克隆网站。

特性

  • 从任何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中设置此MCP服务器,您有两个选项:

1.项目具体配置

创建一个 .cursor/mcp.json 包含以下内容的项目根目录中的文件:

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

2.全局配置

要使MCP服务器在Cursor中全局可用,请通过转到添加以下配置 Cursor Settings → MCP → Add new Global MCP Server:

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

可用工具

1.餐位

获取网页的HTML内容。

Args:
    url: The URL of the webpage to fetch

2.提取资产

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

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

3.下载_资产

从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.创建站点地图

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

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

6.分析页面结构

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

Args:
    html_content: The HTML content to analyze

Claude使用示例

  1. 让克劳德克隆一个网站:“请在example.com上克隆网站”
  2. Claude将使用可用工具:
    • 获取HTML内容
    • 提取资产
    • 下载必要的文件
    • 分析结构
    • 创建站点的本地副本

故障排除

服务器未显示在游标中

  1. 重新启动游标
  2. 检查配置文件语法
  3. 确保Docker已正确安装并运行: docker --version
  4. 查看Cursor的MCP日志以查找错误:
    • Output → 选择 Cursor MCP 来自Dropdown
  5. 尝试手动运行服务器以查看任何错误:
    docker run -i --rm site-cloner-mcp
    

找不到模块错误

如果遇到“ModuleNotFoundError:没有名为'site_cloner'的模块”错误:

  1. 检查pyproject.toml中的包名称是否正确
  2. 确保Python文件中的import语句不包含“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、图像、字体、视频、其他)自动将下载的资产组织到子目录中
  • 克隆网站时,请注意版权和服务条款限制
  • 某些网站可能会阻止自动请求,在这种情况下,您可能需要调整代码中的用户代理字符串