图表生成服务

一个基于Flask的服务器,使用mermaid-cli从Mermaid语法生成图表。

  • by silver0510
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 silver0510/mermail-mcp

使用说明

Mermaid图生成器服务器

一个简单的Flask服务器,使用mermaidcli从Mermaid语法生成图表。

先决条件

  • Python 3.7+
  • Node.js和npm(用于mermaid-cli)
  • mermaid cli已在全球范围内安装: npm install -g @mermaid-js/mermaid-cli

安装

  1. 克隆此存储库
  2. 安装Python依赖项:
    pip install -r requirements.txt
    
  3. 确保全局安装mermaid cli:
    npm install -g @mermaid-js/mermaid-cli
    

运行服务器

使用以下命令启动服务器:

python server.py

默认情况下,服务器运行在 http://localhost:5000.

临时文件

服务器创建了一个名为的本地目录 temp_files 在项目文件夹中用于存储临时文件。这种方法:

  • 避免系统临时目录的权限问题
  • 在虚拟环境中效果更好
  • 自动清理超过30分钟的文件

API使用

web界面

打开浏览器并导航到 http://localhost:5000 使用web界面。

API端点

向发送POST请求 /generate JSON正文包含您的Mermaid图:

{
  "mermaid": "graph TD\nA[Client] --> B[Load Balancer]\nB --> C[Server1]\nB --> D[Server2]",
  "theme": "default",  // optional: default, dark, forest, neutral
  "background": "white" // optional: white, transparent
}

服务器将返回渲染图的PNG图像。

使用curl的示例:

curl -X POST http://localhost:5000/generate \
  -H "Content-Type: application/json" \
  -d '{"mermaid":"graph TD\nA[Client] --> B[Load Balancer]"}' \
  --output diagram.png

测试

运行附带的测试脚本以验证一切正常:

python test.py

这将生成一个示例图并将其另存为 output_diagram.png.

故障排除

如果遇到错误:

  1. 确保您的PATH中已安装并可访问mermaidcli(mmdc)
  2. 检查服务器日志中的特定错误消息
  3. 确保您的Mermaid语法有效
  4. 验证 temp_files 目录存在并且具有适当的权限