返回市场
网站转Markdown服务器

网站转Markdown服务器

作者:SunZhi-Will2 星标更新:2025-06-27

项目介绍

🌐 网站到Markdown MCP服务器

<div align="center">

语言: English | 繁體中文

</div>

一个强大的模型上下文协议(MCP)服务器,设计用于抓取网站内容并将其转换为Markdown格式,使AI更容易理解和处理网站信息。

✨ 主要特性

<div align="center">
🌟 增强处理📊 开放API支持⚙️ 智能分析🎯 高级提取
AI驱动的内容清理OpenAPI 3.x/Swagger 2.0阅读时间计算主要内容检测
自动广告移除专业验证字数统计语言检测
内容总结结构化API解析智能重试机制多格式支持
</div>

🆕 v1.2.0 新增功能

<div align="center">

🚀 主要增强

</div>
功能状态描述
🧠 增强内容处理器AI驱动的内容清理和提取
📊 智能分析字数统计、阅读时间、内容总结
🌍 语言检测自动语言识别
🎯 智能重试指数退避的智能重试机制
🔍 隐身浏览器抗检测浏览能力
速率限制内置速率限制和并发控制
🧹 内容清理移除广告、导航和无关内容
📝 增强Markdown支持删除线、下划线、高亮

🚀 快速开始

🎯 方法1:NPX安装(🌟 推荐)

💡 最简单的方式:无需本地安装!

步骤1:创建配置文件 📄

创建一个 my-websites.json 文件:

{
  "websites": [
    {
      "name": "your_website",
      "url": "https://your-website.com",
      "description": "您的项目网站"
    },
    {
      "name": "api_docs",
      "url": "https://api.example.com/openapi.json",
      "description": "您的API规范"
    }
  ]
}

步骤2:配置MCP服务器 ⚙️

添加到 .cursor/mcp.json

{
  "mcpServers": {
    "website-to-markdown": {
      "command": "npx",
      "args": ["-y", "website-to-markdown-mcp"],
      "disabled": false,
      "env": {
        "WEBSITES_CONFIG_PATH": "./my-websites.json"
      }
    }
  }
}

步骤3:重启并测试 🔄

  1. 重启Cursor
  2. 打开聊天并使用代理模式
  3. 测试命令请列出所有已配置的网站
<div align="center">

🎉 完成!无需安装!

</div>

🎯 方法2:本地安装

💡 最佳实践:开发或定制时使用此方法!

步骤1:克隆并构建

git clone https://github.com/your-username/website-to-markdown-mcp.git
cd website-to-markdown-mcp
npm install
npm run build

步骤2:配置MCP服务器

添加到 .cursor/mcp.json

{
  "mcpServers": {
    "website-to-markdown": {
      "command": "cmd",
      "args": ["/c", "node", "./website-to-markdown-mcp/dist/index.js"],
      "disabled": false,
      "env": {
        "WEBSITES_CONFIG_PATH": "./my-websites.json"
      }
    }
  }
}

🔥 增强输出功能

📊 丰富内容分析

每个抓取的内容现在包括:

  • 📝 内容总结:AI生成的主要内容摘要
  • ⏱️ 阅读时间:基于内容长度估算的阅读时间
  • 🔢 字数统计:准确的英文和中文字数统计
  • 🌍 语言检测:自动语言识别
  • 🎯 内容质量评分:评估内容的相关性

📋 增强Markdown输出

# 🚀 示例网站

**来源**:https://example.com
**网站**:example_site - 示例网站
**📊 阅读时间**:5分钟
**🔢 字数统计**:1,250字
**🌍 语言**:英语
**📝 摘要**:本文讨论了最新的网络技术发展...

---

[增强的Markdown内容,更好的格式化...]

🆕 完整的OpenAPI/Swagger支持

<div align="center">

🔥 专业API文档

</div>
功能OpenAPI 3.xSwagger 2.0描述
🔍 自动检测支持JSON/YAML格式
专业验证使用@readme/openapi-parser
📋 结构化解析端点、参数、响应
🔗 引用解析自动处理$ref引用
📊 智能摘要生成API概述
📝 格式化输出可读的Markdown

🌟 预配置示例网站

