Markdown转换服务

一个基于Model Context Protocol (MCP)的服务,用于将HTML、PDF、DOCX等多种格式的内容转换为Markdown格式,支持HTTP/SSE端点集成和Docker部署。

  • by andersonid
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 andersonid/markitdown-mcp

使用说明

MarkItDown MCP 服务器

一个使用微软MarkItDown库的模型上下文协议(MCP)服务器,用于将各种内容格式转换为Markdown。

特点/特性

  • 将HTML、PDF、DOCX、PPTX、XLSX、CSV和纯文本转换为Markdown
  • 从各种格式中提取纯文本
  • 用于与n8n及其他工具集成的HTTP/SSE终端点
  • Docker支持,便于部署
  • 为Coolify准备的配置

快速入门

使用 Docker

  1. 克隆此仓库:
git clone <your-repo-url>
cd markitdown-mcp
  1. 使用 Docker 构建并运行:
docker build -t markitdown-mcp .
docker run -p 3001:3001 markitdown-mcp

使用 Docker Compose

docker-compose up -d

Coolify 部署

  1. 在Coolify中,创建一个新项目
  2. 选择“Docker Compose”作为源
  3. 将此仓库作为源
  4. 更新域名在 coolify.yml 以匹配您的域名
  5. 部署服务

重要的确保禁用gzip压缩功能 /mcp 在Coolify设置中配置路径以确保SSE连接正常工作。

API终端点

健康检查

GET /health

转换为Markdown格式

POST /api/convert
Content-Type: application/json

{
  "content": "<h1>Hello World</h1>",
  "format": "html"
}

提取文本

POST /api/extract
Content-Type: application/json

{
  "content": "<h1>Hello World</h1>",
  "format": "html"
}

MCP SSE 端点

GET /mcp/{clientId}/sse

n8n 集成

  1. 在n8n中,添加一个“MCP客户端”节点
  2. 将SSE终端设置为: http://your-domain.com/mcp/n8n-client/sse
  3. 服务器将提供两种工具:
    • convert_to_markdown将内容转换为Markdown格式
    • extract_text从内容中提取纯文本

支持的格式

  • HTML(超文本标记语言)
  • PDF(Portable Document Format,便携式文档格式)
  • DOCX(Microsoft Word)
  • PPTX(Microsoft PowerPoint)
  • XLSX(Microsoft Excel)
  • CSV(逗号分隔值)
  • 纯文本

环境变量

  • NODE_ENV环境(默认:生产)
  • PORT服务器端口(默认:3001)
  • MCP_SERVER_NAMEMCP服务器名称(默认:markitdown-mcp)
  • DEBUG启用调试日志记录(默认:false)

发展

  1. 安装依赖项:
npm install
  1. 在开发模式下运行:
npm run dev
  1. 为生产构建:
npm run build
npm start

许可证

MIT 许可证 - 详见 LICENSE 文件。