MCP Windows 网站下载器
该服务器允许用户下载整个网站及其资源以供离线访问,并支持可配置的深度和并发设置。
可用工具 (1 个)
该服务在 MCP 协议中暴露的工具,AI 可按需调用
download 1 个参数 需填 1 项
Download documentation website for RAG indexing
必填参数:url
服务介绍
MCP 网站下载器
一个简单的MCP服务器,用于下载文档网站并为RAG索引做准备。
功能
- 下载完整的文档站点,或者至少是其中的大部分。
- 保持链接结构和导航,其实并不真的如此。哈哈
- 下载并组织资源(CSS、JS、图片),但并不真正对AI友好,可能需要某种解析或向量化到数据库中。
- 为RAG系统创建干净的索引,目前看来是在每个文件夹内创建索引,还没仔细看过这部分。
- 简单单一用途的MCP接口,确实如此。
安装
分叉并下载项目,切换至该仓库目录。
uv venv
./venv/Scripts/activate
pip install -e .
将以下内容添加到你的claude_desktop_config.json文件中,并使用你自己的路径:
"mcp-windows-website-downloader": {
"command": "uv",
"args": [
"--directory",
"F:/GithubRepos/mcp-windows-website-downloader",
"run",
"mcp-windows-website-downloader",
"--library",
"F:/GithubRepos/mcp-windows-website-downloader/website_library"
]
},

其他用法无需担心,可能是幻觉哦:哈哈
- 启动服务器:
python -m mcp_windows_website_downloader.server --library docs_library
- 通过Claude Desktop或其他MCP客户端使用:
result = await server.call_tool("download", {
"url": "https://docs.example.com"
})
输出结构
docs_library/
domain_name/
index.html
about.html
docs/
getting-started.html
...
assets/
css/
js/
images/
fonts/
rag_index.json
开发
服务器遵循标准的MCP架构:
src/
mcp_windows_website_downloader/
__init__.py
server.py # MCP server implementation
core.py # Core downloader functionality
utils.py # Helper utilities
组件
server.py: 主要的MCP服务器实现,处理工具注册和请求core.py: 核心网站下载功能,正确处理资源utils.py: 文件处理和URL处理的帮助工具
设计原则
-
单一职责
- 每个模块都有一个明确的目的
- 服务器处理MCP接口
- 核心处理下载
- 工具处理通用操作
-
清晰结构
- 保持原始站点结构
- 按类型组织资源
- 为RAG系统创建清晰索引
-
强健的操作
- 正确的错误处理
- 合理的深度限制
- 资源下载验证
- 清洁的URL/路径处理
RAG索引
rag_index.json文件包含:
{
"url": "https://docs.example.com",
"domain": "docs.example.com",
"pages": 42,
"path": "/path/to/site"
}
贡献
- 分叉仓库
- 创建功能分支
- 进行更改
- 提交拉取请求
许可证
MIT许可证 - 查看LICENSE文件
错误处理
服务器处理常见的问题:
- 无效的URL
- 网络错误
- 资源下载失败
- 错误格式的HTML
- 深度递归
- 文件系统错误
错误响应遵循以下格式:
{
"status": "error",
"error": "Detailed error message"
}
成功响应:
{
"status": "success",
"path": "/path/to/downloaded/site",
"pages": 42
}