mcpField
M
MCP Website Downloader

MCP Website Downloader

本地服务
github.com/angrysky56浏览器自动化777 周前更新

关于 MCP Website Downloader

MCP Website Downloader 是一个用于下载文档网站并整理为 RAG 索引素材的 MCP 服务,面向需要本地保存网站内容的使用者。它可下载页面及相关资源,并生成索引文件;README 提到链接导航维护尚不完善。

主要功能

  1. 01下载文档网站页面
  2. 02下载 CSS、JS 与图片资源
  3. 03按域名和目录整理文件
  4. 04生成 RAG 索引文件
  5. 05提供单一下载工具接口

适用场景

  1. 01将文档网站保存到本地资料库
  2. 02为 RAG 流程准备网站文件
  3. 03归档页面及其静态资源

MCP 相关

该 MCP 服务向 MCP 客户端提供网站下载工具,可按 URL 下载页面和资源,并将结果保存在指定资料库目录。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MseeP.ai 安全评估徽章

MCP 网站下载器

用于下载文档网站并为 RAG 索引做准备的简单 MCP 服务。

功能

  • 下载完整的文档网站,嗯,至少是大块内容。
  • 保留链接结构和导航,才怪。哈哈。
  • 下载并整理资源(CSS、JS、图像),但并不太适合 AI,可能还需要进行某种解析或向量化,然后存入数据库之类的东西。
  • 为 RAG 系统创建整洁的索引,目前似乎会在每个文件夹中创建一个索引,我甚至都没看过。
  • 简单的单一用途 MCP 接口,没错。

安装

Fork 并下载,然后进入该仓库目录。

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. Fork 仓库
  2. 创建功能分支
  3. 进行更改
  4. 提交拉取请求

许可证

MIT License - 参见 LICENSE 文件

错误处理

该服务会处理常见问题:

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

错误响应遵循以下格式:

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

成功响应:

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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。