一个简单的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"
})
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"
}
MIT许可证 - 查看LICENSE文件
服务器处理常见的问题:
错误响应遵循以下格式:
{
"status": "error",
"error": "详细的错误信息"
}
成功响应:
{
"status": "success",
"path": "/path/to/downloaded/site",
"pages": 24
}