](https://mseep.ai/app/angrysky56-mcp-windows-website-downloader)
MCP网站下载器
简单的MCP服务器,用于下载文档网站并为RAG索引做准备。
特性
- 下载完整的文档网站,无论如何都是大块的。
- 维护链接结构和导航,不是真的。英雄联盟
- 下载和组织资源(CSS、JS、图像),但并不真正对人工智能友好,这一切可能都需要某种解析或矢量化到数据库或其他东西中。
- 为RAG系统创建干净的索引,目前似乎在每个文件夹中都创建了一个索引,甚至没有查看它。
- 简单的单用途MCP接口,是的。
安装
分叉并下载cd到存储库。
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接口 - 核心处理下载 - Utils处理常见操作
- 清洁结构
- 保持原始网站结构 - 按类型组织资产 - 为RAG系统创建清晰的索引
- 稳健运营
- 正确的错误处理 - 合理的深度限制 - 资产下载验证 - 清理URL/路径处理
RAG指数
这 rag_index.json 文件包含:
{
"url": "https://docs.example.com",
"domain": "docs.example.com",
"pages": 42,
"path": "/path/to/site"
}贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 提交拉取请求
许可证
MIT许可证-请参阅许可证文件
错误处理
服务器处理常见问题:
- URL无效
- 网络错误
- 资产下载失败
- 格式错误的HTML
- 深度递归
- 文件系统错误
错误响应遵循以下格式:
{
"status": "error",
"error": "Detailed error message"
}成功回复:
{
"status": "success",
"path": "/path/to/downloaded/site",
"pages": 42
}