M

MCP Windows 网站下载器

@angrysky56/mcp-windows-website-downloader
0 Stars 447 次浏览 angrysky56 更新于 2026-08-23

该服务器允许用户下载整个网站及其资源以供离线访问,并支持可配置的深度和并发设置。

该服务暂未提供标准配置,请参考 README 手动接入

可用工具 (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"
     ]
   },

替代文本

其他用法无需担心,可能是幻觉哦:哈哈

  1. 启动服务器:
python -m mcp_windows_website_downloader.server --library docs_library
  1. 通过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处理的帮助工具

设计原则

  1. 单一职责

    • 每个模块都有一个明确的目的
    • 服务器处理MCP接口
    • 核心处理下载
    • 工具处理通用操作
  2. 清晰结构

    • 保持原始站点结构
    • 按类型组织资源
    • 为RAG系统创建清晰索引
  3. 强健的操作

    • 正确的错误处理
    • 合理的深度限制
    • 资源下载验证
    • 清洁的URL/路径处理

RAG索引

rag_index.json文件包含:

{
  "url": "https://docs.example.com",
  "domain": "docs.example.com", 
  "pages": 42,
  "path": "/path/to/site"
}

贡献

  1. 分叉仓库
  2. 创建功能分支
  3. 进行更改
  4. 提交拉取请求

许可证

MIT许可证 - 查看LICENSE文件

错误处理

服务器处理常见的问题:

  • 无效的URL
  • 网络错误
  • 资源下载失败
  • 错误格式的HTML
  • 深度递归
  • 文件系统错误

错误响应遵循以下格式:

{
  "status": "error",
  "error": "Detailed error message"
}

成功响应:

{
  "status": "success",
  "path": "/path/to/downloaded/site",
  "pages": 42
}

相关 MCP 服务