{
  "websites": [
    {
      "name": "petstore_openapi",
      "url": "https://petstore3.swagger.io/api/v3/openapi.json",
      "description": "🐕 Swagger宠物商店OpenAPI 3.0规范(演示)"
    },
    {
      "name": "petstore_swagger",
      "url": "https://petstore.swagger.io/v2/swagger.json",
      "description": "🐱 Swagger宠物商店Swagger 2.0规范(演示)"
    },
    {
      "name": "github_api",
      "url": "https://raw.githubusercontent.com/github/rest-api-description/main/descriptions/api.github.com/api.github.com.json",
      "description": "🐙 GitHub REST API OpenAPI规范"
    }
  ]
}

📦 安装与设置

🛠️ 系统要求

  • Node.js 20.18.1+(推荐:v22.15.0 LTS)
  • npm 10.0.0+ 或 yarn
  • Cursor 编辑器

⚠️ 重要:某些依赖项需要Node.js v20.18.1或更高版本。如果您遇到引擎兼容性警告,请更新您的Node.js版本。

⚡ NPM包安装

# 全局安装
npm install -g website-to-markdown-mcp

# 或直接使用npx(推荐)
npx website-to-markdown-mcp

🔧 开发设置

# 1. 克隆仓库
git clone https://github.com/your-username/website-to-markdown-mcp.git
cd website-to-markdown-mcp

# 2. 安装依赖
npm install

# 3. 构建项目
npm run build

🎛️ 高级配置选项

<div align="center">

配置优先级顺序

</div>
graph TD
    A[🔍 检查环境变量<br/>WEBSITES_CONFIG_PATH] --> B{文件存在?}
    B -->|是| C[✅ 加载外部配置文件]
    B -->|否| D[🔍 检查环境变量<br/>WEBSITES_CONFIG]
    D --> E{有效JSON?}
    E -->|是| F[✅ 加载嵌入配置]
    E -->|否| G[🔍 检查config.json]
    G --> H{文件存在?}
    H -->|是| I[✅ 加载本地配置]
    H -->|否| J[🔧 使用默认配置]

🎨 配置方法详情

📋 方法1:外部配置文件(🌟 推荐)

💡 优点:易于编辑,语法高亮,适合版本控制

<details> <summary><b>🔧 详细设置步骤</b></summary>
  1. 创建配置文件

    # 可以放在任何位置
    touch my-api-configs.json
    
  2. 编辑配置内容

    {
      "websites": [
        {
          "name": "my_docs",
          "url": "https://docs.example.com",
          "description": "📚 我的文档网站"
        }
      ]
    }
    
  3. 设置环境变量

    {
      "env": {
        "WEBSITES_CONFIG_PATH": "./my-api-configs.json"
      }
    }
    
</details>

📋 方法2:嵌入式JSON(向后兼容)

<details> <summary><b>🔧 配置示例</b></summary>
{
  "mcpServers": {
    "website-to-markdown": {
      "command": "cmd",
      "args": ["/c", "node", "./website-to-markdown-mcp/dist/index.js"],
      "disabled": false,
      "env": {
        "WEBSITES_CONFIG": "{\"websites\":[{\"name\":\"example\",\"url\":\"https://example.com\",\"description\":\"示例网站\"}]}"
      }
    }
  }
}
</details>

📋 方法3:本地config.json

<details> <summary><b>🔧 本地配置</b></summary>

直接编辑项目根目录下的 config.json

{
  "websites": [
    {
      "name": "local_site",
      "url": "https://local.example.com",
      "description": "🏠 本地测试网站"
    }
  ]
}
</details>

🔧 可用工具

🌐 通用工具

工具名称功能参数示例
fetch_website抓取任意网站url: 网站URL抓取OpenAPI规范文件
list_configured_websites列出已配置的网站查看所有可用网站

🎯 专用工具

每个已配置的网站都会自动生成相应的专用工具:

  • fetch_petstore_openapi - 抓取Petstore OpenAPI 3.0规范
  • fetch_petstore_swagger - 抓取Petstore Swagger 2.0规范
  • fetch_github_api - 抓取GitHub API规范
  • fetch_tailwind_css - 抓取Tailwind CSS文档

📊 增强输出格式示例

🌐 一般网站内容与分析

# 网站标题

**来源**:https://example.com
**网站**:example_site - 示例网站
**📊 阅读时间**:3分钟
**🔢 字数统计**:650字
**🌍 语言**:英语
**📝 摘要**:本文提供了现代Web开发实践的全面概述,涵盖了前端框架、后端技术和部署策略。

---

[增强的清理Markdown内容,移除了广告并提取了主要内容...]

📋 OpenAPI 3.x 规范文件

# 🚀 示例API(v2.1.0)

