HTML文档生成服务

一个MCP服务器,使LLM能够创建和编辑带有嵌入式样式、图像和视频的HTML文档。

  • by gomcpgo
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 gomcpgo/simple_html_docgen

使用说明

简单HTML文档生成器MCP服务器

MCP服务器,使LLM能够创建和编辑具有嵌入式样式、图像和视频的HTML文档。

特性

  • 使用唯一的、人类可读的ID创建HTML文档
  • 更新现有文档
  • 添加图像和视频(自动复制到文档文件夹)
  • 导出为HTML、PDF或DOCX(需要Pandoc)
  • 列出和检索文档
  • 测试终端模式

文档结构

每个文档都存储在自己的文件夹中:

{ROOT_DIR}/my-document-a3f9/
├── index.html        # HTML with embedded <style>
├── metadata.json     # Document metadata
└── media/            # Images and videos
    ├── image1.png
    └── video1.mp4

文档ID

文档ID由文档名称生成:

  • 输入:“我的报告”
  • 输出:“my-report-a3f9”(模糊名称+4-char随机后缀)

配置

通过环境变量设置根目录:

export SIMPLE_HTML_ROOT_DIR="/path/to/documents"

违约: ~/.simple_html_docs

建筑

./run.sh install  # Install dependencies
./run.sh build    # Build binary to bin/simple_html_docgen

终端模式(测试)

# Create a document
./run.sh create "My Report" "<h1>Hello World</h1><p>This is a test.</p>"

# List documents
./run.sh list

# Get document
./run.sh get my-report-a3f9

# Update document
./run.sh update my-report-a3f9 "<h1>Updated Content</h1>"

# Add media
./run.sh add-media my-report-a3f9 /path/to/image.png image

# Export to PDF
./run.sh export my-report-a3f9 pdf

MCP工具

创建_文档

创建一个新的HTML文档。

参数:

  • name (字符串,必填):文档名称
  • html_content (字符串,必填):HTML内容

退货:

{
  "status": "succeeded",
  "document_id": "my-report-a3f9",
  "name": "My Report",
  "file_path": "/path/to/my-report-a3f9/index.html",
  "created_at": "2024-01-15T10:30:00Z",
  "updated_at": "2024-01-15T10:30:00Z"
}

update_document

更新现有文档的HTML内容。

参数:

  • document_id (字符串,必填):文档ID
  • html_content (字符串,必填):新建HTML内容

add_media

将图像或视频文件添加到文档中。

参数:

  • document_id (字符串,必填):文档ID
  • source_path (字符串,必填):媒体文件的绝对路径
  • media_type (字符串,必填):“图像”或“视频”

退货:

{
  "status": "succeeded",
  "document_id": "my-report-a3f9",
  "relative_path": "media/image1.png",
  "media_type": "image"
}

使用 relative_path 在HTML中:

<img src="media/image1.png" alt="Image">

get_document

按ID检索文档。

参数:

  • document_id (字符串,必填):文档ID

list_文档

列出所有文件。

退货:

{
  "status": "succeeded",
  "count": 2,
  "documents": [
    {
      "document_id": "my-report-a3f9",
      "name": "My Report",
      "file_path": "/path/to/my-report-a3f9/index.html",
      "created_at": "2024-01-15T10:30:00Z",
      "updated_at": "2024-01-15T10:30:00Z"
    }
  ]
}

导出文档

将文档导出为HTML、PDF或DOCX格式。

参数:

  • document_id (字符串,必填):文档ID
  • format (字符串,必填):“html”、“pdf”或“docx”

退货:

{
  "status": "succeeded",
  "document_id": "my-report-a3f9",
  "format": "pdf",
  "output_path": "/path/to/my-report-a3f9/my-report-a3f9.pdf"
}

出口要求

对于PDF和DOCX导出,请安装Pandoc:

macOS:

brew install pandoc
brew install basictex  # For PDF support

Linux:

sudo apt-get install pandoc texlive-xetex

窗户: 下载自https://pandoc.org/installing.html

测试

./run.sh test

建筑

  • cmd/main.go -具有终端模式的入口点
  • pkg/config/ -从env变量配置
  • pkg/document/ -核心文档逻辑
  • pkg/storage/ -文件操作
  • pkg/export/ -导出功能
  • pkg/handler/ -MCP协议实现

许可证

MIT许可证