Back to MCP directory
publicPublicdnsLocal runtime

Website to Markdown Converter

一个用于网页抓取和HTML转Markdown的命令行工具及MCP服务

article

README

🚀 网站抓取工具

这是一个命令行工具和MCP服务器,可用于抓取网站,并将HTML转换为Markdown,帮助用户更便捷地获取网页内容。

🚀 快速开始

本工具可作为命令行工具和MCP服务器使用,能帮助你轻松抓取网站并转换网页内容。

✨ 主要特性

  • 使用Mozilla的可读性库(与Firefox阅读视图使用相同引擎)提取网页中的有意义内容。
  • 利用TurndownService将干净的HTML转换为高质量的Markdown。
  • 安全处理HTML,移除可能具有危害性的脚本标签。
  • 可作为命令行工具和MCP服务器运行。
  • 支持直接将本地HTML文件转换为Markdown。

📦 安装指南

# 安装依赖项
npm install

# 构建项目
npm run build

# 可选:全局安装
npm install -g .

💻 使用示例

基础用法

命令行模式

# 在控制台输出结果
scrape https://example.com

# 将结果保存到文件中
scrape https://example.com output.md

# 直接转换本地HTML文件为Markdown
scrape --html-file input.html

# 转换本地HTML文件并保存结果
scrape --html-file input.html output.md

# 显示帮助信息
scrape --help

# 或通过npm脚本运行
npm run start:cli -- https://example.com

MCP服务器模式

此工具可以作为模型上下文协议(MCP)服务器使用:

# 以MCP服务器模式启动
npm start

高级用法

// 抓取网站并转为Markdown
import { scrapeToMarkdown } from './build/index.js';

// 直接将HTML字符串转为Markdown
import { htmlToMarkdown } from './build/data_processing.js';

async function 示例() {
  // 网站抓取
  const markdown = await scrapeToMarkdown('https://example.com');
  console.log(markdown);
  
  // 直接转换HTML
  const html = '<h1>你好,世界!</h1><p>这是<strong>粗体</strong>文本。</p>';
  const md = htmlToMarkdown(html);
  console.log(md);
}

📚 详细文档

代码结构

  • src/index.ts - 核心功能和MCP服务器实现。
  • src/cli.ts - 命令行界面实现。
  • src/data_processing.ts - HTML到Markdown转换功能。

API

该工具导出以下函数:

// 抓取网站并转为Markdown
import { scrapeToMarkdown } from './build/index.js';

// 直接将HTML字符串转为Markdown
import { htmlToMarkdown } from './build/data_processing.js';

async function 示例() {
  // 网站抓取
  const markdown = await scrapeToMarkdown('https://example.com');
  console.log(markdown);
  
  // 直接转换HTML
  const html = '<h1>你好,世界!</h1><p>这是<strong>粗体</strong>文本。</p>';
  const md = htmlToMarkdown(html);
  console.log(md);
}

📄 许可证

ISC

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client