MCP 网站下载器是一个简单的 MCP 服务器,可用于下载文档网站,并为 RAG 索引做准备,方便后续使用。
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
result = await server.call_tool("download", {
"url": "https://docs.example.com"
})
具体安装步骤见上文快速开始部分的安装说明。
# 启动服务器
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服务器实现
core.py # 核心网站下载功能
utils.py # 辅助工具
server.py:主要的 MCP 服务器实现,处理工具注册和请求。core.py:核心网站下载功能,负责资源处理。utils.py:辅助工具,用于文件处理和 URL 解析。rag_index.json 文件包含:
{
"url": "https://docs.example.com",
"domain": "docs.example.com",
"pages": 42,
"path": "/path/to/site"
}
服务器处理常见问题:
错误响应示例:
{
"error": {
"code": 500,
"message": "Internal Server Error"
}
}
成功响应示例:
{
"status": {
"code": 200,
"message": "Download completed successfully"
},
"data": {
"downloadedFiles": ["index.html", "about.html", "docs/getting-started.html"],
"totalFiles": 3,
"failedDownloads": []
}
}
本项目采用 MIT License 许可协议,请参阅 LICENSE 文件获取详细信息。