这是一个设计用于帮助大型语言模型(如Claude)通过提供抓取、分析和下载网站资源工具来克隆网站的MCP(模型上下文协议)服务器。
构建Docker镜像:
docker build -t site-cloner-mcp .
运行容器:
docker run -i --rm site-cloner-mcp
为了持久存储下载的文件,你可以挂载一个卷:
docker run -i --rm -v $(pwd)/downloaded_sites:/app/downloaded_site site-cloner-mcp
要在Cursor中设置此MCP服务器,有两个选项:
在你的项目根目录下创建一个.cursor/mcp.json文件,内容如下:
{
"mcpServers": {
"site-cloner": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"site-cloner-mcp"
]
}
}
}
要使MCP服务器在Cursor中全局可用,可以通过进入Cursor 设置 → MCP → 添加新的全局MCP服务器来添加以下配置:
{
"mcpServers": {
"site-cloner": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"site-cloner-mcp"
]
}
}
}
抓取网页的HTML内容。
参数:
url: 要抓取的网页的URL
从HTML内容中提取资源链接。
参数:
url: 网页的URL(用于解析相对URL)
html_content: 要解析的HTML内容
从URL下载资源并保存到指定目录。
参数:
url: 要下载的资源的URL
output_dir: 保存资源的目录(默认:downloaded_site)
解析CSS内容以提取引用资源(如字体和图片)的URL。
参数:
css_url: CSS文件的URL(用于解析相对URL)
css_content: 要解析的CSS内容(如果为None,则会从css_url获取)
从给定的URL开始创建网站的站点地图。
参数:
url: 开始爬取的URL
max_depth: 最大爬取深度(默认:1)
分析HTML页面的结构并提取关键组件。
参数:
html_content: 要分析的HTML内容
docker --version输出 → 从下拉菜单选择Cursor MCPdocker run -i --rm site-cloner-mcp
如果你遇到“ModuleNotFoundError: 没有名为'site_cloner'的模块”错误:
docker build --no-cache -t site-cloner-mcp .
要检查Docker日志中的任何错误:
docker logs $(docker ps -q --filter ancestor=site-cloner-mcp)