**来源**:https://api.example.com/openapi.json
**OpenAPI版本**:3.0.3
**验证状态**:✅ 有效
**📊 处理时间**:1.2秒
**🔢 端点**:25个端点
**🌍 服务器位置**:3台服务器

---

## 📋 API基本信息

- **API名称**:示例API
- **版本**:2.1.0
- **OpenAPI版本**:3.0.3
- **描述**:适用于现代应用的强大示例API

## 🌐 服务器

1. **https://api.example.com**
   - 🏢 生产服务器
2. **https://staging-api.example.com**
   - 🧪 测试服务器

## 🛠️ API端点

总共有**25**个端点:

### 👥 `/users`
- **GET**:获取用户列表
- **POST**:创建新用户

### 🔍 `/users/{id}`
- **GET**:获取特定用户
- **PUT**:更新用户信息
- **DELETE**:删除用户

## 🧩 组件

- **数据模型**:12个数据模型
- **可复用参数**:8个可复用参数
- **可复用响应**:15个可复用响应
- **安全方案**:3种安全机制

🎯 使用示例

💻 基本使用

请从https://docs.example.com抓取内容并转换为Markdown

🔍 OpenAPI规范抓取

请使用fetch_petstore_openapi工具抓取Petstore OpenAPI规范

📚 文档网站抓取

请抓取React官方文档内容

🚨 故障排除

📋 完整的故障排除指南:参见TROUBLESHOOTING.md以获得常见问题的详细解决方案。

❓ 快速解决方案

<details> <summary><b>🔧 Node.js版本问题</b></summary>

错误npm WARN EBADENGINE 不支持的引擎

  • 解决方案:更新Node.js至v20.18.1或更高版本
  • 下载Node.js官方网站
  • 验证node --version
</details> <details> <summary><b>🌐 模块未找到问题</b></summary>

错误无法找到模块'./db.json'

  • 解决方案1:清除npm缓存:npm cache clean --force
  • 解决方案2:更新Node.js版本
  • 解决方案3:使用本地安装而不是npx
</details> <details> <summary><b>⚙️ 配置问题</b></summary>

Q: 配置更改无效?

  • ✅ 确认JSON格式正确
  • ✅ 重启Cursor
  • ✅ 检查环境变量名称

Q: JSON格式错误?

  • 🛠️ 使用JSON验证器
  • 🛠️ 确保使用双引号
  • 🛠️ 检查多余的逗号
</details>

🔍 调试模式

启动时详细日志输出到stderr:

# 查看调试消息
npm run dev 2> debug.log

📈 性能与优化

⚡ 性能特性

  • 🚀 智能重试:具有指数退避的智能重试
  • 💾 速率限制:内置速率限制以防止过载
  • 🎯 内容过滤:移除无关内容以加快处理速度
  • 🧹 广告移除:自动移除广告和弹窗
  • 📊 隐身模式:抗检测浏览能力

🛡️ 安全考虑

  • 🔒 仅HTTPS网站(推荐)
  • 🛠️ 自动过滤恶意脚本
  • 📝 限制输出内容长度
  • 🔐 使用隐身浏览避免被检测

📦 依赖项

<div align="center">
版本目的
@modelcontextprotocol/sdk^1.0.0MCP核心框架
@readme/openapi-parser^4.1.0专业OpenAPI解析
axios^1.6.0HTTP请求处理
cheerio^1.0.0HTML解析引擎
turndown^7.1.2HTML转Markdown
yaml^2.8.0YAML格式支持
zod^3.22.0数据验证框架
playwright^1.40.0浏览器自动化
</div>

📝 更新日志

🎉 v1.2.0(最新)

<div align="center">

🚀 主要功能更新

</div>
  • 新增 增强内容处理,带有AI驱动的清理
  • 新增 智能分析:字数统计、阅读时间、内容总结
  • 新增 语言检测和多语言支持
  • 新增 抗检测浏览能力
  • 新增 内置速率限制和重试机制
  • 新增 高级内容过滤和广告移除
  • 🔧 增强 更多HTML元素支持的Markdown处理
  • 📊 改进 输出格式,丰富的元数据
  • 🎯 修复 各类技术问题和依赖项

🎯 v1.1.0(上一版)

<div align="center">

🚀 主要功能更新

</div>
  • 新增 完整的OpenAPI 3.x/Swagger 2.0支持
  • 新增 JSON/YAML格式自动检测
  • 新增 专业级别的规范验证和引用解析